Сразу после вчерашнего дня ядро ввода-вывода я обновил свой Android SDK, чтобы интегрировать сервисы игры в одно из моих приложений.
Вещи, которые я сделал до сих пор:
- добавлено и связано мое приложение в Dev Console (игровые службы).
- включил идентификатор клиента OAuth в мое приложение/манифест
- добавил
BaseGameActivity
иGameHelper
к моему проекту (из GitHub) - добавлена библиотека google-play-services в мой проект
- extended
BaseGameActivity
, добавленcom.google.android.gms.common.SignInButton
Я также установил метаданные в игре и, конечно же, некоторые достижения. Консоль dev утверждает, что она готова к выпуску. Чтобы проверить поток входа и достижения, я добавил две учетные записи Google+ в качестве тестовых пользователей.
Но когда я тестирую SignInButton, появляется предупреждение: Неизвестная ошибка. Здесь logcat:
ERROR/Volley: il.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/me
ERROR/SignInIntentService: Access Not Configured
ERROR/LoadSelfFragment: Unable to sign in - application does not have a registered client ID
Я создал свое приложение в режиме производства - используя ProGuard и правильный сертификат.
Я что-то пропустил?
Обновление - еще несколько попыток
Вот краткий обзор того, что я пробовал в то же время. Ничего не помогло.
- удалить и воссоздать связанную запись приложения Android (двойной флажок сертификата сертификата)
- отключить антипиратство
- пропустить proguard
- создать новую (тестовую) игру и использовать ее идентификатор клиента
Проблема не связана с разделами учетных записей для тестирования. Использование учетной записи, которая не включена для тестирования, приведет к еще одному сообщению об ошибке:
E/GameAgent: Unable to retrieve 1P application 547xxxxxx457 from network
E/CheckGameplayAcl: Unable to load metadata for game
Решение от Hartok!
Решение Hartok помогло мне решить эту проблему. Я никогда не посещал Консоль API Google. Важно знать, что идентификатор клиента OAuth не удаляется при удалении связанного приложения из вашей игры или даже удалении игры (в консоли Dev). Вы должны посетить Консоль API и удалить ее вручную.
Автоматически выбранный отпечаток SHA1 (всегда) неправильный! Вы должны искать свой собственный:
keytool -exportcert -alias <your-alias> -keystore <path-to-keystore> -list -v
Новый идентификатор клиента моего (правильно) связанного приложения выглядел как 89xxxxxxxx73-2u6mXXXXXXXXXXXXXXXXXXX8903.apps.goo...
, а не только 12 цифр, как раньше. Я, наконец, понял, что вам нужно исключить тире и буквенно-цифровую информацию и использовать только 12 цифр.