Это метод регистрации нового пользователя, и после регистрации я использую идентификатор пользователя для добавления данных пользователя в базу данных:
public void registerNewEmail(final String email, String password, final TextInputLayout mEmailInputTextLayout, final TextInputLayout mPasswordInputLayout, final String firstName, final String lastName){
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.d(TAG, "register user : starting ");
Log.d(TAG, "createUserWithEmail:success");
FirebaseUser user = mAuth.getCurrentUser();
assert user != null;
userID = user.getUid();
Log.d(TAG, "UserID: " + userID);
Toast.makeText(mContext,"Sign Up was Successful", Toast.LENGTH_SHORT).show();
sendVerificationEmail();
addNewUser(firstName, lastName, email, userID);
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "createUserWithEmail:failure", task.getException());
if(task.getException() instanceof FirebaseAuthUserCollisionException){
mEmailInputTextLayout.setError(mContext.getString(R.string.email_already_used_error));
}
if(task.getException() instanceof FirebaseAuthWeakPasswordException){
mPasswordInputLayout.setError(mContext.getString(R.string.weak_password));
}
mProgressBar.setVisibility(View.GONE);
}
}
});
}
Это метод, в котором я использовал ссылку на firestore для добавления данных в базу данных firebase:
/*
* Add new usser to Database
* */
private void addNewUser(String firstName,String lastName,String email,String userID){
String name = firstName + " " + lastName;
User user = new User(name,email);
Log.d(TAG, "addNewUser: " + "userID: " + userID);
mRef.collection(mContext.getString(R.string.DB_users)).document(userID).set(user);
mAuth.signOut();
((Activity)mContext).finish();
}