Uso le funzioni Firebase
su Android e Firebase Auth
.Firebase su Android: come verificare il motivo dell'autenticazione Firebase non riuscita?
Provo FirebaseAuth.signInWithEmailAndPassword
e nel caso in cui non riesca voglio sapere "Perché il processo di signIn è fallito?"
Il metodo signInWithEmailAndPassword
ha l'API addOnFailureListener
. E posso prendere il Exception
(forse FirebaseAuthException
) nel metodo di richiamata onFailure
.
auth.signInWithEmailAndPassword(loginRequest.id, loginRequest.password)
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
if (e instanceof FirebaseAuthException) {
((FirebaseAuthException) e).getErrorCode());
}
}
});
Desidero sapere perché il processo SignIn ha avuto esito negativo. in onFailure
.
penso che potrebbe essere fatto come segue:
e
tipo di istanza di controllo (e instanceofFirebaseAuthInvalidUserException
oFirebaseAuthInvalidCredentialsException
o ,,,)e.getErrorCode()
Non voglio digitare assegni (è sporco).
Preferisco il modo nella scelta 2. sopra. Ma non sono riuscito a trovare la definizione della collezione di valori di ritorno e.getErrorCode()
. es ERROR_INVALID_EMAIL
, ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL
, ecc (Dove sono definite?)
Ti prego, dimmi che è il modo migliore per controllare il motivo Firebase auth failed
.
Grazie.
C'è qualche costante di stringa statica pubblica disponibile per quei codici di errore? (ad esempio FirebaseAuthUserCollisionException.ERROR_EMAIL_ALREADY_IN_USE) – shaunkawano
non penso. la corretta implementazione è come nella risposta di @ Lancelot. e la tua prima opzione. Non è sporco e meglio gestire ogni eccezione separatamente. anche se scegli il secondo, gestirai ogni caso. sembra la stessa quantità di codice. – uguboz
Grazie per le tue informazioni, anche se suppongo che il valore costante di String dichiarato sia molto più sicuro e più facile rispetto al valore di digitazione della stringa da solo, poiché il completamento automatico salverà il tuo tempo se la costante è già dichiarata e la digitazione può accadere se devi scrivere quelle corde da soli. – shaunkawano