Плагин Flutter и google_sign_in: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, null)

95

Диалог (форма Google) для учетных данных открывается успешно, но после ввода учетных данных я получаю эту ошибку. Я следовал инструкциям отсюда . Создал проект Firebase, включил API Google Диска (это то, что мне сейчас нужно) из консоли API Google.

Код, генерирующий исключение:

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

await _googleSignIn.signIn();

Это трассировка стека:

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)

Версия плагина google_sign_in - 4.0.0.

Это результат 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.

Любая помощь будет высоко ценится. Благодарность!

Боян Божидаров
источник
Для всех: обратите внимание на код исключения ApiException: 10и сначала обратитесь к документации - developers.google.com/android/reference/com/google/android/gms/… Убедитесь, что вы исправляете правильную проблему. Например, код 7 просто означает «нет подключения к Интернету».
Кирилл Кармазин,
Запустите ./gradlew signatureReport, он находится в папке приложения Android. Добавьте SHA1 в конфигурацию входа в Google Firebase. developers.google.com/android/guides/client-auth . Вам понадобится SHA1 для каждого компьютера, на котором вы работаете.
живая любовь
@KirillKarmazin есть идеи, что такое 12500? E / flutter (23795): [ОШИБКА: flutter / lib / ui / ui_dart_state.cc (157)] Необработанное исключение: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 12500:, null)
raiton

Ответы:

143

Я столкнулся с той же проблемой только сейчас. Это может произойти, если вы работаете в режиме отладки и не зарегистрировали SHAотпечаток пальца в firebase. Я решил это, создав debug.keystoreи зарегистрировав в приложении на Firebase. Не забудьте google-services.jsonпосле этого скачать новую . См. Также это .

введите описание изображения здесь

Изменить Если вы не можете использовать аутентификацию в режиме выпуска, попробуйте следующее:

-Добавьте отпечатки сертификата SHA ключа выпуска.

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

Подробнее об этом см. Здесь, в разделе "get release certificate" https://developers.google.com/android/guides/client-auth.

Если ваша аутентификация по-прежнему не работает, вероятно, это связано с тем, что вы загрузили приложение из Playstore и включили функцию «Подписание приложений с помощью функции Google Play». В этом случае перейдите в консоль публикации Play Store и перейдите к подписанию приложений в разделе управления выпусками. Там вы найдете отпечаток сертификата SHA для регистрации в консоли Firebase.

введите описание изображения здесь

TSR
источник
17
Спасибо за это. Это помогло. Стоит отметить, что для работы
авторизации
2
Примите это как ответ.
Муруганандхам К.
@TSR, это сработало, но мне не пришлось загружать новый google-services.json.
Даррен Коул
2
К вашему сведению, у меня была такая же ошибка даже после настройки отпечатков пальцев sha. Оказывается, мне также пришлось добавить адрес электронной почты службы поддержки на github.com/flutter/flutter/issues/25909#issuecomment-497378619 .
Майкл Нельсон
@MichaelNelson, это тоже была моя проблема
wwwwwwwwwwww
38

В проекте флаттера работает следующее решение:

Шаг 1. Создайте ключи SHA1 и SHA256 .
Шаг 2: Добавьте SHA1 и SHA256 в firebase. (в настройках вашего приложения)
Шаг 3: Загрузите google-services.json в android / app в папку проекта.
Шаг 4: В вашем терминале запустите команду flutter clean.
Шаг 5: Запустите приложение Flutter.

Для получения дополнительной информации посетите:
https://developers.google.com/android/guides/client-auth
https://firebase.google.com/docs/flutter/setup.

Раби Рошан
источник
8
чистота очень важна
mkkhedawat
25

Когда я столкнулся с этой проблемой, я попробовал все другие решения, описанные в этом посте. Ничего из этого не сработало. В конце концов я понял это: в моей ситуации я должен был убедиться, что у меня установлен «адрес электронной почты поддержки».

Электронная почта поддержки общедоступных настроек

Йохан Виттерс
источник
21

Вам необходимо настроить свой проект Google Cloud Api с помощью вашего пакета.

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

Убедитесь, что вы вошли в систему с той же учетной записью Firebase.

  1. Выберите свой проект Firebase
  2. Выберите Android
  3. Откройте терминал внутри вашего флаттер-проекта
  4. cd android
  5. ./gradlew signingReport или gradlew signingReport
  6. Вставьте имя вашего пакета и ключ SHA1
  7. Скачать информацию о клиенте
  8. Загрузите и замените google-services.json
  9. flutter clean

IOS:

  1. Выберите свой проект Firebase
  2. Выберите IOS
  3. Введите свой идентификатор пакета
  4. Скачать учетные данные
  5. Скачать и заменить GoogleService-info.plist
Маттео Антолини
источник
2
gradlew signatureReport мне очень помогает, потому что сначала я просто использую неправильное хранилище ключей. И с этой командой вы определенно получите нужную.
BHuelse
17

Я потратил целую вечность, пытаясь это исправить.

1. Откройте grade.properties. Этот файл находится в папке: {{ВАШ ПРОЕКТ}} / android / gradle.properties.

введите описание изображения здесь

2. Добавьте следующий аргумент в org.gradle.jvmargs, как показано на снимке экрана.

-XX: MaxHeapSize = 256 м -Xmx256 м

введите описание изображения здесь

3. Щелкните правой кнопкой мыши "gradlew" и выберите "Открыть в терминале". Этот файл находится в папке {{ВАШ ПРОЕКТ}} / android / gradlew

введите описание изображения здесь

4. Введите следующую команду.

gradlew signingReport

Если не сработало, сначала попробуйте вторую команду:

./gradlew signingReport

5. Дождитесь завершения компиляции и распечатки ключей SHA.

введите описание изображения здесь

Используйте эти ключи для аутентификации вашего приложения на https://console.firebase.google.com/

Килиан Мбаппе
источник
1
Для меня это единственное, что сработало, мой keytool сгенерировал неработающий SHA-1 / SHA-256
PRO GRAMMER
4
Если шаг 4 не сработал, вызовите вместо этого gradlew следующим образом: ./gradlew signatureReport
Tincho825
1
Попытка сказать, что это тоже единственное, что у меня сработало. Пробовал все остальное и потратил дни, пытаясь решить проблему, прежде чем нашел это.
Марк Роулингсон
Получение этой ошибки: не удалось инициализировать класс org.codehaus.groovy.runtime.InvokerHelper
Рамис
это самый простой способ! это следует принять.
reverie_ss
11

Мне не нужно было добавлять дополнительные SHA, я понял, что не включил метод входа в Google на вкладке аутентификации в консоли Firebase

Включение метода входа в Google в консоли Firebase

Видрал Бонви
источник
7

Дополнительные шаги, которые вам, возможно, придется предпринять, чтобы google_sign_in работал:

] [2]

  • Если вы можете запустить Google Sign In во время отладки, но НЕ в выпуске, высока вероятность, что вы не добавили SHA1 и SHA256 вашего ключа выпуска в firebase. Чтобы получить SHA ключа разблокировки, используйтеkeytool -list -v -keystore ~/key.jks -alias key

приставка У вас должно получиться всего не менее 6 учетных данных SHA : 2 из ключа отладки, 2 из ссылки Google Play и 2 из ключа выпуска. Обратите внимание, что вам не нужно повторно загружать файл google-services.json после добавления учетных данных SHA выпуска в 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.**
функция1983
источник
7

Вы пропустили шаг настройки, чтобы включить вход в Google на firebase.

Вход в Google автоматически настраивается на подключенных iOS и веб-приложениях. Чтобы настроить вход в Google для ваших приложений Android, вам необходимо добавить отпечаток SHA1 для каждого приложения в настройках проекта.

Просто выполните эти шаги ниже

  1. Включить метод Google Auth
  2. Настройте отпечатки сертификатов в текущем проекте по адресу project-level setting. Как создать сертификат .
  3. Выберите адрес электронной почты для электронной почты поддержки проекта
  4. Скачать google-service.json в свой проект.
  5. Бегать flutter clean
  6. Начало flutter run

образ

Сен Соха
источник
6

"Flutter clean" - это та часть, которую всем не хватает после регистрации SHA1 в Firebase Console!

Роджер Гужмао
источник
3

Одна из причин, по которой вы могли столкнуться с этой ошибкой, заключается в том, что вы не заполнили форму согласия Google OAuth. Это новое изменение Firebase.

Вот шаги, которые необходимо выполнить, чтобы заполнить форму согласия для вашего приложения:

  1. Перейдите в консоль google api (в настоящее время https://console.developers.google.com ), убедитесь, что вы вошли в свою учетную запись, в которой создан ваш проект firebase.
  2. Выберите свой проект в раскрывающемся списке «выберите проект» в верхнем левом углу консоли разработчика.
  3. На левой панели перейдите к «учетным данным», а затем переключитесь на «экран согласия OAuth».
  4. В разделе «Название приложения» введите публичное имя вашего приложения.
  5. В разделе «Логотип приложения» загрузите локальный файл изображения вашего приложения.
  6. В разделе «Электронная почта поддержки» введите тот же адрес электронной почты поддержки, который указан в вашем приложении firebase.

Теперь ваш экран должен выглядеть так, как показано в шаге 6.

  1. Прокрутите вниз и заполните поля «Ссылка на домашнюю страницу приложения», «Ссылка на политику конфиденциальности приложения» и «Ссылка на условия использования приложения», добавив http: // перед авторизованным доменом, в котором находится ваше приложение firebase.

Вот выделенный пример того, как эти области должны быть заполнены на шаге 7.

  1. Нажмите Сохранить

Эти шаги сработали для меня! Хотя ссылка может еще не существовать, я хотел бы сослаться на источник этого решения здесь

Бен Эллиотт
источник
Это действительно ответ на вопрос?
Булат
Спасибо за ваш отзыв! Я попытался обновить свой ответ, чтобы он был более конкретным - пожалуйста, дайте мне знать, подходит ли он сейчас, а если нет, то как я могу его улучшить.
Бен Эллиотт
1
Вам нужно «Отправить на проверку» или просто «Сохранить»?
Simpler
3

Для исключения платформы 10 попробуйте следующее:

  1. Создайте новый отпечаток SHA1 на вашем компьютере,
  2. Перейдите в настройку приложения firebase для Android в консоли Firebase.
  3. Нажмите «Добавить новый отпечаток пальца» в настройках приложения для Android.
  4. Вставьте новый отпечаток SHA1 в поле
  5. Создайте новый файл конфигурации json
  6. Замените файл конфигурации в каталоге Android
  7. Запустите флаттер в чистоте
  8. Запустите свой проект
Митилеш Пармар
источник
2

Это может показаться глупым, но это случилось со мной сейчас (после того, как я имел некоторый опыт работы с firebase в прошлом). Я заметил, что не включил аутентификацию Google. Убедитесь, что вы это сделали, так как вы все еще можете видеть запрос на вход (показывающий пользователей Google вашего телефона, если он не включен).

Парень
источник
где я могу включить это?
Ахмед Альбароди
@AhmedAlbarody В консоли firebase выберите аутентификацию, а затем вам нужно включить службы, которые вы хотите использовать.
Guy
1

Убедитесь, что SHA-1 должен быть ключом отладки, который создается только в вашей системе, а затем загрузите файл google-services.json и добавьте его в свой проект.

Варун Кумар Медам
источник
1

убедитесь, что вы добавили

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

в android / build.gradle и

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

в android / app / build.gradle . Кроме того, убедитесь, что applicationId в android / app / build.gradle совпадает с именем вашего пакета в AndroidManifest.xml (иногда вы можете забыть изменить applicationId после изменения имени пакета). Этот applicationatioonId или имя пакета в файле манифеста должно быть именем вашего пакета Android в приложении firebase.

Сачин
источник
1

Вы должны сгенерировать SHA-1 и SHA-256 для каждого компьютера, который вы использовали. И добавьте их все в настройки проекта firebase.

И вам следует заполнить форму на вкладке OAuth Consent .

Gökhan
источник
1

Если раньше это работало, но теперь вы используете другой компьютер, вам нужно будет добавить новые отпечатки SHA-1 / SHA-256, сгенерированные этим ПК, в свой проект в Firebase . Хороший пошаговый пример этого: https://stackoverflow.com/a/56091158/5365164

Дж. Со
источник
1

В моем случае это была глупая ошибка, убедитесь, что ваш applicationId в firebase, например: 'com.example.appname' точно совпадает с applicationId в вашем файле app / src / build.gradle в defaultConfig {}. Орфографические ошибки отсутствуют , нет верхнего регистра, конфликты строчных букв. В моем случае одна буква была прописной, что вызывало все проблемы.

РохитДубей22
источник
0

В android / app / build.gradle я изменил зависимости с com.android.tools.build:gradle:3.1.3 / com.google.gms: google-services: 3.2.1 на com.android.tools.build:gradle : 3.2.1 / com.google.gms: google-services: 4.2.0 . И это сработало.

Боян Божидаров
источник
0

При регистрации приложения в Firebase я изменил свой applicationId на то, что подходит моему приложению. Однако это привело к тому, что на моем телефоне было установлено второе приложение Flutter, когда я запустил отладчик (конечно, из-за изменения applicationId). Так что в моей ситуации работало removeкак установка, так и re-installприложение.

NielsB95
источник
0

Я пробовал все выше, и ничего не получалось. Моя ошибка заключалась в том, что у меня на диске было несколько папок с версией студии Android, и я вводил неправильный ключ SHA1 в настройках firebase.

Шахана Карин
источник
0

Создание пакета приложений (которое рекомендуется Google Play и Flutter) вызовет эту ошибку. Создание apk решит эту проблему.

См. Проблему 58194425.

Проще
источник
0

У меня была проблема, и на ее решение ушло 5 часов. Я помню, что где-то читал, что исключение API 10 означает, что есть проблема с отпечатками пальцев. Значит, это должно быть хранилище ключей или неправильная конфигурация в firebase. В конце концов, это было хранилище ключей. Я до сих пор не уверен, почему это сработало, но я, кстати, использовал Windows 10:

1.) Убедитесь, что в файле android / build.gradle у меня было следующее:

buildscript {
    repositories {
        google()
        jcenter()
    }

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

2.) Я добавил эти две строчки в файл android / gradle.properties

android.useAndroidX=true
android.enableJetifier=true

3.) Перешел в C: \ Users \ YOURUSER \ .android и удалил следующее:

debug.keystore
debug.keystore.lock

4.) Откройте терминал от имени администратора и сгенерируйте хранилище ключей отладки в этом каталоге.

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

Получены отпечатки пальцев:

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

5.) Добавлены отпечатки SHA1 в конфигурацию в firebase

Это было с моей стороны. Надеюсь, это кому-то поможет.

Морфинизм
источник
0

Убедитесь, что сертификаты подписи, которые вы используете на консоли firebase, такие же, как и те, которые используются в настройке отладки signatureConfigs >> в файле app / build.gradle, пока все еще находятся в разработке. Несоответствие вызывает ошибку.

Тони Николус
источник
0

Это исправило это для меня. Я сделал небольшой рефакторинг в новом проекте. Я думал, что использую свой старый google-services.jsonфайл, но я использовал не тот файл. Я пробовал все остальное в течение двух дней, прежде чем осознал эту простую ошибку.

Опримус
источник
0

Мне это помогло (возникла проблема с импортом SHA1)

cd .android я использовал и скопировал ключ SHA1 и вставил в firebase, конфигурацию проекта, приложение для Android, сертификат SHA

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

и я создал еще один ключ:

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

и использовал это, чтобы взять еще один ключ SHA:

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

Я скопировал и вставил еще один ключ в свой проект firebase.

также загрузил google-services.json и вставил его в Android / app внутри проекта flutter.

Это сработало правильно, мои зависимости 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

мой код:

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

Надеюсь, это сработает.

Педро Молина
источник
0

Пожалуйста, убедитесь, что вы делаете это:

  • Включите вход в Google из консоли firebase

  • Поместите свой SHA-1 при настройке приложения firebase для Android

  • После входа в систему с той же учетной записью, с которой вы создали проект Firebase. Вы заполнили это согласие https://console.developers.google.com/apis/credentials/consent
Ихсанудинхаким
источник
0

Я получаю эту ошибку: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 7 :, null) Возможно, решение вам подходит.

И я понимаю, что мое отладочное устройство (режим отладки Android) не подключено к Интернету. Я думаю, что аутентификация не удалась, поэтому метод возвращает значение null или пользователя, равного нулю.

Возвращаемую переменную необходимо проверить перед использованием.

Али Барансель УРАЛ
источник
Мне трудно понять ваш ответ: можете ли вы получить помощь, используя английский (не мой первый язык)?
greybeard
0

В моем случае ни один из ответов не решил проблему. Поразмыслив, я понял, что некоторое время назад я изменил имя пакета своего приложения . Если это ваш случай, вы должны просто создать другое приложение в своем проекте Firebase с новым именем пакета и снова загрузить файл google-services.json.

Андерсон Далберт
источник
0

Однако приведенные выше ответы верны, но, тем не менее, если у вас возникла проблема, не забудьте проверить раздел signatureConfig {} файла app / build.gradle. В нем не должно быть нежелательных ссылок на файл хранилища ключей, которые могут вызывать несоответствие с google-services.json и хранилищем ключей.

RamKr
источник
0

Если ваше выпущенное приложение не работает должным образом, и вы используете подписку Google Play, скопируйте SHA из своей учетной записи магазина воспроизведения , тот из вашего локального ключа не будет работать введите описание изображения здесь

Омар Амар
источник