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

Я прошел этот, и, насколько это происходит, я сделал это.

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

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

Итак, где, возможно, я ошибаюсь?

Ответ 1

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

Новый SHA1 будет найден в Освобожденном управлении Sigining приложения на вашей консоли воспроизведения.

[enter image description here]

Ответ 2

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

Релиз APK и отладка APK имеет разные SHA1 и различные ключи API для служб google. Оба они должны быть добавлены в Firebase Console → Настройки проекта. Затем загрузите google-services.json отсюда, добавьте его в проект и перекомпилируйте с хранилищем ключей выпуска, используя опцию "Build signed APK". Это должно работать

Ответ 3

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

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

  1. Goto https://play.google.com/apps/publish/
  2. Нажмите ваше приложение >> Управление релизами >> Подписание приложения.

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

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

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

Ответ 4

Существует три типа SHA1 для жизненного цикла приложения, когда вы используете firebase

  • -debug SHA1
  • -release SHA1
  • -signing SHA1 (он поступает из магазина воспроизведения)

Вам нужно добавить подпись SHA1 в firebase после публикации вашего приложения здесь. Я прикрепляю два снимка экрана, пожалуйста, посмотрите. Должны быть требуются красные маркированные сертификаты enter image description here

enter image description here

Ответ 5

Проблема происходит, потому что

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

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

enter image description here

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

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

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

Решение

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

Управление ретрансляцией → подписка на приложение

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

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

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

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

2) обеспечить выпуск SHA-1/keyHash

создавать/использовать данные Keystore о подписанных 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   

если вас попросят ввести пароль, введите свой подписанный пароль kkystore apk.

Ответ 6

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

На странице https://console.firebase.google.com:

  1. Выбрать проект
  2. Обзор проекта
  3. Настройки проекта
  4. ДОБАВИТЬ FINGERPRINT - введите SHA1 в отпечаток сертификата
  5. Сохранить

Ответ 7

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

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

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

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

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

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

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

РЕШЕНИЕ

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

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

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

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

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

Ответ 8

Могу ли я добавить отпечаток SHA-256 вместо отпечатка SHA-1. Будет ли это работать? Фактически я создал проект с использованием моего имени пакета и SHA1, упомянутого в подписи приложения, и позже удалил этот проект. Скажите, пожалуйста, если SHA-256 будет работать, а если нет, то какой-нибудь другой способ обхода.

Ответ 9

просто зайдите в понравившуюся учетную запись Google play console> и создайте ссылку на свой проект Firebase. Теперь все работает отлично!