之前,使用Firebase 2.x,为了添加新用户,我们只需在Firebase参考上调用createUser()
,传递电子邮件,密码和ValueResultHandler
。
使用ValueResultHandler
:
onSuccess(Map<String, Object> result) {}
onError(FirebaseError firebaseError) {}
在onError
中,很容易抓住firebaseError
来处理错误。
像:
if (firebaseError.getCode() == FirebaseError.EMAIL_TAKEN) {}
但是现在使用Firebase SDK 3.0时,Documentation page上显示的内容已发生变化。
但是我们如何进行错误处理呢?例如,已经收到电子邮件的情况?感谢。
答案 0 :(得分:0)
您可以在调用createUserWithEmailAndPassword时添加新方法。 您应该添加方法addOnFailureListener。这是一个代码示例:
mAuth.createUserWithEmailAndPassword(email, password).
addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Log.d(TAG, "createUserWithEmail:onComplete:" + task.isSuccessful());
if (!task.isSuccessful()) {
Toast.makeText(this, R.string.msg_error_auth,
Toast.LENGTH_SHORT).show();
}
}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Here you get the error type
Log.d(TAG + " - On Failure", e.getMessage());
}
});