Autenticación del teléfono Android Firebase INVALID_APP_CREDENTIAL: Error en la validación de la aplicación

Soy realmente nuevo a firebase androide y he implementado las bibliotecas necesarias para Firebase Auth. Intento poner un número válido, pero el registro dice su:

W/JEJE: onVerificationFailed com.google.firebase.FirebaseException: An internal error has occurred. [ INVALID_APP_CREDENTIAL:App validation failed ] at com.google.android.gms.internal.nf.zzK(Unknown Source) at com.google.android.gms.internal.og.zza(Unknown Source) at com.google.android.gms.internal.oh.run(Unknown Source) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6176) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778) 

Aquí está mi código:

 public class MainActivity extends AppCompatActivity { private static String mVerificationId; private static PhoneAuthProvider.ForceResendingToken mResendToken; private static FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText editText = (EditText) findViewById(R.id.phone); Button submit = (Button) findViewById(R.id.submit); final PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallBacks = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { @Override public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) { Log.d("JEJE", "onVerificationCompleted:" + phoneAuthCredential); signInWithPhoneAuthCredential(phoneAuthCredential); } @Override public void onVerificationFailed(FirebaseException e) { Log.w("JEJE", "onVerificationFailed", e); if (e instanceof FirebaseAuthInvalidCredentialsException) { Log.d("JEJE", "INVALID REQUEST"); } else if (e instanceof FirebaseTooManyRequestsException) { Log.d("JEJE", "Too many Request"); } } @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); Log.d("JEJE", "onCodeSent:" + s); mVerificationId = s; mResendToken = forceResendingToken; } }; submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String phoneNum = editText.getText().toString(); Toast.makeText(MainActivity.this, phoneNum, Toast.LENGTH_SHORT).show(); verifyPhone(phoneNum,mCallBacks); } }); } private void signInWithPhoneAuthCredential(PhoneAuthCredential phoneAuthCredential) { mAuth.signInWithCredential(phoneAuthCredential).addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()){ FirebaseUser user = task.getResult().getUser(); }else { if (task.getException() instanceof FirebaseAuthInvalidCredentialsException) { // The verification code entered was invalid } } } }); } public void verifyPhone(String phoneNumber, PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks){ PhoneAuthProvider.getInstance().verifyPhoneNumber( "+639952874699", // Phone number to verify 60, // Timeout duration TimeUnit.SECONDS, // Unit of timeout this, // Activity (for callback binding) mCallbacks); // OnVerificationStateChangedCallback } } 

Por favor dime que esta mal gracias

5 Solutions collect form web for “Autenticación del teléfono Android Firebase INVALID_APP_CREDENTIAL: Error en la validación de la aplicación”

Añadir certificado SHA La huella digital resuelve mi problema. Bueno, soy bastante nuevo en esto, pero me las arreglé para mostrar la salida y pude recibir una verificación sms.

Para referencia aquí están mis códigos: https://github.com/coozgan/TestingPhoneAuth

También tengo el mismo problema.

Después de leer algún contenido encontré algún otro problema y después de ejecutar mi aplicación.

Problema 1: este enlace dice que,

Además, tenga en cuenta que el inicio de sesión de número de teléfono requiere un dispositivo físico y no funcionará en un emulador.

Así que puede probar y ejecutar sólo en el dispositivo real no cualquier emulador.

Si puede ejecutar en el emulador, entonces el mismo error da.

Puedes referir a mi github este enlace para Firebase Phone Login Ejemplo

Tenía exactamente el mismo problema que el tuyo. A pesar de que he subido tanto el SHA1 todavía daría un mensaje de error "inicio de sesión de teléfono".

Debe vincular el proyecto Firebase con Google Play.

Vaya a https://console.firebase.google.com/u/0/project/you-project-name/settings/accountlinking y, en la parte inferior derecha, haga clic en "Vincular a Google Play"

Intente actualizar su firebase-tools lib a la última versión, luego llame al logout de firebase seguido de inicio de sesión de firebase.

Bueno, después de un tiempo voy a resumir todo lo que descubrí sobre la verificación de teléfono. Hay algunas cosas que usted necesita hacer y debe recordar para que funcione.

Éstas son la lista de cosas que usted necesita hacer para que funcione:

  1. Cree una aplicación y conéctela a la suya con google-services.json que obtuvo de firebase. Póngalo en la carpeta correcta y asegúrese de haber agregado en la compile 'com.google.firebase:firebase-auth:11.0.4' Gradle compile 'com.google.firebase:firebase-auth:11.0.4' .
  2. En su aplicación en firebase, vaya a Authentication en el menú. A continuación, vaya al Sign-in Method y asegúrese de activar el proveedor de teléfono.
  3. Agrega un Sha-1 a tu aplicación. Cuando vaya a la configuración del proyecto dentro de su proyecto, vaya al final de la sección de su aplicación y verá un lugar donde colocar el Sha-1. Para conseguir el Sha-1 necesitas ejecutar este comando

Keytool -exportcert -list -v -alias androiddebugkey -keystore% USERPROFILE% .android \ debug.keystore

Como se menciona en la guía de firebase para ello. Tenga en cuenta que este comando está en línea para ejecutarlo todo junto, y lo que hará es buscar su archivo debug.keystore en su usuario en una carpeta oculta llamada .android. El alias predeterminado para el almacén de claves es androiddebugkey así que no lo cambie y la contraseña por defecto es android , así que cuando le pide una contraseña simplemente use "android". A continuación, verá una lista de devoluciones y una de ellas es Sha-1. Póngalo en su proyecto.

  1. Si todavía no funciona, esto no siempre es necesario, pero asegúrese de que su aplicación está vinculada a una cuenta de Google. En la configuración del proyecto-> Vinculación de cuentas-> Google Play.

También tenga en cuenta, esto está escrito el 16 de agosto de 2017, no puede hacer la verificación de teléfono en un emulador, así que utilice un dispositivo real.

Espero eso ayude.

  • Firebase Error no puede tener acceso a zzanb después de usar play-services-xxx: 9.8.00
  • Audífono de estado de firebase de Android firebase llamado varias veces
  • "GoogleApiClient no está conectado todavía" al cerrar la sesión cuando se utiliza la autorización de Firebase con google inicie sesión
  • Contraseña olvidada en Firebase para Android
  • No se encontró el archivo de clase de com.google.android.gms.internal.zzaja
  • Cómo deshacerse de la advertencia de Android Studio "Resultado de getException () no lanzado"?
  • Vaciar el campo de correo electrónico de Firebase Auth Usuario que utiliza Integración de inicio de sesión de Facebook (Firebase 3.0)
  • ¿Por qué no hay captura de pantalla en aplicaciones recientes al finalizar la actividad en firebase onAuthStateChanged
  • Firebase setDisplayName del usuario al crear el usuario Android
  • "No se puede obtener el proveedor com.google.firebase.provider.FirebaseInitProvider" Ruta de acceso de error Android
  • Cambiar contraseña con Firebase para Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.