2016-09-21 3 views
0

Bevor mit Firebase 2.x, um einen neuen Benutzer hinzuzufügen, mussten wir einfach createUser() auf einer Firebase-Referenz anrufen, geben Sie die E-Mail, Passwort und eine ValueResultHandler.Firebase 3.0 createUserWithEmailAndPassword() Fehlerbehandlung

Zwei Rückrufe wurden mit diesen ValueResultHandler umgesetzt:

  • onSuccess(Map<String, Object> result) {}
  • onError(FirebaseError firebaseError) {}

In onError, war es leicht, die firebaseError zu greifen Fehler zu behandeln. Like:

if (firebaseError.getCode() == FirebaseError.EMAIL_TAKEN) {} 

aber jetzt mit dem Firebase SDK 3.0 haben sich die Dinge geändert, wie es auf dem Documentation page angezeigt.

Aber wie machen wir dann Fehlerbehandlung? Zum Beispiel in diesem Fall mit einer E-Mail bereits vergeben? Vielen Dank.

+0

Der Link, den Sie dem Benutzer geteilt ist für die Authentifizierung, aber für Benutzer erstellen, können Sie immer noch verwenden 'createUserWithEmailAndPassword()' Methode –

+0

Die Dokumentationsseite im Link hat beide: Anmelden und Erstellen ein Konto –

+0

ok, dann zum Auslösen der Ausnahme können Sie 'task.getException()' verwenden –

Antwort

0

Sie können neue Methoden hinzufügen, wenn Sie createUserWithEmailAndPassword aufrufen. Sie sollten die Methode addOnFailureListener hinzufügen. Dies ist ein Codebeispiel:

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()); 
      } 
    }); 
Verwandte Themen