Я создаю приложение Flutter с firebase_auth и google_sign_in .
Некоторое время все работало хорошо, и все мои существующие пользователи в выпущенном продуктеЯ не испытывал никаких проблем, но некоторое время назад я начал получать сообщения о том, что новые пользователи не могут войти в систему. Я не думал об этом, пока отчеты не начали накапливаться. Я обнаружил, что они получили сообщение об ошибке в заголовке. Я потратил кучу времени на расследование ...
Я просмотрел все остальные записи StackOverflow для этой проблемы:
- Необработанное исключение: PlatformException (sign_in_failed,com.google.android.gms.common.api.ApiException: 10:, null)
- PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, ноль)
- Произошло исключение. PlatformException (PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, null))
- Флаттер: Firebase: PlatformException (sign_in_failed, com.google. android.gms.common.api.ApiException: 10:, ноль)
- Флаттер: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:,null)
- Флаттер и плагин google_sign_in: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, ноль)
- com.google.android.gms.common.api.ApiException: 10:
- com.google.android.gms.common.api.ApiException: 10
- Как исправить "com.google.android.gms.common.api.ApiException: 10:"
- Ошибка входа в Google Firebase: com.google.android.gms.common.api.ApiException: 10
- Ошибка входа в Google com.google.android.gms.common.api.ApiException: 10:
- Почему я получаю com.google.android.gms.common.api.ApiException: 10:?
- Ошибка с плагином Google_sign_in в флаттере
И я попробовал все решения:
- Сгенерированный ключ отладки
- Введен ключ отладки SHA1 на сайте Firebase
- Проверено, что мой адрес электронной почты был введен на сайте Firebase.
- Загрузил файл google-services.json и поместил его в каталог
android/app/
- Построил флаттерприложение, использующее
flutter build appbundle --debug
- PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, null)
Поэтому я также попытался:
- Только с ключом релиза на сайте Firebase и с помощью
flutter build appbundle --release
- С ключом релиза и ключом отладки
- С SHA256 для каждой комбинации выше
С каждой из этих комбинаций я был уверен flutter clean
и заменил файл google-services.json на обновленный
Проверено, что android/build.gradle
и android/app/build.gradle
были настроены правильно
- Подтверждено, что "Google" был включен как "Войтиin Method »был включен на сайте Firebase
- Я даже заполнил экран OAuth-согласия своим именем приложения, логотипом, электронной почтой, домашней страницей, конфиденциальностью и условиями предоставления услуг и сохранил ссылки
Вот версии, с которыми я работаю:
google_sign_in: ^4.0.7
firebase_auth: ^0.14.0+5
Соответствующая часть android / app / build.gradle:
dependencies {
implementation "androidx.appcompat:appcompat:1.1.0-alpha01"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation "com.google.android.gms:play-services-auth:16.0.1"
implementation "com.google.android.gms:play-services-identity:16.0.0"
implementation "com.android.support:support-v4:28.0"
}
apply plugin: 'com.google.gms.google-services'
Соответствующаячасть android / build.gradle:
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.2'
}
}
Вывод доктора Flutter:
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0-rc1)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.38.1)
[!] Connected device
! No devices available
! Doctor found issues in 1 category.
Все тесты проводились на нескольких устройствах с использованием лаборатории тестирования Robo на Firebase (только для проверкивход выполнен успешно, не для проверки пользовательского интерфейса).
TLDR;В конце я наконец понял, что это работает, если я собираю apk, используя flutter build apk
(в отличие от appbundle). Затем я понял, что проблема началась примерно в то же время, когда флаттер начал рекомендовать мне создавать appbundles вместо apks.
Кто-нибудь смог войти в ПОЛЬЗОВАТЕЛЬСКОГО НОВОГО ПОЛЬЗОВАТЕЛЯ с помощью флаттера, используя google_sign_in при создании пакета приложений? (Имейте в виду, что существующие пользователи, которые ранее входили в более раннюю версию приложения, работают без проблем.)