unityでfirebaseのAuthenticationを用いてログイン処理を行なっています。ログインを行うシーンでは、ログイン後にユーザの情報を取得できるのですが、画面遷移をして他のシーンに移った時にauth.CurrentUserがnullになってしまいます。iosの実機でビルドした際にこの問題が生じるのですが、androidの実機でビルドをした際にはこの問題は生じません。
画面遷移後のシーンでは、
auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Firebase.Auth.FirebaseUser user = auth.CurrentUser;
で現在ログイン中のユーザを取得しようとしています。
firebaseの公式ドキュメントに以下のコードでauthの状況を監視できると書いてあったのでログインを行う画面でこのコードを実行しています。
c#
1void InitializeFirebase() 2 { 3 Debug.Log("Setting up Firebase Auth"); 4 auth = Firebase.Auth.FirebaseAuth.DefaultInstance; 5 auth.StateChanged += AuthStateChanged; 6 AuthStateChanged(this, null); 7 } 8 9 // Track state changes of the auth object. 10 void AuthStateChanged(object sender, System.EventArgs eventArgs) 11 { 12 if (auth.CurrentUser != user) 13 { 14 bool signedIn = user != auth.CurrentUser && auth.CurrentUser != null; 15 if (!signedIn && user != null) 16 { 17 Debug.Log("Signed out " + user.UserId); 18 } 19 user = auth.CurrentUser; 20 if (signedIn) 21 { 22 Debug.Log("Signed in " + user.UserId); 23 } 24 } 25 }
画面遷移した際に、現在のユーザの情報を取得できる方法を教えて頂きたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/23 04:59
2019/08/23 05:35
2019/08/23 07:43