当我们使用 Firebase for android 注册时,如何验证由 Google 验证的电子邮件 ID?

sun*_*wat -2 java android firebase firebase-authentication

当用户SIGN-IN METHOD在 android 中使用 Firebase 电子邮件/密码注册时,我们如何验证他们的电子邮件?

Ale*_*ros 5

对于 Android 电子邮件验证,首先您可以在此处查看 firebase 的文档。

向用户发送验证电子邮件

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

user.sendEmailVerification()
    .addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                Log.d(TAG, "Email Sent.");
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

每当用户注册时,在我的应用程序中都会sendEmailVerification();触发

 private void sendEmailVerification() {

    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

    user.sendEmailVerification()
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                      Log.d(TAG, "Email verification sent.");                  
                    }
                }
            });
}
Run Code Online (Sandbox Code Playgroud)

使用之前的方法,您的用户现在将收到一封验证电子邮件。它看起来很像这样

在此处输入图片说明

他们是否验证了他们的电子邮件?

 private void IsEmailVerified() {

    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

    if (user.isEmailVerified()) {
           Log.d(TAG, "Email is verified.");
    } else {
          Log.d(TAG, "Email is not verified !.");
    }

}
Run Code Online (Sandbox Code Playgroud)

遗憾的是,您可能无法自定义验证电子邮件的内容/正文(我一直与 Firebase 保持密切联系,以提供替代性不那么丑陋的模板)。您可以更改标题或消息发件人 ID,但仅此而已。

除非您将您的应用程序与您自己支持的 Web 重新链接。在这里