Google Play 游戏服务登录回调

Posted

技术标签:

【中文标题】Google Play 游戏服务登录回调【英文标题】:Google Play Game Services Sign In callback 【发布时间】:2014-05-09 19:10:38 【问题描述】:

我尝试在我的 cocos2d-x 游戏中设置 google play 游戏服务。我用于这个 BaseGameActivity.java 和 GameHelper.java 文件,所以我的主类继承自 BaseGameActivity。 当我调用 mHelper.beginUserInitiatedSignIn() 它显示谷歌播放活动,然后隐藏它。但未调用回调(onSignInSucceeded 和 onSignInFailed)。当我再次尝试调用 mHelper.beginUserInitiatedSignIn() 时,它会向我发送消息“GameHelper WARNING: beginUserInitiatedSignIn() called when already connected...”。

!!! GameHelper WARNING: beginUserInitiatedSignIn() called when already connecting. Be patient! You can only call this method after you get an onSignInSucceeded() or onSignInFailed() callback. Suggestion: disable the sign-in button on startup and also when it's clicked, and re-enable when you get the callback.

【问题讨论】:

您确定通过将 GameHelperListener 提供到 mHelper.setup(listener) 来设置 GameHelper? 也许它可以帮助我? BaseGameActivity(4397):GameHelper:onConnectionFailed BaseGameActivity(4397):GameHelper:连接失败:BaseGameActivity(4397):GameHelper:-代码:SIGN_IN_REQUIRED(4)BaseGameActivity(4397):GameHelper:-可解析:真BaseGameActivity(4397):GameHelper: - 详细信息:ConnectionResultstatusCode=SIGN_IN_REQUIRED, resolution=PendingIntent419d9b58: android.os.BinderProxy@41a08768 BaseGameActivity(4397): GameHelper: onConnectionFailed: 由于用户启动登录,正在解决问题。 【参考方案1】:

Google Play Game Services: strange sign in behavior

super.onActivityResult(requestCode, resultCode, data);

【讨论】:

啊,是的,这是有道理的。 BaseGameActivity 负责处理结果,因此如果您在不将未处理的 requestCodes 传递给 super 的情况下覆盖它,您将有效地中断流程。【参考方案2】:

这个问题也是因为游戏服务处于测试模式(未发布),所以将您的用户添加到测试器。

发布应用后,开发者需要在https://console.developers.google.com/下的应用凭据中添加发布SHA1(发布管理>>应用签名,如果您在发布时选择了谷歌签名应用)

应该使用 Google 应用签名 SHA1,而不是您从本地 PC 生成的内容

希望这对某人有所帮助

【讨论】:

以上是关于Google Play 游戏服务登录回调的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 游戏 C++ SDK 示例失败,找不到库“ButtonClickerNativeActivity”

Google Play 游戏中的成就不起作用

Google Play 游戏服务 - 无法登录游戏中心

Google play 游戏服务再次显示来自 google+ 的登录屏幕

Google play 游戏服务登录失败

Google Play 游戏服务 - 无法登录