facebook twitter hatena line email

「Unity/Firebase/Authentication」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(匿名認証を使う場合)
(匿名認証を使う場合)
行34: 行34:
  
 
公式:https://firebase.google.com/docs/auth/unity/anonymous-auth?hl=ja
 
公式:https://firebase.google.com/docs/auth/unity/anonymous-auth?hl=ja
 +
 +
==匿名認証を使う場合==
 +
#web側のfirebaseコンソールでメール認証を有効にする(Authentication/ログイン方法/匿名/有効)
 +
#"ユーザーがメールアドレスとパスワードを使用してログインできるようにします。"側だけon
 +
 +
以下アカウント作成処理
 +
 +
string email = "hogehoge@example.com";
 +
string password = "hogehoge"; // 6文字以上でないとisFaulted側を通る
 +
auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
 +
    // この中はUIが表示できない。
 +
    if (task.IsCanceled)
 +
    {
 +
        Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
 +
        return;
 +
    }
 +
    if (task.IsFaulted)
 +
    {
 +
        Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
 +
        return;
 +
    }
 +
    // Firebase user has been created.
 +
    Firebase.Auth.FirebaseUser newUser = task.Result;
 +
    Debug.LogFormat("Firebase user created successfully: ({0}) ({1})",
 +
                    newUser.DisplayName, newUser.UserId);
 +
});
 +
 +
アカウントを作成してもメールは飛ばない、アカウントを作成した後同じ処理をするとIsFaulted側を通る。

2019年6月22日 (土) 20:05時点における版

Firebase設定

unity/Firebase/基本 [ショートカット]

認証プラグインインストール

FirebaseAuth.unitypackageをAssets/Importからインストールする

https://firebase.google.com/download/unity?hl=ja

匿名認証を使う場合

  1. web側のfirebaseコンソールで匿名認証を有効にする(Authentication/ログイン方法/匿名/有効)

以下を実装

Firebase.Auth.FirebaseAuth auth = Firebase.Auth.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.FirebaseUser newUser = task.Result;
  Debug.Log("User signed in successfully");
  Debug.Log("user=" + newUser.DisplayName); // 匿名では空だった
  Debug.Log("user=" + newUser.UserId); // こちらはX3TUGaMPQPaN1rmGL2CxhQ4z4712と表示
});

再起動やキャッシュ削除してもUserIdは変わらないが、アプリデータ削除や再インストールではUserIdは変わる。

公式:https://firebase.google.com/docs/auth/unity/anonymous-auth?hl=ja

匿名認証を使う場合

  1. web側のfirebaseコンソールでメール認証を有効にする(Authentication/ログイン方法/匿名/有効)
  2. "ユーザーがメールアドレスとパスワードを使用してログインできるようにします。"側だけon

以下アカウント作成処理

string email = "hogehoge@example.com"; string password = "hogehoge"; // 6文字以上でないとisFaulted側を通る auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {

   // この中はUIが表示できない。
   if (task.IsCanceled)
   {
       Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
       return;
   }
   if (task.IsFaulted)
   {
       Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
       return;
   }
   // Firebase user has been created.
   Firebase.Auth.FirebaseUser newUser = task.Result;
   Debug.LogFormat("Firebase user created successfully: ({0}) ({1})",
                   newUser.DisplayName, newUser.UserId);

});

アカウントを作成してもメールは飛ばない、アカウントを作成した後同じ処理をするとIsFaulted側を通る。