Google Play Game Services - не удается войти в систему
сразу после вчерашнего Google I/O keynote я обновил свой Android SDK для интеграции игровых сервисов в одно из моих приложений.
вещи, которые я сделал до сих пор:
- добавлено и связано мое приложение в консоли разработчика (игровые сервисы)
- включил идентификатор клиента OAuth в мое приложение / манифест
- добавил
BaseGameActivityиGameHelperк моему проекту (от GitHub) - добавлена библиотека google-play-services в мой проект
- extended
BaseGameActivityдобавилcom.google.android.gms.common.SignInButton
Я также настроил игровые метаданные и, конечно же, некоторые достижения. Консоль разработчика заявляет, что она готова к выпуску. Чтобы проверить поток входа и достижения, я добавил две учетные записи 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!
решение Хартока очень помогло мне решить эту проблему. Я никогда не посещал Google API Console раньше. Важно знать, что идентификатор клиента OAuth не удаляется при удалении связанного приложения из игры или даже удалить игру (в консоли разработчика). Вы должны посетить консоль API и удалить ее вручную.
автоматически выбранный отпечаток пальца SHA1 (всегда) неверен! Вы должны искать свой собственный:
keytool -exportcert -alias <your-alias> -keystore <path-to-keystore> -list -v
новый идентификатор клиента моего (правильно) связанного приложения выглядел как 89xxxxxxxx73-2u6mXXXXXXXXXXXXXXXXXXX8903.apps.goo..., а не только 12 цифр, как раньше. Я, наконец, понял, что вы должны исключить тире и буквенно-цифровой материал и должны использовать только 12 цифр.
Comments