Google Play游戏Leaderboard无法提交分数

时间:2016-10-15 11:30:00

标签: android google-play-games leaderboard

我正在尝试使用以下代码行在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

ScoreSubmissionData{PlayerId=xxxxxxxxxxxxxxxx, StatusCode=2, TimesSpan=DAILY, Result=null, TimesSpan=WEEKLY, Result=null, TimesSpan=ALL_TIME, Result=null}

StatusCode=2 means STATUS_CLIENT_RECONNECT_REQUIRED

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

2 个答案:

答案 0 :(得分:0)

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

基于文件:

  

STATUS_CLIENT_RECONNECT_REQUIRED

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

此处还有您可能遇到的AppStateClient列表。

希望这有帮助。

答案 1 :(得分:0)

我找到了解决方案。

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