2016-05-31 16 views
5

nasze wymaganiaNie mógł do rejestracji za pomocą Firebase modułu AUTH

Signup za pomocą e-mail/hasło z Firebase SDK na Androidzie

Problem

Sposób onComplete() nie jest wywoływana uzyskiwanie. Nie zgłoszono żadnego błędu/wyjątku. uwaga: Mamy umożliwiło Email/dostawcy hasło na Firebase konsoli

Proszę znaleźć kod poniżej -

public void onClick(View v) { 
     try { 
      if (v == saveView) { 
       String email = emailView.getText().toString(); 
       String password = passwordView.getText().toString(); 
       if (validate(email, password)) { 

        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 sign in fails, display a message to the user. If sign in succeeds 
            // the auth state listener will be notified and logic to handle the 
            // signed in user can be handled in the listener. 
            if (!task.isSuccessful()) { 
             Toast.makeText(UserRegisterActivity.this, "Authentication failed.", 
               Toast.LENGTH_SHORT).show(); 
            } 
           } 
          }); 
       } 
      } 
     }catch (Exception e) { 
      Log.d("BIG", e.getStackTrace().toString()); 
     } 
    } 

private boolean validate(String email , String password){ 
     return true; 
    } 
+0

Czy problem został rozwiązany? Mam do czynienia z tym samym – Prabs

+0

w obliczu tego samego problemu z niektórymi z moich użytkowników, niektórzy z nich odnoszą sukcesy niektórzy nie .... czy masz jakieś rozwiązanie do tej pory –

Odpowiedz

0

Spróbuj wypracować to, że to dla mnie może to pomóc

firebase.createUser(etEmail.getText().toString(), etPassword.getText().toString(), new Firebase.ValueResultHandler<Map<String, Object>>() { 
       @Override 
       public void onSuccess(Map<String, Object> result) { 


        System.out.println("Successfully created user account with uid: " + result.get("uid")); 

       } 
       @Override 
       public void onError(FirebaseError firebaseError) { 
        // there was an error 

        String errorMessage = firebaseError.getMessage(); 

        Toast.makeText(RegisterActivity.this, ""+errorMessage, Toast.LENGTH_SHORT).show(); 
       } 


      }); 

Do logowania

firebase.authWithPassword(etEmail.getText().toString(), etPassword.getText().toString(), new Firebase.AuthResultHandler() { 
       @Override 
       public void onAuthenticated(AuthData authData) { 

        Log.e(TAG, "User Authenticated"); 

        System.out.println("User ID: " + authData.getUid() + ", Provider: " + authData.getProvider()); 

       } 

       @Override 
       public void onAuthenticationError(FirebaseError firebaseError) { 
        switch (firebaseError.getCode()) { 
         case FirebaseError.USER_DOES_NOT_EXIST: 
          // handle a non existing user 

          Log.e(TAG, "User Does Not Exist"); 
          break; 
         case FirebaseError.INVALID_PASSWORD: 
          // handle an invalid password 
          Log.e(TAG, "Invalid Password"); 
          break; 
         default: 
          // handle other errors 
          break; 
        } 
       } 
      }); 
+1

Zapoznaj się z dokumentacją Google Firebase, której kod jest inny https://firebase.google.com/docs/auth/android/password-auth#create_a_password-based_account –

+0

@AshutoshKumar również przeczytaj ten https://www.firebase.com/docs/android/quickstart.html –

+0

@AshutoshKumar może ta metoda jest przestarzała, ale nadal działa prawidłowo –

0

Dla Firebase stare API Spróbuj

fbRoot.authWithPassword("email", "pasw", new Firebase.AuthResultHandler() { 
      @Override 
      public void onAuthenticated(AuthData authData) { 
       Toast.makeText(MainActivity.this, "User ID: " + authData.getUid() + ", Provider: " + authData.getProvider(), Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onAuthenticationError(FirebaseError firebaseError) { 

      } 
     }); 

a to dla Tworzenie Konto

fbRoot.createUser("email", "password", new Firebase.ResultHandler() { 
      @Override 
      public void onSuccess() { 
       Toast.makeText(MainActivity.this, "Saved", Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onError(FirebaseError firebaseError) { 
       Toast.makeText(MainActivity.this, firebaseError.getMessage(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
+0

PAMIĘTAJ Twój adres e-mail powinien być zgodny z FORMATEM E-MAIL ([email protected]), –

+0

sprawdź dokumentację Google Firebase https://firebase.google.com/docs/auth/android/password- auth # create_a_password-based_account –

+0

mhhh, mówisz o nowym API, dziękuję, pozwól mi to sprawdzić. dzięki –

Powiązane problemy