【问题标题】:Google Game Service Leaderboard can't show after submit score on Cocos2d-x Android?在 Cocos2d-x Android 上提交分数后谷歌游戏服务排行榜无法显示?
【发布时间】:2017-09-04 08:07:52
【问题描述】:
我使用 Sonar System Team 的 Cocos Helper 实现了适用于 Android 的 Google Game Service (Cocos2d-x)。
一切正常:
- 登录谷歌游戏服务。
- 显示成就和创造成就非常好。
- 第一次登录谷歌游戏服务==>显示排行榜没问题。
但是,我将分数提交到排行榜,然后再次重新显示排行榜,它总是自动关闭,我得到respondCode=RESULT_RECONNECT_REQUIRED。
你能给我一些修复它的建议吗?
【问题讨论】:
标签:
service
cocos2d-x
leaderboard
【解决方案1】:
我找到了答案:
问题的原因是 Game Services Console ==> ==> 链接应用程序 的 OAuth2 客户端 ID 不等于 OAuth2 客户端 ID,在 API Manager 中创建:
因此,要解决此问题,您必须在 Google 服务控制台中创建新的链接应用程序。
==> 这将在服务器上修复,排行榜将正常工作。
【解决方案2】:
就我而言,我配置了两个 OAuth2 客户端:一个与开发证书 SHA 指纹(keytool -exportcert -keystore ~/.android/debug.keystore -list -v)相关联,一个与发布证书 SHA 指纹相关联(keytool -exportcert -keystore path/to/your/release.keystore -list -v)。
调试的时候,apk是用开发证书签名的,提交分数到排行榜后,下次打开排行榜时自动关闭,不显示排行榜也没有报错。在此之后,能够再次使用排行榜的唯一方法是从设备上卸载经过测试的应用和 Google Play 游戏应用。
为了能够将开发和发布 Google Play 服务 OAuth2 配置分开,您可以拥有两个 google-services.json 文件:一个位于 src/debug 文件夹,另一个位于 src/release 文件夹。
当我使用带有发行证书的 apk 时,排行榜在向排行榜提交分数之前和之后都正常工作。
我的结论:为了能够测试排行榜,您必须使用带有发布证书的 apk。