Не удается войти в сервисы Google Play - PullRequest
0 голосов
/ 05 марта 2019

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

Я пытаюсь интегрировать службу Google Play в свою игру, потому чтоЯ хочу использовать их сервис облачного сохранения.Я использую Unity 2017.4.20f2 для сборки игры и загрузил эту версию библиотеки игр Google https://github.com/playgameservices/play-games-plugin-for-unity

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

LogCat показывает следующую ошибку:

<code>03-05 13:02:45.019: E/SignInAuthenticator(6500): **** APP NOT CORRECTLY CONFIGURED TO USE GOOGLE PLAY GAME SERVICES
03-05 13:02:45.019: E/SignInAuthenticator(6500): **** This is usually caused by one of these reasons:
03-05 13:02:45.019: E/SignInAuthenticator(6500): **** (1) Your package name and certificate fingerprint do not match
03-05 13:02:45.019: E/SignInAuthenticator(6500): ****     the client ID you registered in Developer Console.
03-05 13:02:45.019: E/SignInAuthenticator(6500): **** (2) Your App ID was incorrectly entered.
03-05 13:02:45.019: E/SignInAuthenticator(6500): **** (3) Your game settings have not been published and you are 
03-05 13:02:45.019: E/SignInAuthenticator(6500): ****     trying to log in with an account that is not listed as
03-05 13:02:45.019: E/SignInAuthenticator(6500): ****     a test account.
03-05 13:02:45.019: E/SignInAuthenticator(6500): ****
03-05 13:02:45.019: E/SignInAuthenticator(6500): **** To help you debug, here is the information about this app
03-05 13:02:45.019: E/SignInAuthenticator(6500): **** Package name         : com.bunjes.kjell.interal.test.omega
03-05 13:02:45.020: D/SamsungAlarmManager(4867): Cancel Alarm calling from uid:10029 pid :6009 / op:PendingIntent{fceca68: PendingIntentRecord{465fe38 com.google.android.gms broadcastIntent}}
03-05 13:02:45.022: E/SignInAuthenticator(6500): **** Cert SHA1 fingerprint: [RIGHT HERE IT SHOWS THE SHA1, WHICH MATCHES THE ONE FROM MY KEYSTORE]
03-05 13:02:45.022: E/SignInAuthenticator(6500): **** App ID from manifest : 367764999844
03-05 13:02:45.022: E/SignInAuthenticator(6500): ****
03-05 13:02:45.022: E/SignInAuthenticator(6500): **** Check that the above information matches your setup in 
03-05 13:02:45.022: E/SignInAuthenticator(6500): **** Developer Console. Also, check that you're logging in with the
03-05 13:02:45.022: E/SignInAuthenticator(6500): **** right account (it should be listed in the Testers section if
03-05 13:02:45.022: E/SignInAuthenticator(6500): **** your project is not yet published).
03-05 13:02:45.022: E/SignInAuthenticator(6500): ****
03-05 13:02:45.022: E/SignInAuthenticator(6500): **** For more information, refer to the troubleshooting guide:
03-05 13:02:45.022: E/SignInAuthenticator(6500): ****   <a href="http://developers.google.com/games/services/android/troubleshooting" rel="nofollow noreferrer">http://developers.google.com/games/services/android/troubleshooting</a>
  1. Моя учетная запись Gmail, которую я использую для Google Play, совпадает с той, которую я использую для разработки.Он также указан как «Тестер» в моем списке тестеров в консоли Google Play.
  2. Упомянутый в сообщении об ошибке SHA1 совпадает с тем, который я настроил в консоли API Google
  3. Имя пакетаупомянутое в сообщении об ошибке совпадает с указанным в консоли Google Play
  4. Сервис игры опубликован

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

Примечание.Идентификаторы в консоли API Google

Создание и загрузка приложения в Google Play

  1. Создание приложения в Unity с производственным хранилищем ключей (идентификатор xml и веб-клиента в Window> Google Play Services>Настройка> Настройка Android ... задаются с помощью xml и идентификатора веб-клиента с предыдущей попытки)
  2. Создание нового приложения в консоли Google Play
  3. Создание выпуска для внутренней дорожки
  4. Позвольте Google создавать и управлять ключом подписи моего приложения (рекомендуется)
  5. Загрузить .apk, встроенный в шаг 1)
  6. Создать рейтинг для игры
  7. Заполнитьв деталях «Цены и взносы»
  8. Проверка подписи приложений: SHA1 «Загрузить сертификат» соответствует SHA1 из хранилища ключей, которое я использовал;«Сертификат подписи приложения» содержит другой SHA1
  9. Перейдите к «Выпуски приложения» и управляйте тестерами для приложения.Включите список созданных мной тестеров, в который входит мой gmail, который я также использую в качестве консоли Google Play в соответствии с
  10. Редактировать выпуск -> Обзор -> Начать развертывание для внутреннего тестирования В правом верхнем углу приложение теперьимеет статус «Ожидание публикации»

Настройка игрового сервиса Google Play для приложения

  1. Перейдите в раздел «Игровые сервисы» -> Добавить новую игру
  2. Выберите «Я пока не использую API Google в своей игре»
  3. На вкладке «Сведения об игре» я выбираю «Сохраненные игры», загружаю значок и сохраняю изменения
  4. Консоль APIпоказывает гиперссылку на мой созданный проект (пока нет учетных данных, созданных в проекте)
  5. Перейдите на вкладку «Связанные приложения»
  6. Выберите «Android»
  7. ПодИмя пакета Я выбираю имя пакета из игры, которую я создал и зарегистрировал в консоли Google Play
  8. Нажмите «Сохранить и продолжить»> Нажмите «Авторизовать ваше приложение сейчас»
  9. Показанный код SHA1 не соответствуетсовпадают с тем из моего хранилища ключей.Итак, я меняю код на тот, который находится в моем хранилище ключей, и нажимаю «подтвердить»

Обновление идентификатора клиента в Unity

  1. В теперь настроенном игровом сервисе Google Play,перейдите на вкладку «Достижения»
  2. Создать тестовое достижение
  3. Нажмите «Получить ресурсы» на вновь созданном достижении и скопируйте код XML
  4. Откройте Unity и перейдите кОкно> Google Play Игры> Настройка> Настройка Android…
  5. Вставьте код XML из достижения
  6. Перейдите на вкладку «Связанные приложения» в игровом сервисе Google Play и выберите связанное приложение
  7. Скопируйте идентификатор клиента OAuth2
  8. Вставьте идентификатор клиента OAuth2 в качестве идентификатора клиента в «Идентификатор веб-клиента (необязательно)» и нажмите «Настройка»
  9. Появится сообщение «Службы Google Play настроены успешно»

Построениеновый APK и загрузите его в Google Play Console

  1. В Unity перейдите в «Файл»> «Настройки сборки»> «Настройки игрока»> «Другие настройки» и увеличьте «Bundle Version Code» на 1
  2. Build apk
  3. Вернитесь в консоль Google Play и выберите приложение
  4. Перейдите в «Управление релизами»> «Релизы приложений»> «Внутренний тестовый трек»> «Управление»> «Создать релиз»
  5. Загрузите новый файл .apk с исправленным кодом XML и новым идентификатором веб-клиента
  6. Нажмите «Сохранить»> «Обзор»> «Начать развертывание для внутреннего теста»

Опубликовать сервис игры

  1. Перейти к«Игровые сервисы»
  2. Выберите игровой сервис, созданный ранее
  3. Перейдите в «Публикация»> Добавьте недостающую информацию> Нажмите «Опубликовать игру»> Нажмите «Опубликовать сейчас»
  4. Дождитесь публикации Игрового сервиса

-> Проверить вход в систему -> Ошибка входа в систему;Ошибка, о которой я писал выше, возникает в LogCat

. Я действительно не знаю, что еще делать.Мы ценим каждый намек!

С наилучшими пожеланиями

...