谷歌玩游戏排行榜无法提交分数

Posted

技术标签:

【中文标题】谷歌玩游戏排行榜无法提交分数【英文标题】:Google play game Leaderboard can not submitScore 【发布时间】:2017-02-24 18:56:14 【问题描述】:

我正在尝试使用以下代码行在 Google Game Play 排行榜上提交分数:

 if(mGoogleApiClient.isConnected()) 
            Games.Leaderboards.submitScoreImmediate(mGoogleApiClient, "xxxxxxxxxxxxxxxxx", myScore).setResultCallback(new ResultCallback<Leaderboards.SubmitScoreResult>() 
                @Override
                public void onResult(Leaderboards.SubmitScoreResult arg0) 
                    Log.e(TAG, "getStatusCode= "+arg0.getStatus().getStatusCode());
                    Log.e(TAG, "score submitted: "+arg0.getScoreData().toString());
                
            );
        

分数未上传,我收到以下错误ScoreSubmissionData

ScoreSubmissionDataPlayerId=xxxxxxxxxxxxxxxx, StatusCode=2, TimesSpan=DAILY, Result=null, TimesSpan=WEEKLY, Result=null, TimesSpan=ALL_TIME, Result=null

StatusCode=2 means STATUS_CLIENT_RECONNECT_REQUIRED

我在onConnected() 方法中调用了上面的行,因此可以确定我已连接...

【问题讨论】:

【参考方案1】:

尝试重新连接或应用循环切换序列来处理此类错误。您可能想查看此example,了解如何使用 com.google.android.gms.games.GamesClient 类的 STATUS_CLIENT_RECONNECT_REQUIRED

根据文档:

STATUS_CLIENT_RECONNECT_REQUIRED

AppStateClient 处于不一致状态,必须重新连接到服务才能解决问题。

这里还有您可能遇到的AppStateClient 列表。

希望这会有所帮助。

【讨论】:

【参考方案2】:

我找到了解决办法。

我制作的应用程序首先构建到另一台笔记本电脑上。 现在我买了一台新笔记本电脑,我安装了 Android Studio 并尝试更改一些代码行。但是当我提交分数时,我的 Google Play 帐户(API 管理器)无法识别我的新笔记本电脑,因为它具有不同的 SHA1 密钥。 所以我在 API Manager 的凭据中添加了我的新 SHA1 密钥,一切正常!!

【讨论】:

以上是关于谷歌玩游戏排行榜无法提交分数的主要内容,如果未能解决你的问题,请参考以下文章

Unity Android 游戏可以使用 Google Play 游戏插件登录,但无法从排行榜加载分数

向 Google Play 游戏排行榜提交分数并显示新排名

Google Play 游戏排行榜发布分数报告成功但不更新

Google Play 排行榜 - 无法提交分数

如何限制到最大值。在 Google Play 游戏服务排行榜 API 中提交 1x 分数?

Google Play 反盗版 - 排行榜中的作弊分数