Firebase Android Auth objeto sin devolución de llamada de disparo

He estado pasando por los documentos de Firebase para configurar un sistema de autenticación de usuarios en mi aplicación para Android. ¡Por alguna razón sin embargo, no parece que ninguna de las devoluciones de llamada está funcionando en mi objeto de FirebaseAuth!

Por ejemplo, con la configuración de la autenticación de Facebook como se indica aquí

private void handleFacebookAccessToken(AccessToken token) { Log.d("AUTH", "handleFacebookAccessToken:" + token.getToken()); // ... AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken()); Log.d("AUTH", "Credential: "+credential); mAuth.signInWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { Log.d("AUTH", "signInWithCredential: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()) { Log.w("AUTH", "signInWithCredential", task.getException()); Toast.makeText(LoginActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); } // ... } }); } 

Todo bien por parte de Facebook, pero cuando se trata de iniciar sesión con las credenciales fb recuperadas, la función signInWithCredential no ejecuta ninguna devolución de llamada y nada parece suceder en mi base de datos de usuarios.

Además he intentado el mucho más simple

 mAuth.createUserWithEmailAndPassword(etUserID.getText().toString(), etPassword.getText().toString()); 

Y nada sucede también. He habilitado a ambos proveedores en mi consola Firebase y he descargado el último archivo google-services.json del proyecto. ¿Me estoy perdiendo de algo?

EDIT: Acabo de ejecutar la demo de autenticación de inicio rápido y no funciona tan bien. Veo en mi emulador que esta aplicación no se ejecutará a menos que actualice los servicios de google. ¿Es esta la causa de este error? He intentado actualizar los servicios de google en varios emuladores y eso sólo devuelve un error.

Tengo que trabajar sólo en un dispositivo real de Android, pero no tuvo suerte con el emulador.

Para el dispositivo, deberá agregar la siguiente dependencia en el archivo gradle de la aplicación:

 compile 'com.google.android.gms:play-services-auth:9.0.2' 

No he probado, pero parece que si actualizas la imagen del emulador con un nuevo google play servicios, también debería funcionar.

Espero eso ayude.

Parece que el problema está causado por ciertos emuladores que no admiten las últimas versiones de Google Play Services. (Verá un error en logcat) Galaxy Nexus 5x API 23 con API de Google parecen funcionar con los inicios de sesión.

Tuve el mismo problema y, finalmente, en mi caso me olvidé de habilitarlo en la consola firebase

Introduzca aquí la descripción de la imagen

En un dispositivo físico, necesité actualizar los servicios de Google Play para que la devolución de llamada funcione

Tuve el mismo problema aquí, y la solución fue muy simple: dejar de usar el emulador y empezar a usar un dispositivo físico para probar la aplicación. No sé por qué, pero parece que el emulador tiene algunos problemas con el firebase: /

Resuelto gracias a @feroult post y otros recursos. En mi caso OnCompleteListener nunca se llamó después de actualizar el build.gradle con la nueva versión de Play Services Library y las bibliotecas de Firebase. La solución es actualizar la aplicación de Play Services instalada en el Emulador.

En mi caso, comenzó a trabajar con la versión 11.0.4 de la biblioteca de Play Services y la versión 11.3.02 de la aplicación Play Services instalada en Emulator.

Introduzca aquí la descripción de la imagen Introduzca aquí la descripción de la imagen

  • No se encontró el archivo de clase de com.google.android.gms.internal.zzaja
  • Firebase Manage Multiple auth provider
  • Firebase Error no puede tener acceso a zzanb después de usar play-services-xxx: 9.8.00
  • Clase de descriptor de módulo local para com.google.firebase.auth no encontrada
  • FirebaseAuthUserCollisionException?
  • Autenticación del teléfono Android Firebase INVALID_APP_CREDENTIAL: Error en la validación de la aplicación
  • Android Firebase DynamiteModule: Error al cargar el descriptor del módulo
  • "GoogleApiClient no está conectado todavía" al cerrar la sesión cuando se utiliza la autorización de Firebase con google inicie sesión
  • Error en la entrada de Facebook de Android
  • Cómo manejar la caducidad de token firebase personalizada en Firebase 3.xx
  • Android: Cómo obtener una imagen de perfil más grande desde fb usando firebaseAuth
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.