PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, null) при использовании Flutter для создания пакета приложений - PullRequest
0 голосов
/ 02 октября 2019

Я создаю приложение Flutter с firebase_auth и google_sign_in .

Некоторое время все работало хорошо, и все мои существующие пользователи в выпущенном продуктеЯ не испытывал никаких проблем, но некоторое время назад я начал получать сообщения о том, что новые пользователи не могут войти в систему. Я не думал об этом, пока отчеты не начали накапливаться. Я обнаружил, что они получили сообщение об ошибке в заголовке. Я потратил кучу времени на расследование ...

Я просмотрел все остальные записи StackOverflow для этой проблемы:

  1. Необработанное исключение: PlatformException (sign_in_failed,com.google.android.gms.common.api.ApiException: 10:, null)
  2. PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, ноль)
  3. Произошло исключение. PlatformException (PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, null))
  4. Флаттер: Firebase: PlatformException (sign_in_failed, com.google. android.gms.common.api.ApiException: 10:, ноль)
  5. Флаттер: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:,null)
  6. Флаттер и плагин google_sign_in: PlatformException (sign_in_failed, com.google.android.gms.common.api.ApiException: 10:, ноль)
  7. com.google.android.gms.common.api.ApiException: 10:
  8. com.google.android.gms.common.api.ApiException: 10
  9. Как исправить "com.google.android.gms.common.api.ApiException: 10:"
  10. Ошибка входа в Google Firebase: com.google.android.gms.common.api.ApiException: 10
  11. Ошибка входа в Google com.google.android.gms.common.api.ApiException: 10:
  12. Почему я получаю com.google.android.gms.common.api.ApiException: 10:?
  13. Ошибка с плагином 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 при создании пакета приложений? (Имейте в виду, что существующие пользователи, которые ранее входили в более раннюю версию приложения, работают без проблем.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...