概要:
ワンタイム ログイン メカニズムの実現Firebase Authentication を使用するアプリでは、アプリを閉じた後でもユーザーはログインしたままになります。再開しました。これにより、ユーザー エクスペリエンスが簡素化され、ログイン画面を繰り返す必要がなくなります。
実装:
FirebaseAuth AuthStateListener の使用
シングルタイム ログイン、FirebaseAuth を実装するAuthStateListenerを使用することができます。このリスナーは認証状態の変化を監視し、ユーザーのログイン イベントとログアウト イベントを処理できるようにします。
LoginActivity:
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); if (firebaseUser != null) { // If user logged in, redirect to MainActivity // Remove current view to prevent re-displaying LoginActivity startActivity(new Intent(LoginActivity.this, MainActivity.class)); finish(); } } };
@Override protected void onStart() { super.onStart(); firebaseAuth.addAuthStateListener(authStateListener); }
MainActivity:
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); if (firebaseUser == null) { // If user not logged in, redirect to LoginActivity // Remove background activity to ensure single-time login startActivity(new Intent(MainActivity.this, LoginActivity.class)); } } };
@Override protected void onStart() { super.onStart(); firebaseAuth.addAuthStateListener(authStateListener); }
@Override protected void onStop() { super.onStop(); firebaseAuth.removeAuthStateListener(authStateListener); }
注:
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
以上がAndroid で Firebase Authentication を使用したシングルタイム ログインを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。