Melakukan Autentikasi Menggunakan Login dengan Google dan Unity
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Anda dapat mengizinkan pengguna melakukan autentikasi dengan Firebase menggunakan Akun Google mereka dengan
mengintegrasikan Login dengan Google ke dalam aplikasi Anda.
Sebelum memulai
Sebelum dapat menggunakan
Firebase Authentication,
Anda perlu:
Mendaftarkan project Unity Anda dan mengonfigurasikannya agar dapat menggunakan Firebase.
Jika project Unity Anda telah menggunakan Firebase, berarti project tersebut telah terdaftar dan dikonfigurasi untuk Firebase.
Jika belum memiliki project Unity, Anda dapat mendownload aplikasi contoh.
Tambahkan Firebase Unity SDK (khususnya, FirebaseAuth.unitypackage
) ke
project Unity Anda.
Perlu diperhatikan bahwa penambahan Firebase ke project Unity Anda memerlukan tindakan baik di
Firebase console maupun di project Unity yang terbuka
(misalnya, Anda mendownload file konfigurasi Firebase dari konsol, lalu memindahkannya
ke project Unity).
Mengakses class Firebase.Auth.FirebaseAuth
Class
FirebaseAuth
adalah gateway untuk semua panggilan API.
Class ini dapat diakses melalui
FirebaseAuth.DefaultInstance.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Melakukan Autentikasi dengan Firebase
- Ikuti petunjuk untuk Android dan iOS+ guna mendapatkan token ID untuk fungsi login dengan Google.
- Setelah pengguna berhasil login, tukarkan token akses dengan kredensial Firebase, lalu lakukan autentikasi dengan Firebase menggunakan kredensial Firebase:
Firebase.Auth.Credential credential =
Firebase.Auth.GoogleAuthProvider.GetCredential(googleIdToken, googleAccessToken);
auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task => {
if (task.IsCanceled) {
Debug.LogError("SignInAndRetrieveDataWithCredentialAsync was canceled.");
return;
}
if (task.IsFaulted) {
Debug.LogError("SignInAndRetrieveDataWithCredentialAsync encountered an error: " + task.Exception);
return;
}
Firebase.Auth.AuthResult result = task.Result;
Debug.LogFormat("User signed in successfully: {0} ({1})",
result.User.DisplayName, result.User.UserId);
});
Langkah Berikutnya
Setelah pengguna login untuk pertama kalinya, akun pengguna baru akan dibuat dan ditautkan ke kredensial, yaitu nama pengguna dan sandi, nomor telepon, atau informasi penyedia autentikasi, yang digunakan pengguna tersebut untuk login. Akun baru ini disimpan sebagai bagian dari project Firebase Anda, dan dapat digunakan untuk mengidentifikasi pengguna di setiap aplikasi dalam project, terlepas dari cara pengguna login.
-
Di aplikasi, Anda bisa mendapatkan informasi profil dasar pengguna dari objek
Firebase.Auth.FirebaseUser
:
Firebase.Auth.FirebaseUser user = auth.CurrentUser;
if (user != null) {
string name = user.DisplayName;
string email = user.Email;
System.Uri photo_url = user.PhotoUrl;
// The user's Id, unique to the Firebase project.
// Do NOT use this value to authenticate with your backend server, if you
// have one; use User.TokenAsync() instead.
string uid = user.UserId;
}
Di Aturan Keamanan
Firebase Realtime Database dan Cloud Storage, Anda bisa
mendapatkan ID pengguna unik milik pengguna yang login dari variabel auth
,
dan menggunakannya untuk mengontrol data yang dapat diakses oleh pengguna.
Anda dapat mengizinkan pengguna untuk login ke aplikasi menggunakan beberapa penyedia
autentikasi dengan menautkan kredensial penyedia autentikasi ke
akun pengguna yang ada.
Untuk memproses logout pengguna, panggil SignOut()
:
auth.SignOut();
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-08 UTC.
[null,null,["Terakhir diperbarui pada 2025-08-08 UTC."],[],[],null,["You can let your users authenticate with Firebase using their Google Accounts by\nintegrating Google Sign-In into your app.\n\nBefore you begin\n\nBefore you can use\n[Firebase Authentication](/docs/reference/unity/namespace/firebase/auth),\nyou need to:\n\n- Register your Unity project and configure it to use Firebase.\n\n - If your Unity project already uses Firebase, then it's already\n registered and configured for Firebase.\n\n - If you don't have a Unity project, you can download a\n [sample app](//github.com/google/mechahamster).\n\n- Add the [Firebase Unity SDK](/download/unity) (specifically, `FirebaseAuth.unitypackage`) to\n your Unity project.\n\n| **Find detailed instructions for these initial\n| setup tasks in\n| [Add Firebase to your Unity project](/docs/unity/setup#prerequisites).**\n\nNote that adding Firebase to your Unity project involves tasks both in the\n[Firebase console](//console.firebase.google.com/) and in your open Unity project\n(for example, you download Firebase config files from the console, then move\nthem into your Unity project).\n\nAccess the `Firebase.Auth.FirebaseAuth` class The `FirebaseAuth` class is the gateway for all API calls. It is accessible through [FirebaseAuth.DefaultInstance](/docs/reference/unity/class/firebase/auth/firebase-auth#defaultinstance). \n\n```c#\nFirebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;\n```\n\nAuthenticate with Firebase\n\n1. Follow instructions for [Android](/docs/auth/android/google-signin#authenticate_with_firebase) and [iOS+](/docs/auth/ios/google-signin#2_implement_google_sign-in) to get an ID token for the Google sign in.\n2. After a user successfully signs in, exchange the access token for a Firebase credential, and authenticate with Firebase using the Firebase credential: \n\n ```c#\n Firebase.Auth.Credential credential =\n Firebase.Auth.GoogleAuthProvider.GetCredential(googleIdToken, googleAccessToken);\n auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task =\u003e {\n if (task.IsCanceled) {\n Debug.LogError(\"SignInAndRetrieveDataWithCredentialAsync was canceled.\");\n return;\n }\n if (task.IsFaulted) {\n Debug.LogError(\"SignInAndRetrieveDataWithCredentialAsync encountered an error: \" + task.Exception);\n return;\n }\n\n Firebase.Auth.AuthResult result = task.Result;\n Debug.LogFormat(\"User signed in successfully: {0} ({1})\",\n result.User.DisplayName, result.User.UserId);\n });\n ```\n\nNext Steps\n\nAfter a user signs in for the first time, a new user account is created and\nlinked to the credentials---that is, the user name and password, phone\nnumber, or auth provider information---the user signed in with. This new\naccount is stored as part of your Firebase project, and can be used to identify\na user across every app in your project, regardless of how the user signs in.\n\n- In your apps, you can get the user's basic profile information from the\n [`Firebase.Auth.FirebaseUser`](/docs/reference/unity/class/firebase/auth/firebase-user) object:\n\n ```c#\n Firebase.Auth.FirebaseUser user = auth.CurrentUser;\n if (user != null) {\n string name = user.DisplayName;\n string email = user.Email;\n System.Uri photo_url = user.PhotoUrl;\n // The user's Id, unique to the Firebase project.\n // Do NOT use this value to authenticate with your backend server, if you\n // have one; use User.TokenAsync() instead.\n string uid = user.UserId;\n }\n ```\n- In your Firebase Realtime Database and Cloud Storage\n [Security Rules](/docs/database/security/user-security), you can\n get the signed-in user's unique user ID from the `auth` variable,\n and use it to control what data a user can access.\n\nYou can allow users to sign in to your app using multiple authentication\nproviders by [linking auth provider credentials to an\nexisting user account.](/docs/auth/unity/account-linking)\n\nTo sign out a user, call [`SignOut()`](/docs/reference/unity/class/firebase/auth/firebase-auth#signout): \n\n```c#\nauth.SignOut();\n```"]]