Могу ли я автоматически добавить электронную почту в базу данных в реальном времени после успешной регистрации по электронной почте и паролю? - PullRequest
1 голос
/ 14 апреля 2019

/// создать учетную запись для FireBase сейчас /// как добавить зарегистрированное письмо в мою базу данных в реальном времени /// Или можно получить адрес электронной почты при регистрации? Я действительно застрял

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

                        //my action

                        sendEmailVerificationMessage();
                        progressDialog.dismiss();

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

Ответы [ 2 ]

2 голосов
/ 14 апреля 2019

Внутри if (task.isSuccessful()) { вы можете сделать следующее:

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

Это создаст в базе данных следующее:

users
  userId
     email: userEmail
1 голос
/ 14 апреля 2019

После того, как вы нажмете кнопку регистрации, вы отправите электронное письмо и пароль в Firebase с createUserWithEmailAndPassword(email,password)..., у этого метода есть обратный вызов, который будет уведомлять, когда пользователь был создан, тогда внутри этого обратного вызова вы можете получить текущий вход в систему.электронная почта пользователя и отправка ее в базу данных

Поскольку задание является 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 , вы можете проверить, что вы можете запросить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...