AndroidでFirebase
、機能でFirebase Auth
を使用します。AndroidのFirebase:Firebaseの認証に失敗した理由を確認するには?
私はFirebaseAuth.signInWithEmailAndPassword
を試します。失敗した場合は、「なぜsignInプロセスが失敗したのですか」を知りたいのですが?
signInWithEmailAndPassword
のメソッドはaddOnFailureListener
APIです。 そしてonFailure
コールバックメソッドでException
(多分FirebaseAuthException
)を捕まえることができます。
auth.signInWithEmailAndPassword(loginRequest.id, loginRequest.password)
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
if (e instanceof FirebaseAuthException) {
((FirebaseAuthException) e).getErrorCode());
}
}
});
SignIn処理が失敗した理由を知りたい。 onFailure
。
は、私は次のように行うことができると思う:
e
インスタンスタイプチェック(電子INSTANCEOFFirebaseAuthInvalidUserException
またはFirebaseAuthInvalidCredentialsException
か,,,)e.getErrorCode()
私が入力したくありませんチェック(汚れている)。
私は選択肢2の方法を好む。しかし、私はe.getErrorCode()
戻り値のコレクションの定義を見つけることができませんでした。 (それが定義されている?) 例えばERROR_INVALID_EMAIL
、ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL
など
Firebase auth failed
の理由を確認するための最良の方法である私に教えてください。
ありがとうございました。
これらのエラーコードで使用できるパブリック静的文字列定数はありますか? (例えばFirebaseAuthUserCollisionException.ERROR_EMAIL_ALREADY_IN_USE) – shaunkawano
そうは思わない。適切な実装は@ Lancelotの答えと同じです。あなたの第一の選択肢。それぞれの例外を別々に処理するのは汚れていない方が良いです。 2番目を選択しても、それぞれのケースを処理します。それは同じ量のコードのようです。 – uguboz
あなたの情報をお寄せいただきありがとうございます。文字定数を宣言していただきありがとうございますが、定数が既に宣言されている場合はオートコンプリートで時間が節約されるため、文字列値を自分で入力するよりも安全です。あなた自身でそれらの弦。 – shaunkawano