Complemento de Flutter y google_sign_in: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, nulo)

95

El cuadro de diálogo (formulario de Google) para las credenciales se abre correctamente, pero después de completar mis credenciales, aparece este error. Seguí las instrucciones de aquí . Creé un proyecto de Firebase, habilité la API de Google Drive (eso es lo que necesito por ahora) desde la Consola de API de Google.

El código que lanza la excepción:

final GoogleSignIn _googleSignIn = GoogleSignIn(
  scopes: [
    'https://www.googleapis.com/auth/drive',
  ],
);

await _googleSignIn.signIn();

Ese es el rastro de la pila:

E/flutter ( 5068): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 5068): PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null)
E/flutter ( 5068): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:551:7)
E/flutter ( 5068): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:292:18)
E/flutter ( 5068): <asynchronous suspension>
E/flutter ( 5068): #2      GoogleSignIn._callMethod (package:google_sign_in/google_sign_in.dart:226:58)
E/flutter ( 5068): <asynchronous suspension>
E/flutter ( 5068): #3      GoogleSignIn._addMethodCall (package:google_sign_in/google_sign_in.dart:268:20)
E/flutter ( 5068): #4      GoogleSignIn.signIn (package:google_sign_in/google_sign_in.dart:339:48)
E/flutter ( 5068): #5      ThatsMyComponentState.theSignInFuction.<anonymous closure> (package:my_app/widgets/my_file.dart:666:45)
E/flutter ( 5068): <asynchronous suspension>
E/flutter ( 5068): #6      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
E/flutter ( 5068): #7      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
E/flutter ( 5068): #8      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
E/flutter ( 5068): #9      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
E/flutter ( 5068): #10     TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:204:7)
E/flutter ( 5068): #11     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter ( 5068): #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:184:20)
E/flutter ( 5068): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22)
E/flutter ( 5068): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7)
E/flutter ( 5068): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
E/flutter ( 5068): #16     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
E/flutter ( 5068): #17     _invoke1 (dart:ui/hooks.dart:168:13)
E/flutter ( 5068): #18     _dispatchPointerDataPacket (dart:ui/hooks.dart:122:5)

La versión del complemento google_sign_in es 4.0.0.

Esa es la salida de flutter doctot -v :

[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 10.0.17763.253], locale en-US)
• Flutter version 1.0.0 at C:\src\flutter-0.7.3\flutter
• Framework revision 5391447fae (10 weeks ago), 2018-11-29 19:41:26 -0800
• Engine revision 7375a0f414
• Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
• Android SDK at C:\Users\myuser\AppData\Local\Android\Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• ANDROID_HOME = C:\Users\myuser\AppData\Local\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• All Android licenses accepted.

[√] Android Studio (version 3.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 32.0.1
• Dart plugin version 182.5124
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[!] IntelliJ IDEA Community Edition (version 2018.1)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1.6
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• For information about installing plugins, see
  https://flutter.io/intellij-setup/#installing-the-plugins

[!] VS Code, 64-bit edition (version 1.30.2)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension not installed; install from
  https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator)

! Doctor found issues in 2 categories.

Cualquier ayuda será muy apreciada. ¡Gracias!

Boyan Bozhidarov
fuente
Para todos: preste atención al código de excepción ApiException: 10y consulte los documentos primero: developers.google.com/android/reference/com/google/android/gms/… Asegúrese de que está solucionando el problema correcto. Por ejemplo, el código 7 simplemente significaría 'sin conexión a Internet'.
Kirill Karmazin
Ejecute ./gradlew signingReport, se encuentra en la carpeta de la aplicación Android. Agregue SHA1 en la configuración de inicio de sesión de Google de Google Firebase. developers.google.com/android/guides/client-auth . Necesitará un SHA1 para cada computadora en la que trabaje.
Amor en vivo
@KirillKarmazin ¿alguna idea de lo que es 12500? E / flutter (23795): [ERROR: flutter / lib / ui / ui_dart_state.cc (157)] Excepción no controlada: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 12500:, null)
raiton

Respuestas:

143

Me encuentro con el mismo problema en este momento. Esto puede suceder si está ejecutando la depuración y no registró una SHAhuella digital en firebase. Lo resolví generando un debug.keystorey registrándolo dentro de la aplicación en Firebase. No olvide descargar el nuevo google-services.jsondespués de eso. Vea también esto .

ingrese la descripción de la imagen aquí

Editar Si no puede usar la autenticación en el modo de liberación, intente lo siguiente:

-Añadir las huellas digitales del certificado SHA de la clave de lanzamiento.

keytool -exportcert -list -v \ -alias <your-key-name> -keystore <path-to-production-keystore>

Para obtener más detalles al respecto, consulte aquí en la sección "get release certificate" https://developers.google.com/android/guides/client-auth

Si su autenticación aún no funciona, probablemente se deba a que descargó la aplicación de Playstore y habilitó la "Firma de aplicaciones mediante la función de Google Play". Luego, para este caso, vaya a la consola de publicación de Play Store y vaya a la firma de aplicaciones en la administración de versiones. Allí encontrará la huella digital del certificado SHA para registrarse en Firebase console.

ingrese la descripción de la imagen aquí

TSR
fuente
17
Gracias por esto. Esto ayudó. Vale la pena señalar que se tuvieron que agregar las claves SHA1 y SHA256 para que la autenticación funcione
Srini
2
Acepta esto como respuesta.
Muruganandham K
@TSR esto funcionó pero no tuve que descargar un nuevo google-services.json.
Darren Cole
2
Para su información, tuve el mismo error incluso después de configurar mis huellas digitales sha. Resulta que también tuve que agregar una dirección de correo electrónico de soporte según github.com/flutter/flutter/issues/25909#issuecomment-497378619 .
Michael Nelson
@MichaelNelson este también era mi problema
wwwwwwwwwwww
38

La siguiente solución funciona en el proyecto flutter:

Paso 1: Genere las claves SHA1 y SHA256 .
Paso 2: agregue SHA1 y SHA256 a firebase. (en la configuración de su aplicación)
Paso 3: Descargue google-services.json a android / app en la carpeta de su proyecto.
Paso 4: En tu terminal ejecuta el comando flutter clean.
Paso 5: Ejecuta tu aplicación Flutter.

Para obtener más información, visite:
https://developers.google.com/android/guides/client-auth
https://firebase.google.com/docs/flutter/setup

Rabi Roshan
fuente
8
la limpieza es muy importante
mkkhedawat
25

Cuando me encontré con este problema, probé todas las demás soluciones descritas en esta publicación. Ninguno de estos funcionó. Finalmente lo descubrí: en mi situación, tenía que asegurarme de tener configurado mi "correo electrónico de soporte".

Correo electrónico de asistencia para entornos públicos

Johan Witters
fuente
21

Necesita configurar su proyecto de Google Cloud Api con su paquete.

https://developers.google.com/identity/sign-in/android/start-integrating#configure_a_project

Asegúrese de iniciar sesión con la misma cuenta de Firebase

  1. Seleccione su proyecto de base de fuego
  2. Seleccione Android
  3. Abra la terminal dentro de su proyecto de flutter
  4. cd android
  5. ./gradlew signingReport o gradlew signingReport
  6. Pegue el nombre de su paquete y su clave SHA1
  7. Descargar información del cliente
  8. Descargue y reemplace el google-services.json
  9. flutter clean

IOS:

  1. Seleccione su proyecto de Firebase
  2. Seleccione IOS
  3. Ingrese su ID de paquete
  4. Descargar credenciales
  5. Descargar y reemplazar GoogleService-info.plist
Matteo Antolini
fuente
2
gradlew signingReport me ayuda mucho, porque primero utilizo el almacén de claves incorrecto. Y con ese comando, definitivamente obtienes el correcto.
BHuelse
17

Pasé años tratando de arreglar esto.

1. Abra grade.properties Este archivo se encuentra en: {{SU PROYECTO}} / android / gradle.properties

ingrese la descripción de la imagen aquí

2. Agregue el siguiente argumento a 'org.gradle.jvmargs' como se muestra en la captura de pantalla.

-XX: MaxHeapSize = 256m -Xmx256m

ingrese la descripción de la imagen aquí

3. Haga clic derecho en 'gradlew' y vaya a 'Abrir en la terminal'. Este archivo se encuentra en {{SU PROYECTO}} / android / gradlew

ingrese la descripción de la imagen aquí

4. Escriba el siguiente comando.

gradlew signingReport

Si no funcionó, primero intente con el segundo comando:

./gradlew signingReport

5. Espere a que finalice la compilación y se le imprimirán las claves SHA.

ingrese la descripción de la imagen aquí

Utilice estas claves para autenticar su aplicación en https://console.firebase.google.com/

KylianMbappé
fuente
1
Para mí eso es lo único que funcionó, mi keytool generó que no funciona SHA-1 / SHA-256
PRO GRAMMER
4
Si el paso 4 no funcionó, llame a gradlew así: ./gradlew signingReport
Tincho825
1
Intervenir para decir esto también es lo único que funcionó para mí. Probé todo lo demás y pasé días tratando de resolver el problema antes de encontrar esto.
Mark Rawlingson
Recibiendo este error: no se pudo inicializar la clase org.codehaus.groovy.runtime.InvokerHelper
Ramis
¡este es el método más fácil! esto debería aceptarse.
reverie_ss
11

Para mí, no necesitaba agregar SHA adicionales, me di cuenta de que no habilité el método de inicio de sesión de Google en la pestaña Autenticación en la consola de Firebase

Habilitar el método de inicio de sesión de Google en Firebase Console

Vidral Bonvi
fuente
7

Pasos adicionales que puede que deba seguir para que google_sign_in funcione:

] [2]

  • Si pudiera ejecutar el inicio de sesión de Google durante la depuración pero NO en el lanzamiento, existe una alta probabilidad de que no haya agregado SHA1 y SHA256 de su clave de lanzamiento a firebase. Para obtener los SHA de la clave de lanzamiento, usekeytool -list -v -keystore ~/key.jks -alias key

consola Deberías terminar con un total de al menos 6 credenciales SHA : 2 de la clave de depuración, 2 de la vinculación de Google Play y 2 de la clave de lanzamiento. Tenga en cuenta que no necesita volver a descargar el archivo google-services.json después de agregar las credenciales SHA de lanzamiento a firebase.

Firebase

# Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }

# GooglePlay Services
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**
-keep class com.google.common.** { *; }
-dontwarn com.google.common.**
función1983
fuente
7

Ha omitido el paso de configuración, habilite el inicio de sesión de Google en Firebase.

El inicio de sesión de Google se configura automáticamente en sus aplicaciones web y iOS conectadas. Para configurar el inicio de sesión de Google para sus aplicaciones de Android, debe agregar la huella digital SHA1 para cada aplicación en la Configuración del proyecto.

Simplemente complete estos suficientes pasos a continuación

  1. Habilitar el método de autenticación de Google
  2. Configure las huellas digitales del certificado en su proyecto actual en project-level setting. Cómo generar certificado .
  3. Seleccionar correo electrónico para el correo electrónico de soporte del proyecto
  4. Descárguelo google-service.jsonen su proyecto.
  5. correr flutter clean
  6. comienzo flutter run

imagen

Sen Sokha
fuente
6

¡"Flutter clean" es la pieza que falta a todos después de registrar SHA1 en Firebase Console!

Roger Gusmao
fuente
3

Una razón por la que podría estar experimentando este error es si no completó el formulario de consentimiento de OAuth de Google. Este es un nuevo cambio en Firebase.

Estos son los pasos que debe seguir para completar el formulario de consentimiento para su aplicación:

  1. Navegue a la consola de google api (actualmente en https://console.developers.google.com ), asegúrese de haber iniciado sesión en su cuenta en la que se creó su proyecto de base de fuego.
  2. Seleccione su proyecto en el menú desplegable "seleccionar un proyecto" en la parte superior izquierda de la consola de desarrollo.
  3. En el panel de la izquierda, vaya a "credenciales" y luego cambie a la "pantalla de consentimiento de OAuth".
  4. En "Nombre de la aplicación", ingrese el nombre público de su aplicación.
  5. En "Logotipo de la aplicación", cargue un archivo de imagen local de su aplicación.
  6. En "Correo electrónico de soporte", ingrese el mismo correo electrónico de soporte que aparece en su aplicación de base de fuego.

Su pantalla ahora debería verse como este ejemplo del paso 6

  1. Desplácese hacia abajo y complete el "Enlace de la página de inicio de la aplicación", el "Enlace de la política de privacidad de la aplicación" y el "Enlace de las condiciones de servicio de la aplicación" agregando http: // antes del dominio autorizado en el que reside la aplicación de Firebase.

A continuación, se muestra un ejemplo destacado de cómo se deben completar estas regiones en el paso 7

  1. Clic en Guardar

¡Estos pasos funcionaron para mí! Si bien es posible que el enlace aún no exista, me gustaría hacer referencia a la fuente de esta solución aquí

Ben Elliott
fuente
¿Es realmente una respuesta a la pregunta?
Bulat
Gracias por los comentarios. Traté de actualizar mi respuesta para que sea más específica; por favor, avíseme si ahora es apropiada, y si no, cómo puedo mejorarla.
Ben Elliott
1
¿Necesita "Enviar para verificación" o simplemente "Guardar"?
Más sencillo
3

Para la excepción de plataforma 10, intente esto:

  1. Genere una nueva huella digital SHA1 en su máquina,
  2. Vaya a la configuración de la aplicación de Android Firebase en Firebase Console
  3. Haga clic en agregar nueva huella digital en la configuración de su aplicación de Android
  4. Pegue la nueva huella digital SHA1 en el campo
  5. Genere un nuevo archivo de configuración json
  6. Reemplace el archivo de configuración en el directorio de Android
  7. Corre flutter clean
  8. Ejecute su proyecto
Mithilesh Parmar
fuente
2

Esto puede parecer una tontería, pero me acaba de pasar ahora (después de tener algo de experiencia trabajando con firebase en el pasado). Noté que no habilité la autenticación de Google. Asegúrese de hacer eso, ya que es posible que aún vea el mensaje de inicio de sesión (que le muestra los usuarios de Google de su teléfono, sin que esté habilitado).

Chico
fuente
¿Dónde habilito eso?
Ahmed Albarody
@AhmedAlbarody En su consola de base de fuego, elija la autenticación y luego debe habilitar los servicios que desea usar.
Guy
1

Asegúrese de que SHA-1 debe ser una clave de depuración que se genera solo en su sistema, y ​​luego descargue el archivo google-services.json y añádalo a su proyecto

Varun Kumar Medam
fuente
1

asegúrese de haber agregado

 dependencies {
    classpath 'com.google.gms:google-services:4.2.0'
}

en android / build.gradle y

apply plugin: 'com.google.gms.google-services'

en android / app / build.gradle . Además, asegúrese de que applicationId en android / app / build.gradle sea ​​el mismo que el nombre de su paquete en AndroidManifest.xml (puede que olvide cambiar applicationId después de cambiar el nombre del paquete a veces). Este applicationId o nombre de paquete en el archivo de manifiesto debe ser el nombre de su paquete de Android en la aplicación firebase.

Sachin
fuente
1

Debe generar SHA-1 y SHA-256 para cada PC que utilizó. Y agréguelos todos a la configuración del proyecto de base de fuego.

Y debe completar el formulario en la pestaña Consentimiento de OAuth .

gökhan
fuente
1

En mi caso, fue un error tonto, asegúrese de que su applicationId en firebase como: 'com.example.appname' coincida exactamente con el applicationId en su archivo app / src / build.gradle, bajo defaultConfig {}. No hay errores de ortografía , no hay conflictos entre mayúsculas y minúsculas. En mi caso, una letra era mayúscula, lo que causó todos los problemas.

RohitDubey22
fuente
0

En android / app / build.gradle cambié las dependencias de com.android.tools.build:gradle:3.1.3 / com.google.gms: google-services: 3.2.1 a com.android.tools.build:gradle : 3.2.1 / com.google.gms: google-services: 4.2.0 . Y funcionó.

Boyan Bozhidarov
fuente
0

Mientras registraba la aplicación en Firebase, cambié mi applicationId a algo que se adapte a mi aplicación. Sin embargo, esto resultó en la instalación de una segunda aplicación Flutter en mi teléfono cuando ejecuté el depurador (por supuesto, debido al cambio en applicationId). Entonces, lo que funcionó para mi situación fue removetanto para las instalaciones como para re-installla aplicación.

NielsB95
fuente
0

Probé todo lo anterior y nada funcionó. Mi error fue que tenía varias carpetas de la versión de Android Studio en mi disco y estaba introduciendo la clave SHA1 incorrecta en la configuración de la base de fuego.

shahana kareen
fuente
0

Crear un paquete de aplicaciones (recomendado por Google Play y Flutter) provocará este error. La construcción de una apk resolverá esto.

Ver problema 58194425

Más simple
fuente
0

Tuve el problema y tardé 5 horas en resolverlo. Recuerdo que leí en alguna parte que API Exception 10 significa que hay un problema con las huellas digitales. Por lo tanto, tenía que ser el almacén de claves o una configuración incorrecta en firebase. Finalmente, fue el almacén de claves. Todavía no estoy seguro de por qué funcionó, pero esto es lo que hice, por cierto, estoy usando Windows 10:

1.) Asegúrese de que en el archivo android / build.gradle tuviera lo siguiente:

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        classpath 'com.google.gms:google-services:4.2.0'
    }
}

2.) Agregué estas dos líneas al archivo android / gradle.properties

android.useAndroidX=true
android.enableJetifier=true

3.) Navegó a C: \ Users \ YOURUSER \ .android y eliminó lo siguiente:

debug.keystore
debug.keystore.lock

4.) Abra el terminal como administrador y generó el almacén de claves de depuración en este directorio.

$ keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000

Obtuvo las huellas dactilares:

$ keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android 

5.) Se agregaron las huellas digitales SHA1 a la configuración en firebase

Eso fue todo de mi parte. Espero que esto ayude a alguien.

Morfinismo
fuente
0

Asegúrese de que los certificados de firma que está usando en la consola de firebase sean los mismos que se usan en signingConfigs >> configuración de depuración en el archivo app / build.gradle mientras aún está en desarrollo. La falta de coincidencia provoca un error.

Tonui Nicholus
fuente
0

Esto me lo arregló. Hice una pequeña refactorización en un nuevo proyecto. Pensé que estaba usando mi google-services.jsonarchivo anterior, pero había estado usando el archivo incorrecto. Intenté todo lo demás durante dos días antes de darme cuenta de este simple error.

Oprimus
fuente
0

Esto me ayudó (fue un problema al importar el SHA1)

cd .android usé y copié la clave SHA1 y la pegué en firebase, configuración del proyecto, aplicación de Android, certificado SHA

keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android

y creé también una clave más con:

keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkeytwo -keypass android -keyalg RSA -keysize 2048 -validity 10000

y usé esto para tomar una clave SHA más:

keytool -list -v -keystore debug.keystore -alias androiddebugkeytwo -storepass android -keypass android

Copié y pegué agregando una clave más en mi proyecto de base de fuego.

También descargué google-services.json y lo pegó en Android / app dentro del proyecto flutter.

Esto funcionó correctamente, mis dependencias pubspec.yml:

  http: ^0.12.0+2
  cupertino_icons: ^0.1.2
  firebase_auth: ^0.15.1
  firebase_analytics: ^5.0.6
  firebase_core: ^0.4.2+1
  google_sign_in: ^4.0.14

mi código:

    Widget _signInButton() {
    return OutlineButton(
      splashColor: Colors.grey,
      onPressed: () async {
        await signInWithGoogle()
            .then((FirebaseUser user) => print(user.displayName))
            .catchError((e) => print(e));

      },

    );
  }

import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';

final FirebaseAuth _auth = FirebaseAuth.instance;
final GoogleSignIn googleSignIn = new GoogleSignIn();

Future<FirebaseUser> signInWithGoogle() async {
  final GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
  final GoogleSignInAuthentication googleSignInAuthentication =
      await googleSignInAccount.authentication;

  final AuthCredential credential = GoogleAuthProvider.getCredential(
    accessToken: googleSignInAuthentication.accessToken,
    idToken: googleSignInAuthentication.idToken,
  );

  final AuthResult authResult = await _auth.signInWithCredential(credential);
  final FirebaseUser user = authResult.user;
  print(user.displayName.toString());
  assert(!user.isAnonymous);
  assert(await user.getIdToken() != null);

  final FirebaseUser currentUser = await _auth.currentUser();
  assert(user.uid == currentUser.uid);

  return user;
}

void signOutGoogle() async {
  await googleSignIn.signOut();

  print("User Sign Out");
}

Espero que esto funcione.

Pedro Molina
fuente
0

Por favor asegúrese de hacer esto:

  • Habilite el inicio de sesión de Google desde su consola de base de fuego

  • Coloque su SHA-1 cuando configure su aplicación de base de fuego de Android

  • Después de iniciar sesión con la misma cuenta con la que creó el proyecto Firebase, debe completar este consentimiento https://console.developers.google.com/apis/credentials/consent
ikhsanudinhakim
fuente
0

Recibo este error: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 7 :, null) Quizás la solución sea buena para usted.

Y me doy cuenta de que mi dispositivo de depuración (modo de depuración de Android) no está conectado a Internet. Creo que la autenticación falla, por lo que el método devuelve nulo o el usuario es igual a nulo.

La variable devuelta debe comprobarse antes de usarla.

Ali Baransel ORAL
fuente
Me resulta difícil seguir tu respuesta: ¿puedes obtener ayuda para usar el inglés (no es mi primer idioma)?
barba gris
0

En mi caso, ninguna de las respuestas resolvió el problema. Después de pensarlo un poco, me di cuenta de que hace algún tiempo había cambiado el nombre del paquete de mi aplicación . Si es su caso, simplemente debe crear otra aplicación dentro de su proyecto de Firebase con su nuevo nombre de paquete y descargar el archivo google-services.json nuevamente.

Anderson Dalbert
fuente
0

Sin embargo, las respuestas dadas anteriormente son correctas, pero aún así, si tiene algún problema, no olvide verificar la sección signingConfig {} de la aplicación / build.gradle. No debería tener ninguna referencia de archivo de almacén de claves no deseada, lo que puede causar una discrepancia con google-services.json y el almacén de claves.

RamKr
fuente
0

Si su aplicación publicada no funciona correctamente y está utilizando la firma de Google Play, copie el SHA de su cuenta de Play Store , el de su clave local no funcionará ingrese la descripción de la imagen aquí

Omar Amar
fuente