Melakukan Autentikasi dengan Firebase secara Anonim menggunakan Unity
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Anda dapat menggunakan Firebase Authentication untuk membuat dan menggunakan akun anonim sementara untuk melakukan autentikasi dengan Firebase. Dengan akun anonim sementara ini, pengguna yang belum mendaftar ke aplikasi Anda dapat menggunakan data yang dilindungi oleh aturan keamanan. Jika pengguna anonim memutuskan untuk mendaftar ke aplikasi Anda, tautkan kredensial login mereka ke akun anonim tersebut agar mereka dapat terus menggunakan data yang dilindungi tersebut pada sesi-sesi selanjutnya.
Di halaman Sign-in Methods, aktifkan metode login Anonymous.
Opsional: Jika Anda telah mengupgrade project ke
Firebase Authentication with Identity Platform, Anda dapat mengaktifkan pembersihan otomatis. Saat setelan ini diaktifkan, akun anonim yang berusia lebih dari 30 hari akan otomatis dihapus. Dalam project yang mengaktifkan pembersihan otomatis, autentikasi anonim tidak akan diperhitungkan lagi dalam batas penggunaan atau kuota penagihan. Lihat Pembersihan otomatis.
Melakukan autentikasi dengan Firebase secara anonim
Ketika pengguna yang tidak login menggunakan fitur aplikasi yang mengharuskan autentikasi menggunakan Firebase, buat agar pengguna tersebut login secara anonim dengan mengikuti langkah-langkah berikut:
Class FirebaseAuth adalah gateway untuk semua panggilan API.
Class ini dapat diakses melalui FirebaseAuth.DefaultInstance.
auth.SignInAnonymouslyAsync().ContinueWith(task=>{if(task.IsCanceled){Debug.LogError("SignInAnonymouslyAsync was canceled.");return;}if(task.IsFaulted){Debug.LogError("SignInAnonymouslyAsync encountered an error: "+task.Exception);return;}Firebase.Auth.AuthResultresult=task.Result;Debug.LogFormat("User signed in successfully: {0} ({1})",result.User.DisplayName,result.User.UserId);});
Mengubah akun anonim menjadi akun permanen
Ketika pengguna anonim mendaftar ke aplikasi, Anda dapat mengizinkannya melanjutkan aktivitas dengan akun yang baru dibuat. Misalnya, Anda mungkin menginginkan agar item yang ditambahkan pengguna ke keranjang belanja sebelum mendaftar tersedia di keranjang belanja pengguna pada akun yang baru. Caranya, ikuti langkah-langkah berikut:
Ketika pengguna mendaftar, selesaikan alur login untuk penyedia autentikasi pengguna tersebut hingga, tetapi sebelum, memanggil salah satu metode Firebase.Auth.FirebaseAuth.SignInAndRetrieveDataWithCredentialAsync. Misalnya, dapatkan token ID Google, token akses Facebook, atau alamat email dan sandi pengguna tersebut.
Dapatkan Firebase.Auth.Credential untuk penyedia autentikasi baru:
Teruskan objek Firebase.Auth.Credential ke metode LinkWithCredentialAsync pengguna yang login:
Jika panggilan ke LinkWithCredentialAsync berhasil, akun baru pengguna dapat mengakses data Firebase akun anonim.
Pembersihan otomatis
Jika Anda telah mengupgrade project ke Firebase Authentication with Identity Platform, Anda dapat mengaktifkan pembersihan otomatis di Firebase console. Jika fitur ini diaktifkan, Firebase akan otomatis menghapus akun anonim yang berusia lebih dari 30 hari. Dalam project yang mengaktifkan pembersihan otomatis, autentikasi anonim tidak akan diperhitungkan dalam batas penggunaan atau kuota penagihan.
Setiap akun anonim yang dibuat setelah pembersihan otomatis diaktifkan dapat otomatis dihapus dalam waktu 30 hari setelah dibuat.
Akun anonim yang ada akan memenuhi syarat untuk penghapusan otomatis 30 hari setelah pembersihan otomatis diaktifkan.
Jika Anda menonaktifkan pembersihan otomatis, akun anonim yang dijadwalkan untuk dihapus akan tetap dijadwalkan untuk dihapus.
Jika Anda "mengupgrade" akun anonim dengan menautkannya ke metode login apa pun, akun tersebut tidak akan otomatis dihapus.
Jika ingin melihat jumlah pengguna yang akan
terkena dampaknya jika Anda mengaktifkan fitur ini, dan Anda telah
mengupgrade project ke Firebase Authentication with Identity Platform, Anda dapat memfilter berdasarkan
is_anon di Cloud
Logging.
Langkah berikutnya
Setelah pengguna dapat melakukan autentikasi dengan Firebase, Anda dapat mengontrol akses mereka ke data di database Firebase Anda menggunakan aturan Firebase.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-08 UTC."],[],[],null,["You can use Firebase Authentication to create and use temporary anonymous accounts\nto authenticate with Firebase. These temporary anonymous accounts can be used to\nallow users who haven't yet signed up to your app to work with data protected\nby security rules. If an anonymous user decides to sign up to your app, you can\n[link their sign-in credentials to the anonymous\naccount](/docs/auth/unity/account-linking) so that they can continue to work with their protected data in\nfuture sessions.\n\nBefore you begin\n\n1. Before you can use\n [Firebase Authentication](/docs/reference/unity/namespace/firebase/auth),\n you need to add the [Firebase Unity SDK](/download/unity) (specifically,\n `FirebaseAuth.unitypackage`) to your Unity project.\n\n \u003cbr /\u003e\n\n \u003cbr /\u003e\n\n **Find detailed instructions for these initial setup steps in\n [Add Firebase to your\n Unity project](/docs/unity/setup#set_up_environment).**\n2. If you haven't yet connected your app to your Firebase project, do so from the [Firebase console](//console.firebase.google.com/).\n3. Enable anonymous auth:\n 1. In the [Firebase console](//console.firebase.google.com/), open the **Auth** section.\n 2. On the **Sign-in Methods** page, enable the **Anonymous** sign-in method.\n 3. **Optional** : If you've upgraded your project to [Firebase Authentication with Identity Platform](/auth#identity-platform), you can enable automatic clean-up. When you enable this setting, anonymous accounts older than 30 days will be automatically deleted. In projects with automatic clean-up enabled, anonymous authentication will no longer count toward usage limits or billing quotas. See [Automatic clean-up](#auto-cleanup).\n\nAuthenticate with Firebase anonymously\n\nWhen a signed-out user uses an app feature that requires authentication with\nFirebase, sign in the user anonymously by completing the following steps:\nThe `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```\n1. Call `Firebase.Auth.FirebaseAuth.SignInAnonymouslyAsync`. \n\n```c#\nauth.SignInAnonymouslyAsync().ContinueWith(task =\u003e {\n if (task.IsCanceled) {\n Debug.LogError(\"SignInAnonymouslyAsync was canceled.\");\n return;\n }\n if (task.IsFaulted) {\n Debug.LogError(\"SignInAnonymouslyAsync 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\n\u003cbr /\u003e\n\n| To protect your project from abuse, Firebase limits the number of new email/password and anonymous sign-ups that your application can have from the same IP address in a short period of time. You can request and schedule temporary changes to this quota from the [Firebase console](//console.firebase.google.com/project/_/authentication/providers).\n\nConvert an anonymous account to a permanent account\n\nWhen an anonymous user signs up to your app, you might want to allow them to\ncontinue their work with their new account---for example, you might want to\nmake the items the user added to their shopping cart before they signed up\navailable in their new account's shopping cart. To do so, complete the following\nsteps:\n\n1. When the user signs up, complete the sign-in flow for the user's authentication provider up to, but not including, calling one of the [`Firebase.Auth.FirebaseAuth.SignInAndRetrieveDataWithCredentialAsync`](/docs/reference/unity/class/firebase/auth/firebase-auth#signinandretrievedatawithcredentialasync) methods. For example, get the user's Google ID token, Facebook access token, or email address and password.\n2. Get an `Firebase.Auth.Credential` for the new authentication provider:\n\n3. Pass the `Firebase.Auth.Credential` object to the sign-in user's\n `LinkWithCredentialAsync` method:\n\nIf the call to `LinkWithCredentialAsync` succeeds, the user's new account can\naccess the anonymous account's Firebase data.\n| This technique can also be used to [link any two accounts](/docs/auth/unity/account-linking).\n\nAutomatic clean-up\n\nIf you've upgraded your project to [Firebase Authentication with Identity Platform](/docs/auth#identity-platform), you can\nenable automatic clean-up in the Firebase console. When you enable this feature you allow\nFirebase to automatically delete anonymous accounts older than 30 days. In projects with automatic\nclean-up enabled, anonymous authentication will not count toward usage limits or billing quotas.\n\n- Any anonymous accounts created after enabling automatic clean-up might be automatically deleted any time after 30 days post-creation.\n- Existing anonymous accounts will be eligible for automatic deletion 30 days after enabling automatic clean-up.\n- If you turn automatic clean-up off, any anonymous accounts scheduled to be deleted will remain scheduled to be deleted.\n- If you \"upgrade\" an anonymous account by linking it to any sign-in method, the account will not get automatically deleted.\n\nIf you want to see how many users will be affected before you enable this feature, and you've\nupgraded your project to [Firebase Authentication with Identity Platform](/docs/auth#identity-platform), you can filter by\n`is_anon` in [Cloud\nLogging](https://cloud.google.com/logging/docs).\n\nNext steps\n\nNow that users can authenticate with Firebase, you can control their access to\ndata in your Firebase database using\n[Firebase rules](/docs/database/security#section-authorization)."]]