谷歌排行榜 ApiException

6

我的排行榜无法正常工作。我能够显示我的排行榜,但是使用下面的代码提交分数时会出现问题。 我试图找出问题所在,但是得到了一条APiException信息:26502:CLIENT_RECONNECT_REQUIRED

mLeaderboardsClient = Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this));
    Task<ScoreSubmissionData> task = mLeaderboardsClient.submitScoreImmediate(getString(R.string.leaderboard_id), (long) 67);
    task.addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            if(e instanceof ApiException) {
                writeText("dialog", "ApiException: " + e.getMessage());
            }else{
                writeText("dialog", "Exception: " + e.getMessage());
            }
            dialog.setVisibility(View.VISIBLE);
        }
    });

解锁成就和 Google 登录一样正常。在网上没有找到关于这个错误信息的任何内容,因此可能有人知道问题出在哪里。我尝试了不同的登录方式,但没有帮助。我已经试图修复它几天了,如果你有线索或者只是对问题有一个想法,请写信给我。如果您需要更多的代码或答案,请随时询问。


如果您查看文档,它会说明GoogleApiClient处于不一致状态,必须重新连接到服务以解决问题。使用当前连接进行进一步的服务调用可能不会成功。 - MαπμQμαπkγVπ.0
我认为这应该解决问题:if(!mGoogleApiClient.isConnected()) { mGoogleApiClient.reconnect(); } 但它并没有,我仍然得到相同的异常。我错了吗? - aulc
6
大家好,有人能回答这个问题吗?如果已经解决,请发布答案。 - suresh yadam
我也遇到了同样的问题,请帮忙找个解决方案。我正在制作一个自定义排行榜,有时卸载并重新安装应用程序可以解决问题,除了Google Play服务之外还有其他排行榜服务可用吗?这个问题已经困扰我两周了。 - Vaishakh
1个回答

0

您必须确保在Google Play控制台中添加的客户端ID与Google API控制台中的客户端ID相同。

  1. 进入Google Play控制台,选择游戏并选择关联应用程序。
  2. 在页面底部获取OAuth2客户端ID。
  3. 单击左侧菜单上的“游戏详细信息”。然后单击链接此游戏已链接到名为'link'的API控制台项目
  4. 在新页面上单击凭据
  5. 选择OAuth 2.0客户端ID
  6. 页面右侧的客户端ID应与第2步获得的ID相同。

如果这些ID不同,请将您的游戏与新应用程序关联。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接