2016-09-21 3 views
0

Firebase 2.x를 사용하기 전에 Firebase 참조에서 createUser()을 호출하기 만하면 된 새 사용자를 추가하기 전에 전자 메일, 암호 및 ValueResultHandler을 전달하십시오.Firebase 3.0 createUserWithEmailAndPassword() 오류 처리

두 콜백은 ValueResultHandler으로 구현되었다 :

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

onError, 오류를 처리하기 위해 firebaseError을 잡아 쉬웠다. 처럼 : 그것이 Documentation page에 표시되어 같은 중포 기지 SDK 3.0 그러나 지금

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

는 상황이 바뀌었다.

하지만 어떻게 오류 처리를합니까? 예를 들어 이미 전자 메일을받은 경우에 해당합니까? 감사.

+0

당신이 공유 링크는 사용자를 인증하지만 사용자를 만드는 당신은 여전히 ​​createUserWithEmailAndPassword()가'방법은 링크의 문서 페이지가 모두 한 –

+0

'사용할 수 있습니다에 서명하고 만들기 Account –

+0

ok, 예외를 얻기 위해'task.getException()'을 사용할 수 있습니다. –

답변

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