Google Play服务:帐户没有SCOPE_GAME_LITE权限,无法查看排行榜

时间:2017-12-19 00:07:53

标签: android google-play-games

我按照https://developers.google.com/games/services/android/signin上的说明操作,可以成功登录并从帐户中获取数据(例如.getEmail()等)。

但是当我尝试显示排行榜时,我收到错误: java.lang.IllegalStateException:游戏API需要https://www.googleapis.com/auth/games_lite函数。

Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this))
            .getLeaderboardIntent(getString(R.string.leaderboard_highscores))
            .addOnSuccessListener(new OnSuccessListener<Intent>() {
                @Override
                public void onSuccess(Intent intent) {
                    startActivityForResult(intent, RC_LEADERBOARD_UI);
                }
            });

实际上,

GoogleSignIn.hasPermissions(account, Games.SCOPE_GAMES_LITE));

返回false。

Google Play控制台中的所有内容都应正确设置。 我也尝试过silentSignIn()但没有成功。

这可能是什么问题?

2 个答案:

答案 0 :(得分:0)

好的,所以我解决了这个问题...... 结果我只需要等待~36h才能使所有更改生效。

即使游戏机告诉我所有内容都已发布并准备好使用。

所以不要发疯并等待。

答案 1 :(得分:0)

检查Troubleshooting Issues in Your Android Game : Anonymous listeners

  

不要使用匿名侦听器。匿名听众不可靠   因为Play Games SDK将它们维护为弱引用   意味着他们之前可能会被垃圾收集器收回   它们被调用。相反,您应该使用a实现侦听器   持久对象,例如Activity。