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

Я прошел через это, и что касается процесса, я сделал это .

Но когда я установил приложение из игрового магазина, я не смог войти в систему с помощью кнопки google sign in.

Я использовал Firebase для входа в Google. Когда я нажимаю кнопку входа, появляется возможность выбрать учетную запись, но затем она не выполняет вход и ничего не делает.

Так где же я ошибаюсь?


person arqam    schedule 04.09.2016    source источник
comment
Добавьте хранилище ключей выпуска SHA1, получите для него новые ключи API, при необходимости установите их в AndroidManifest и скомпилируйте с новым google-services.json.   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Я уже включил ключи SHA моего проекта в учетную запись Firebase. Что еще есть и как добавить в Манифест?   -  person arqam    schedule 04.09.2016
comment
в манифесте? Ничего, требуется только на каком-то другом API. Просто скачайте новый google-services.json. И проверьте GoogleApiClient init, возможно, вы напрямую используете ключ API здесь   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Но я уже получил google-services.json из firebase после завершения процесса. Зачем покупать новый?   -  person arqam    schedule 04.09.2016
comment
Поскольку он содержит ключи API, которые отличаются для отладки и выпуска   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Откуда мне говорят получить файл json? Firebase?   -  person arqam    schedule 04.09.2016
comment
Да, в консоли Firebase нажмите значок настроек справа от имени приложения, выберите настройки проекта, и вы увидите   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Не могли бы вы рассказать мне, как получить ключ освобождения SHA1? Я создал файл .jks, но как получить ключ выпуска sha1?   -  person arqam    schedule 04.09.2016
comment
переместим обсуждение в чат chat.stackoverflow.com/rooms/26424/iosandroidchaosoverflow   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Я вижу сообщения в группе чата, но не могу войти в систему ..   -  person arqam    schedule 04.09.2016
comment
странно, но здесь описано, как получить SHA developers.google.com/maps/documentation/android-api/ Добавьте этот SHA в проект FirebaseConsole и получите новый .json   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira В моем псевдониме и в ключе с расширением .jks у меня есть пробел между ними. Так что это создает для меня проблему при создании.   -  person arqam    schedule 04.09.2016
comment
в пространстве терминала должен быть выделен как \. Или просто переименуйте этот файл и избегайте пробелов в имени файлов / папок.   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Большое спасибо. stackoverflow.com/a/19860015/6366458 также работал.   -  person arqam    schedule 04.09.2016
comment
скажите мне, сработало ли это, я отправлю его в качестве ответа   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira. Конечно. Дай мне проверить.   -  person arqam    schedule 04.09.2016
comment
@DimaRostopira Google может опубликовать обновление в течение нескольких часов. Вы должны написать ответ.   -  person arqam    schedule 04.09.2016
comment
Почему вы загружаете? Сборка - ›Создайте подписанный APK, затем установите этот APK и протестируйте   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Установить как в штатном Run в андроид студии?   -  person arqam    schedule 04.09.2016
comment
Нет, после завершения сборки вы увидите всплывающее окно с кнопкой Показать в файловом менеджере, выберите его, перенесите на устройство и установите вручную   -  person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Хорошо, делаем.   -  person arqam    schedule 04.09.2016


Ответы (12)


Когда вы загружаете apk в Play Store, Play Store создает новый ключ SHA1 под названием «Сертификат подписи приложения». Вы получаете этот SHA1 и сохраняете его в своей консоли или учетной записи firebase (по мере необходимости).

Новый SHA1 можно найти в разделе Выпущенное управление -> Выбор приложений на вашей игровой консоли.

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

person Prinkal Kumar    schedule 02.06.2017
comment
Спасибо @Prinkal за указание на Released Management->App Sigining - person Abhishek Singh; 07.06.2017
comment
Спасибо тебе, легенда! После 5 часов боли я нашел твой ответ - person Sam Matthews; 19.07.2017
comment
@PrinkalKumar после загрузки apk в playstore и добавления SHA1 подписи приложения в консоль firebase с отладкой SHA1. Нужно ли мне повторно загружать файл google-services.json и снова публиковать подписанный apk? Ответьте. - person Pankaj Lilan; 03.08.2017
comment
@PankajLilan Нет, вы добавили свой SHA1, этого достаточно. Но для лучшего результата повторно скачайте и сохраните файл .json. Он будет использован при следующем обновлении вашего приложения. Firebase использует только строку имени вашего пакета из файла .json и сама проверяет весь VALID SHA1 на своей консоли. Таким образом, если имя пакета совпадает, отличается только SHA1, повторная загрузка файла google-serveice.json не требуется. Надеюсь, это поможет - person Prinkal Kumar; 04.08.2017
comment
Вы спасли мою жизнь. У них должна быть соответствующая документация по этому поводу. Как мы пропустили этот выпуск. Это прекрасно работает. Этот ответ следует назвать правильным! - person tor9ado; 30.08.2017
comment
Решение. Спасибо! - person valenta; 07.12.2017
comment
Это должен быть принятый ответ. Спасибо @PrinkalKumar - person Simon Chius; 08.12.2017
comment
Ты спас мне жизнь, брат! - person Aaron; 12.12.2017
comment
Как я себя чувствую сейчас, не могу объяснить. Большое спасибо :) - person Pratik Butani; 30.03.2018
comment
@PratikButani, я могу понять, братан - person Prinkal Kumar; 31.03.2018
comment
Спасибо .. Для сертификата входа в Gmail API auth2.0 это также будет работать. мы НЕ должны использовать сертификат загрузки, а использовать подписанный сертификат. - person Learning Always; 19.05.2018
comment
Большое спасибо, брат, добавление новой базы sa1to firebase сработало для меня - person Rajesh Jr.; 14.08.2018
comment
Большое спасибо за это. Но где это похоронено в документации ?? - person Crocodile; 12.09.2018
comment
@RajeshJr Нет где. Google, должно быть, задокументировал это - person Prinkal Kumar; 14.09.2018
comment
@PrinkalKumar, ты неправильно меня пометил! Я не спрашивал о документации, это крокодил - person Rajesh Jr.; 17.09.2018
comment
Ох, мой плохой @RajeshJr. - person Prinkal Kumar; 17.09.2018
comment
@PrinkalKumar Отличная работа Спасибо, что поделились с нами - person Hardik Vasani; 27.10.2018
comment
Я люблю тебя чувак! Я люблю вас! Серьезно! Ты спас мне всю жизнь ???? - person Rebar; 07.01.2020
comment
работает, но только для релиза. Если я загружаю приложение во внутренний тестовый трек, оно все равно ломается. - person Vaibhav Vishal; 24.01.2020
comment
@VaibhavVishal Я уже проверял несколько месяцев назад, он работал и с внутренним, или с бета-тестом. Предлагаю вам еще раз проверить ваши данные. - person Prinkal Kumar; 24.01.2020
comment
внутренний тестовый трек и релиз используют разные ключи. Я получил ключи от App Certificate секции внутреннего тестового трека, найти их было несложно. Извините за размещение комментария перед попыткой найти ключи в игровой консоли - person Vaibhav Vishal; 24.01.2020
comment
Я знаю, что опаздываю, но для Gmail API auth2.0 я использовал сертификат подписи приложения в консоли Google API, и он отлично работает. Но если я хочу отлаживать свое приложение в студии Android, это не сработает. Как мне это сделать ? - person Mervin Hemaraju; 07.06.2020
comment
В последней версии Google Play сертификат ключа подписи приложения находится в: Release -> Setup -> App Signing - person mDonmez; 10.12.2020
comment
Теперь он находится в разделах: Выпуск - ›Настройка -› Целостность приложения - ›Сертификат ключа подписи приложения. - person Mr. Messy; 20.04.2021

Обновление: Google изменил поведение загрузки APK, проверьте ответ ниже!

Выпуск APK и отладочный APK имеют разные SHA1 и разные ключи API для сервисов Google. Оба они должны быть добавлены в Firebase Console -> Project settings. Затем загрузите google-services.json отсюда, добавьте его в проект и перекомпилируйте с хранилищем ключей выпуска, используя опцию «Создать подписанный APK». Это должно работать

person Dima Rostopira    schedule 04.09.2016
comment
@DimaRostopira Не могли бы вы объяснить мне, как добавить ключи API для режима отладки и выпуска? Я создал проект в консоли Firebase. - person Maulik patel; 01.09.2017
comment
Поведение @Maulikpatel изменилось, проверьте ответ ниже - person Dima Rostopira; 02.09.2017
comment
Я также сгенерировал sha1 для выпуска apk, но после публикации приложения в магазине воспроизведения логин Google не работает, - person Lovekush Vishwakarma; 22.09.2017
comment
@LovekushVishwakarma проверьте ответ ниже. Вы также должны добавить SHA1 для ключа, сгенерированного консолью разработчика Google Play, в Released Management- ›App Sigining - person Dima Rostopira; 22.09.2017
comment
@DimaRostopira Пожалуйста, проверьте мою проблему на stackoverflow.com/questions/55235295/, это совершенно другой сценарий отсюда - person Shikhar; 19.03.2019

Проблема возникла, когда для моего приложения была включена функция подписи приложений Google Play. Подпись приложений Google Play изменяет отпечаток сертификата SHA-1 (из моего хранилища ключей) на собственный отпечаток сертификата SHA-1.

Исправление:

  1. Перейти https://play.google.com/apps/publish/
  2. Нажмите свое приложение >> Управление выпусками >> Подписание приложений.

Вы увидите «Сертификат подписи приложения» и «Загрузить сертификат».

  1. Скопируйте SHA-1 из "Сертификата подписи приложения". (ВЕРХНИЙ)
  2. Перейти https://console.firebase.google.com/
  3. Щелкните свое приложение >> Настройки [значок коробки передач справа от обзора проекта] (вверху экрана) >> Настройки проекта >> Общие [вкладка] >> Добавить отпечаток пальца.
  4. Вставьте сертификат подписи приложения SHA-1. Сохранить.

Все исправлено!

person Alan Nelson    schedule 12.11.2018

При использовании firebase для жизненного цикла приложения требуется три типа SHA1.

  • -отладка SHA1
  • -выпустить SHA1
  • -подпись SHA1 (получается из игрового магазина)

Вам нужно добавить подписание SHA1 в firebase после публикации вашего приложения, здесь я прилагаю два снимка экрана, пожалуйста, посмотрите. Сертификаты, отмеченные красным, должны быть обязательными, поэтому скопируйте их из игрового магазина и вставьте на firbase введите описание изображения здесь

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

В firebase вставьте здесь

person Muhammed Fasil    schedule 29.11.2018
comment
добавление обоих сертификатов SHA-1 помогло. Спасибо - person Yernar Amergaliyev; 11.08.2020
comment
Не работает. После выполнения этих шагов. Исправление происходит немедленно или нам нужно подождать? - person user2978140; 22.04.2021

Проблема возникает из-за того, что

1) когда вы создаете / публикуете приложение через консоль Google Play, есть опция для включения подписи приложений Google Play. если вы включите, он покажет

Для этого приложения включена функция подписи приложений Google Play.

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

тогда данные вашего сертификата загрузки изменятся, и вам нужно будет переписать данные сертификата SHA-1 и т. д. в соответствующих местах.

2) Вы предоставили данные о сертификате отладки / сертификате SHA-1 вместо RELEASE сертификата.

3) ошибка при генерации сертификатов.

Решение

1) Перейдите в консоль Google Play.

Relese management -> Подписание приложений

то вы можете увидеть два типа сертификатов

1- Загрузить сертификат (сертификат вашего приложения предоставляется при создании подписанного apk)

2- Сертификат подписи приложения (поскольку вы включили подписку приложений Google Play, поэтому они предоставили новые сведения о сертификате для опубликованного apk)

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

2) предоставить релиз SHA-1 / keyHash

создать / использовать данные хранилища ключей подписанного apk.

используя командную строку:

Google / firebase SHA-1:

keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v

хэш ключа выпуска facebook:

keytool -exportcert -alias <user alias name> -keystore < keystore path> | <openssl-path> sha1 -binary | <openssl-path> base64   

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

person Adarsh Vijayan P    schedule 07.12.2018

Чтобы добавить существующие ответы, когда у вас есть только что созданный SHA1:

Перейдите к https://console.firebase.google.com:

  1. Выбрать проект
  2. Обзор проекта
  3. Настройки проекта
  4. ДОБАВИТЬ ОТПЕЧАТКУ - введите SHA1 в отпечаток сертификата.
  5. Сохранить
person RonTLV    schedule 21.10.2018

Если кто-то не может решить эту проблему, просто откройте в консоли Настройка ›целостность приложения, затем скопируйте SHA1 и вставьте его в консоль firebase.

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

person Shivam Yadav    schedule 10.05.2021

В случае, если кто-то столкнется с этой проблемой после августа 2020 года. Новый SHA1 можно найти в разделе «Настройка» - ›Подписание приложения на игровой консоли. Все остальное такое же, как @PrinkalKumar, как ответил.

person tsvillain    schedule 05.08.2020

в новой версии консоли Google:

Настройка ›целостность приложения

person Ryan Tafakori    schedule 19.02.2021

Если при публикации приложения вы включили подписку Google Play App Signing, вы, вероятно, имеете дело с двумя отпечатками пальцев:

Тот, который поступает из вашего локального хранилища ключей (keytool -exportcert -keystore path-to-production-keystore -list -v), известный как «сертификат загрузки».

Новый, созданный Google, когда вы включили подписку («сертификат подписи»).

Конфликт с этой ситуацией заключается в том, что вы можете получить два идентификатора клиента OAuth 2.0:

  • Тот, который вы создали перед публикацией своего приложения (и перед включением подписи Google), который действительно является «правильным».

  • НОВЫЙ, созданный Google, когда вы включили подписку Google.

Вы можете проверить этот факт: Google Play Console -> Игровые сервисы -> Выберите свое приложение -> Сведения об играх -> Проект консоли API -> Учетные данные -> Идентификаторы клиента OAuth 2.0.

РЕШЕНИЕ

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

  1. Найдите «правильный» идентификатор клиента OAuth 2.0: Консоль Google Play -> Игровые сервисы -> Выберите свое приложение -> Связанные приложения -> Выберите свое приложение -> Обратите внимание на «Идентификатор клиента OAuth2» внизу.

  2. Найдите сертификат «Подписание»: Консоль Google Play -> Игровые сервисы -> Выберите свое приложение -> Сведения об игре -> Проект консоли API -> Учетные данные -> идентификаторы клиента OAuth 2.0 -> «Клиент Android для XXXXXX (автоматически создан Служба Google) "-> Обратите внимание на значение (xx: xx: xx: etc ....) Комментарий: чтобы повторно использовать это значение в моем другом идентификаторе клиента OAuth 2.0, мне пришлось заменить его на какой-то фиктивный номер . В противном случае вы получите ошибку: «Сертификат уже использовался в каком-то другом проекте».

  3. Перейдите к уже существующему идентификатору клиента OAuth2: Консоль Google Play -> Игровые сервисы -> Выберите свое приложение -> Сведения об играх -> Проект консоли API -> Учетные данные -> Идентификаторы клиента OAuth 2.0 -> Выберите «Идентификатор клиента OAuth 2.0» из шага 1. Обновите значение сертификата, указав значение из шага 2.

Это решило мою проблему. В моем приложении (Match4App) мультиплеер работает отлично.

person Pablo Alfonso    schedule 02.01.2019

В консоли последней версии Google Play 2021 года:

КРАТКОЕ ПОСОБИЕ:

Application Play console > Setup > App Integrity

ИЛИ
Искать App Integrity в окне поиска приложения.

ПОДРОБНОЕ РУКОВОДСТВО:

Шаг 1. Перейдите на страницу https://play.google.com/console/u/3/developers и откройте панель управления своего приложения.

Шаг 2: на левой боковой панели в разделе Release выберите Setup, затем App Integrity.

Необязательно: вы также можете просто искать App Integrity в поиске.

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

person Brian    schedule 16.07.2021

просто перейдите в игровую консоль google> понравившуюся учетную запись и свяжите свой проект firebase. Теперь все работает нормально!

person Shehan Rashmika Perera    schedule 02.06.2019