成功注册电子邮件和密码后,我可以自动将电子邮件添加到实时数据库吗?

问题描述 投票:1回答:2

///现在创建帐户到fireBase ///如何将注册的电子邮件添加到我的实时数据库///或者是否可以在注册时获取电子邮件地址?我真的被卡住了

        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(task -> {
                    if (task.isSuccessful()) {

                        //my action

                        sendEmailVerificationMessage();
                        progressDialog.dismiss();

                    } else {
                       //my second action
                    }
                });
android firebase firebase-realtime-database firebase-authentication
2个回答
2
投票

if (task.isSuccessful()) {内,您可以执行以下操作:

DatabaseReference ref= FirebaseDatabase.getInstance().getReference().child("users");
ref.child(mAuth.getCurrentUser().getUid()).child("email").setValue(email);

这将在数​​据库中创建以下内容:

users
  userId
     email: userEmail

1
投票

按下注册按钮后,您将使用createUserWithEmailAndPassword(email,password)...将电子邮件和密码发送到Firebase,此方法有一个回调,将在用户创建时通知,然后在该回调中您可以获取当前登录的用户电子邮件并发送到数据库

由于任务是AuthResult,您可以获取用户并收到要发送的电子邮件

mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(task -> {
                    if (task.isSuccessful()) {

                        //my action

                        mDatabaseRef.child("users").child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("email").setValue(task.getUser().getEmail());
                        progressDialog.dismiss();

                    } else {
                       //my second action
                    }
                });

getUser()FirebaseUser类型,你可以检查你可以要求的

© www.soinside.com 2019 - 2024. All rights reserved.