我正在使用该BaseGameActivity课程连接谷歌玩游戏服务.问题是以某种方式认证不起作用.我在网上搜索了几个小时的解决方案,但没有找到任何有助于我解决问题的方法.
当我启动BaseGameActivity时,我在LogCat中获得以下输出:
03-19 14:22:36.126: W/GameHelper(15312): ****
03-19 14:22:36.126: W/GameHelper(15312): ****
03-19 14:22:36.126: W/GameHelper(15312): **** APP NOT CORRECTLY CONFIGURED TO USE GOOGLE PLAY GAME SERVICES
03-19 14:22:36.126: W/GameHelper(15312): **** This is usually caused by one of these reasons:
03-19 14:22:36.126: W/GameHelper(15312): **** (1) Your package name and certificate fingerprint do not match
03-19 14:22:36.126: W/GameHelper(15312): **** the client ID you registered in Developer Console.
03-19 14:22:36.126: W/GameHelper(15312): **** (2) Your App ID was incorrectly entered.
03-19 14:22:36.126: W/GameHelper(15312): **** …Run Code Online (Sandbox Code Playgroud) java android google-api google-play-services google-play-games
我正在尝试按照Google的文档实施Google Play服务,当我尝试连接我时,我会看到以下内容GameClient:
E/Volley: [4953] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me
E/Volley: [4953] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me
E/SignInIntentService: There is no linked app associated with this client ID.
Run Code Online (Sandbox Code Playgroud)
我已经检查过签署APK的证书的SHA1指纹,调试证书的SHA1以及提供给Google API的SHA1是否匹配,他们确实如此.我已经检查过应用程序ID在应用程序项目的清单中声明了(我的情况是我的13位数字ID,而不是包含一个包的那个).我还检查过我正在使用的测试帐户是否都列在开发者控制台中,它们是; 他们每个人都是@ gmail.com,他们包括我的开发者地址.他们每个人都激活了Google Plus.
我从API 16 S3设备和API 17 Google API模拟器中尝试过此操作.应用程序的包名称在清单中,在开发人员控制台上正确声明,并与API包名称匹配.该应用程序被列为游戏服务的客户端,并显示为"准备测试".
总之,我很难看出我的错误是什么以及我错过了什么.我想我也解决了Google的故障排除问题.我已经查看了StackOverflow上的主要问题,并且它们已被覆盖.不管是什么,我都想念,可能是我满脸通红.我能错过什么?
在多次尖叫和撕扯头发之后,我终于获得了应用内计费和播放服务登录,可以在我的 Android 应用程序中工作 - 有点。谷歌真的应该为自己感到羞耻,说得客气一点,这个过程一直很折磨人。提到的一个极其重要信息的示例有点像教程页面上的事后想法:“您必须在 Google Play 开发者控制台中创建新的客户端 ID,而不是在 Google 开发者控制台中。”
我现在已经达到了我的调试 APK 与游戏服务登录(排行榜和成就)一起工作的程度,我的发布 APK 与应用内计费一起工作。但不能同时进行。我知道调试 APK 不允许应用内计费,但是为什么在调试登录有效时游戏服务登录不起作用?我对包名、客户端 ID、应用程序 ID、调试和发布证书 SHA1 指纹进行了三重和四重检查,一切都完美匹配,但仍然没有运气。我得到了可怕的“没有与此客户端 ID 关联的链接应用程序”。它显然是链接的,因为它使用调试证书工作。
是否还有其他限制或小细节我必须考虑使这个 ")=#(¤/"¤() 工作?:-)