Firebase Authentication を使用して一時的な匿名アカウントを作成し、Firebase で認証するために使用できます。これらの一時的な匿名アカウントを使用して、アプリにまだサインアップしていないユーザーが、セキュリティ ルールによって保護されたデータを操作できるようにすることができます。匿名ユーザーがアプリにサインアップすることを決定した場合、サインイン資格情報を匿名アカウントにリンクして、今後のセッションで保護されたデータを引き続き使用できるようにすることができます。
あなたが始める前に
Firebase Authenticationを使用する前に、 Firebase Unity SDK (具体的には
FirebaseAuth.unitypackage
) を Unity プロジェクトに追加する必要があります。Unity プロジェクトに Firebase を追加するで、これらの初期設定手順の詳細な手順を確認してください。
- アプリを Firebase プロジェクトにまだ接続していない場合は、 Firebase コンソールから接続します。
- 匿名認証を有効にします。
- Firebase コンソールで、 Authセクションを開きます。
- [サインイン方法]ページで、匿名サインイン方法を有効にします。
- オプション: プロジェクトをFirebase Authentication with Identity Platformにアップグレードした場合は、自動クリーンアップを有効にできます。この設定を有効にすると、30 日以上経過した匿名アカウントが自動的に削除されます。自動クリーンアップが有効になっているプロジェクトでは、匿名認証は使用制限または請求クォータにカウントされなくなります。自動クリーンアップを参照してください。
Firebase で匿名で認証する
サインアウトしたユーザーが Firebase での認証を必要とするアプリ機能を使用する場合は、次の手順を実行してユーザーを匿名でサインインします。
FirebaseAuth
クラスは、すべての API 呼び出しのゲートウェイです。 FirebaseAuth.DefaultInstanceからアクセスできます。Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;1.
Firebase.Auth.FirebaseAuth.SignInAnonymouslyAsync
を呼び出します。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.FirebaseUser newUser = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", newUser.DisplayName, newUser.UserId); });
匿名アカウントを永久アカウントに変換する
匿名ユーザーがアプリにサインアップするとき、新しいアカウントで作業を継続できるようにすることができます。たとえば、ユーザーがサインアップする前にショッピング カートに追加したアイテムを、新しいアカウントで利用できるようにすることができます。アカウントのショッピング カート。これを行うには、次の手順を実行します。
- ユーザーがサインアップしたら、
Firebase.Auth.FirebaseAuth.SignInWithCredentialAsync
メソッドの 1 つを呼び出すまで、ユーザーの認証プロバイダーのサインイン フローを完了します。たとえば、ユーザーの Google ID トークン、Facebook アクセス トークン、またはメール アドレスとパスワードを取得します。 新しい認証プロバイダーの
Firebase.Auth.Credential
を取得します。Firebase.Auth.Credential
オブジェクトをサインイン ユーザーのLinkWithCredentialAsync
メソッドに渡します。
LinkWithCredentialAsync
の呼び出しが成功すると、ユーザーの新しいアカウントは匿名アカウントの Firebase データにアクセスできます。
自動クリーンアップ
プロジェクトをFirebase Authentication with Identity Platformにアップグレードした場合は、Firebase コンソールで自動クリーンアップを有効にできます。この機能を有効にすると、Firebase は 30 日以上経過した匿名アカウントを自動的に削除します。自動クリーンアップが有効になっているプロジェクトでは、匿名認証は使用制限や課金クォータにカウントされません。
- 自動クリーンアップを有効にした後に作成された匿名アカウントは、作成後 30 日後に自動的に削除される可能性があります。
- 自動クリーンアップを有効にする前に作成された匿名アカウントは、自動クリーンアップを有効にしてから 30 日後に自動削除の対象となります。
- 自動クリーンアップをオフにすると、削除予定の匿名アカウントは削除予定のままになります。これらのアカウントは、使用制限や請求割り当てにはカウントされません。
- 匿名アカウントを任意のサインイン方法にリンクして「アップグレード」した場合、アカウントは自動的に削除されません。
この機能を有効にする前に影響を受けるユーザーの数を確認したい場合で、プロジェクトをFirebase Authentication with Identity Platformにアップグレードした場合は、 Cloud Loggingでis_anon
でフィルタリングできます。
次のステップ
ユーザーが Firebase で認証できるようになったので、 Firebase ルールを使用して、Firebase データベース内のデータへのアクセスを制御できます。