6

Firebase Auth 3.0でユーザーの電子メールを確認できることはわかっていました。 Androidでメール確認に関するドキュメントを見つけることができません。私はiOSとウェブのために同じものを見つけることができますが、Androidのために見つけることはできません。ドキュメントへのリンクは参考になります。画像からAndroidでFirebase 3.0を使用した電子メールの確認

Email Types

、ユーザーがサインイン後、彼は彼のサブスクリプションを確認するメールにそのに関する暗示されることは明らかです。私は自分自身を購読してユーザーセクションでAuthタブで確認しました。私のメールIDとfirebaseが一意のユーザーIDを生成しています。ここで欠けているのは私のメールIDへの確認メールです。誰かがこれを試しましたか、私はこれを早く試してみませんか?ご協力いただきありがとうございます。

+0

が動作を確認するには、I他の2つのメールIDで試してみても確認メールを受け取ることはできません。 – Vijay

+0

質問の状態が変更されました。より最新の回答が利用可能になりました。 – Makoto

答えて

11

更新

メールの検証はversion 9.6 and higher of the Firebase SDK for Androidで利用可能です。

オリジナル回答

電子メールによる確認はまだありません。また、より多くの文脈でhereと答えました。

+0

@FrankvanPuffelen:この回答は[Metaで議論されています](http://meta.stackoverflow.com/q/337366/1079354)。 – Makoto

3

Firebaseチームによって提案された代替は、あなたができる

ことの一つは、子供のようにすべての電子メールアドレスが含まれているあなたのFirebaseデータベースにノードを追加することです。このノードは、(Firebaseのセキュリティルールを使用して)公開のみで読めるようにする必要があります。

アプリ内からユーザーがサインアップ/サインインすると、そのユーザーの電子メールがリストにあるかどうかをチェックし、そうでない場合は、サインアウトしてアプリから蹴り出しますあなたのデータベースに侵入者のメールアドレスを記録することもできるので、誰があなたのアプリにアクセスしようとしているかを後で確認することができます)。

これは、電子メールの検証がAndroidに向かうまで、あなたのアプリをテストしようとする人々の電子メールIDを知っている場合、最初のテストに役立ちます。

1

電子メールの検証が唯一のサインアップが成功した後、createUserWithEmailAndPassword(...)方法のonComplete方法であることウォールドそれを送信するためにEmail/Password authentication、最高の場所で動作しますので。

firebaseAuth.createUserWithEmailAndPassword(email, password) 
       .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
        @Override 
        public void onComplete(@NonNull Task<AuthResult> task) { 
         if (task.isSuccessful()) { 
          sendVerificationEmail(); 
         .... 

カスタムsendVerification方法は次のとおりです。

public void sendVerificationEmail() { 
    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); 

    if (user != null) { 
     user.sendEmailVerification() 
       .addOnCompleteListener(new OnCompleteListener<Void>() { 
        @Override 
        public void onComplete(@NonNull Task<Void> task) { 
         if (task.isSuccessful()) { 
          Toast.makeText(SignUpActivity.this, "Signup successful. 
           Verification email sent", Toast.LENGTH_SHORT).show(); 
         } 
        } 
       }); 
    } 

} 
ユーザーが呼び出すことによって、あなたのアプリケーション内の任意の場所に自分の電子メールを確認した場合は、その後、確認することができ

mAuthListener = new FirebaseAuth.AuthStateListener() { 
     @Override 
     public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 
      firebaseUser = firebaseAuth.getCurrentUser(); 
      if (firebaseUser != null) { 
       Log.e(TAG, firebaseUser.isEmailVerified() ? "User is signed in and email is verified" : "Email is not verified"); 
      } else { 
       Log.e(TAG, "onAuthStateChanged:signed_out"); 
      } 
     } 
    }; 
関連する問題