Вход в Google не работает из приложения, загруженного из магазина воспроизведения

  1. Создал приложение, которое использует response-native-google-signin для входа в приложение с логином google
  2. Создано хранилище ключей для подписи моего приложения, как описано здесь < / а>
  3. Signed my app and uploaded into Google Playstore
    • When I was asked if I want to opt-in for the Google Play App Signing, I agreed
  4. Если я попытаюсь войти в свое приложение (загруженное из магазина игр), я получаю сообщение об ошибке messsage: DEVELOPER_ERROR, error code: 10

Примечание 1: мое приложение не использует firebase

Примечание 2: если я установлю apk прямо на свое устройство, логин будет работать

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

Обновлять:

  • Загрузил google-services.json из здесь и добавил его в /android/app, и теперь приложение работает, если я загружу его со страницы управления выпусками и установлю вручную. Тем не менее, все равно не работает, если я устанавливаю его прямо из магазина Google Play.

person Raghudevan Shankar    schedule 04.11.2017    source источник
comment
Вы добавили свой ключ SHA1 в конфигурацию консоли firebase?   -  person Gaurav    schedule 04.11.2017
comment
Для этого вам нужно добавить ключ выпуска SHA-1 в консоль firebase.   -  person Priya    schedule 04.11.2017
comment
Я не использую firebase, обязательно ли использование firebase?   -  person Raghudevan Shankar    schedule 04.11.2017
comment
Какой бэкэнд вы используете   -  person Alexander Vitanov    schedule 04.11.2017
comment
нет бэкэнда, это простое приложение (бухгалтерская книга для отслеживания расходов)   -  person Raghudevan Shankar    schedule 06.11.2017
comment
@Raghudevan: не могли бы вы переместить свой ответ в соответствующее поле для ответов, пожалуйста? Мы не рекомендуем объединять ответы в вопросы.   -  person halfer    schedule 26.11.2017


Ответы (4)


Решение:

  • Проблема заключалась в том, что при генерации google-services.json необходимо предоставить App signing certificate SHA-1 certificate fingerprint; Я предоставил Upload certificate's SHA-1 certificate fingerprint, поэтому он не работал в продакшене.
  • По сути, на странице учетных данных вам нужно создать два идентификатора клиента oauth. для Android (один с App Signing certificate, другой с Upload certificate и один идентификатор клиента oauth типа web, а при использовании react-native-google-signin вам необходимо указать webClientId.
person Raghudevan Shankar    schedule 26.11.2017

Это очень просто: перейдите в учетную запись магазина, в которую вы загрузили подписанный APK. выберите свое приложение, затем перейдите в раздел Управление выпусками, затем Подписание приложений.

Скопируйте ключ SHA1 сертификата подписи приложения.

Перейдите по этой ссылке https://developers.google.com/identity/sign-in/android/start-integrating

Нажмите кнопку НАСТРОИТЬ ПРОЕКТ.

выберите свое приложение, выберите Android, приложение, имя пакета вашего приложения, затем вставьте сертификат SHA1

Затем нажмите "Создать". Вот и все.

Теперь вы можете использовать вход в Google в своем приложении

person raj peer    schedule 07.02.2019
comment
ОБНОВЛЕНИЕ 2021: Теперь это Google Play Store - ›Раздел выпуска -› Настройка - ›Целостность приложения - person Maxwell; 28.07.2021

Вчера у меня возникла такая же проблема.

Google выпустил новую службу подписи в консоли публикации playstore, в которой Google будет подписывать ваше приложение со своим хранилищем ключей. После подписания он предоставит вам новый SHA, который вы должны добавить в свой огонь. введите описание изображения здесь базовый аккаунт. Смотрите изображение для лучшего понимания

person Sathish Swaminathan    schedule 27.01.2019

Вы добавили ключ sha-1 для своего приложения в режиме отладки, и тогда вы сможете выполнить вход в Google в своем приложении. Но поскольку приложение идет в производство, для него требуется ключ sha-1. И это вам нужно добавить в консоль firebase. Вы можете проверить свою консоль firebase и проверить наличие приложения для Android.

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

Приведенная выше команда помогает создать ключ sha-1 для отладочной версии.

Вы должны были предоставить вам подписанный путь к файлу хранилища ключей для производственной sha-1. И это будет сделано командой

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

Вам просто нужно указать конкретные пути для файла хранилища ключей для выпущенного apk.

person Prince    schedule 04.11.2017
comment
Хорошо, но это проблема sha1 для производственного приложения. - person Prince; 06.11.2017
comment
вы должны предоставить файл google-service.json в вашем android / app или android / app / src / debug, тогда вы должны предоставить эту информацию с помощью производственного ключа-хэша {client_id: xyz_abc_pqr ....... apps.googleusercontent. com, client_type: 1, android_info: {package_name: package_name, certificate_hash: sha-1 key hash for production}}, - person Prince; 06.11.2017
comment
Итак, после добавления google-services.json приложение работает, если я загружаю его со страницы управления выпуском и устанавливаю вручную с помощью adb, но оно по-прежнему не работает при загрузке из магазина приложений @prince. - person Raghudevan Shankar; 07.11.2017
comment
Согласно documemtion od react-native-google-sign, вам необходимо создать приложение на console.firebase.google.com. - person Prince; 07.11.2017
comment
В руководстве по Android в этом модуле сказано добавить файл google-service.json в приложение, вы можете загрузить его, выполнив шаги, указанные в developers.google.com/mobile / Ссылка. - person Prince; 07.11.2017
comment
Я уже добавил google-services.json в каталог /android/app - person Raghudevan Shankar; 07.11.2017
comment
Откуда вы скачиваете этот файл? - person Prince; 07.11.2017
comment
Позвольте нам продолжить это обсуждение в чате. - person Prince; 07.11.2017