我目前正在将Google Play游戏服务集成到我的游戏中,以提供多人实时游戏功能(使用libgdx和BaseGameUtils)。
在我的Nexus 4上使用我的主要Google帐户“A”时,一切正常(登录,创建房间等)。
为了测试自动匹配和消息发送/接收,我创建了第二个Google帐户“B”,并将此帐户添加到了我(出厂重置的)三星Galaxy Tab中。
起初,一切都运行良好 - 我可以创建一个自动匹配的房间,发送和接收文本消息等。但是经过15分钟的测试后,我无法再使用Galaxy Tab上的帐户“B”登录。 Nexus 4上的帐户“A”仍然可以正常工作。
为了排除设备问题,我将帐户“A”添加到我的Galaxy Tab中,并成功登录。我还将帐户“B”添加到我的Nexus 4中,但登录失败。
等待一段时间(30分钟)后,立即可以再次在两个设备上使用帐户“B”登录。
这就是我的当前状态:我可以使用帐户“B”进行一些测试,但是短时间后它会被“阻止”,直到我可以再次使用它。帐户“A”始终有效。
在此“阻止”期间,我尝试了所有方法:删除应用程序数据/缓存,删除Play服务数据/缓存,将应用程序取消链接与我的“B”帐户。没有任何作用。
如果在帐户“B”被“阻止”时想要登录,则会产生以下日志输出:
07-27 13:20:35.508: I/dul(13742): I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond
07-27 13:20:35.508: I/dul(13742): Retrying request
07-27 13:20:35.808: E/Volley(13742): [1224] ip.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/102515671693140579145
07-27 13:20:35.818: E/SignInIntentService(13742): Access Not Configured
07-27 13:20:35.818: E/SignInIntentService(13742): ark
07-27 13:20:35.818: E/SignInIntentService(13742): at ams.b(SourceFile:189)
07-27 13:20:35.818: E/SignInIntentService(13742): at ams.a(SourceFile:111)
07-27 13:20:35.818: E/SignInIntentService(13742): at adz.a(SourceFile:220)
07-27 13:20:35.818: E/SignInIntentService(13742): at adz.a(SourceFile:201)
07-27 13:20:35.818: E/SignInIntentService(13742): at adi.a(SourceFile:489)
07-27 13:20:35.818: E/SignInIntentService(13742): at att.a(SourceFile:221)
07-27 13:20:35.818: E/SignInIntentService(13742): at com.google.android.gms.games.service.GamesSignInIntentService.onHandleIntent(SourceFile:343 )
07-27 13:20:35.818: E/SignInIntentService(13742): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
07-27 13:20:35.818: E/SignInIntentService(13742): at android.os.Handler.dispatchMessage(Handler.java:99)
07-27 13:20:35.818: E/SignInIntentService(13742): at android.os.Looper.loop(Looper.java:137)
07-27 13:20:35.818: E/SignInIntentService(13742): at android.os.HandlerThread.run(HandlerThread.java:60)
07-27 13:20:35.818: E/LoadSelfFragment(16159): Unable to sign in - application does not have a registered client ID
当然,我已经有一个注册的客户端ID,否则我就无法使用"A"账户和有时使用"B"账户登录。当然,我在开发者控制台中将这两个帐户都添加到测试白名单中。当然,我通过资源链接将正确的应用程序ID添加到我的清单中。
我不认为这与我的代码有关,因为A账户从未出现问题,而B账户有时可以工作。测试白名单有任何已知问题吗?或者您有任何建议如何解决这个问题吗?顺便说一下,我也不认为我的配额受限制,因为那将影响这两个帐户,不是吗?
非常感谢您的帮助。