在昨天的Google I / O主题演讲之后,我已经更新了Android SDK,以将游戏服务集成到我的一个应用中。
我到目前为止所做的事情:
在开发控制台中添加并链接了我的应用(游戏服务)
在我的应用程序/清单中包含了OAuth客户端ID
添加BaseGameActivity和GameHelper我的项目(从GitHub)
将google-play-services库添加到我的项目中
扩展BaseGameActivity,添加了一个com.google.android.gms.common.SignInButton
我还设置了游戏元数据,当然还有一些成就。开发控制台声明已准备好发布。为了测试登录流程和成就,我添加了两个Google+帐户作为测试用户。
但是,当我测试SignInButton时,会弹出警告:Unknown error。这是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应用程序条目(双重检查的证书指纹)
禁用反盗版
跳过保护者
创建一个新的(测试)游戏并使用其客户端ID
该问题与“测试帐户”部分无关。使用未启用测试的帐户将导致另一个错误消息:
E/GameAgent: Unable to retrieve 1P application 547xxxxxx457 from network
E/CheckGameplayAcl: Unable to load metadata for game
Hartok解决方案!
Hartok的解决方案为我解决了很多问题。我以前从未访问过Google API控制台。重要的是要知道,当您从游戏中删除链接的应用程序甚至删除游戏时(在开发控制台中),不会删除OAuth客户端ID。您必须访问API控制台并手动将其删除。
自动选择的SHA1指纹(总是)错误!您必须自己查找:
keytool -exportcert -alias <your-alias> -keystore <path-to-keystore> -list -v
我的(正确)链接的应用程序的新客户端ID看起来像89xxxxxxxx73-2u6mXXXXXXXXXXXXXXXXXXX8903.apps.goo...,而不是以前的12位数字。我终于弄清楚,您必须排除破折号和字母数字的内容,并且只能使用12位数字。
守着一只汪
相关分类