我按照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()但没有成功。
这可能是什么问题?
答案 0 :(得分:0)
好的,所以我解决了这个问题...... 结果我只需要等待~36h才能使所有更改生效。
即使游戏机告诉我所有内容都已发布并准备好使用。
所以不要发疯并等待。
答案 1 :(得分:0)
检查Troubleshooting Issues in Your Android Game : Anonymous listeners
不要使用匿名侦听器。匿名听众不可靠 因为Play Games SDK将它们维护为弱引用 意味着他们之前可能会被垃圾收集器收回 它们被调用。相反,您应该使用a实现侦听器 持久对象,例如Activity。