Android Game API:排行榜 - 获取特定的玩家得分?

che*_*o_c 8 java android leaderboard google-api google-play-services

解决了

我有一个简单的问题,我找不到具体的解决方案.问题是我有一个使用GooglePlay API的排行榜.我想要做的是实际获得个人和特定玩家的玩家得分.

例如,我想在我的活动中的字符串(不是LeaderboardActivity)上显示他在排行榜中的分数,或者将其放在我游戏的左上角.

我怎样才能做到这一点?

谢谢!

che*_*o_c 8

不知道为什么downvotes ..无论如何这里是我发现解决这个问题的方式:

在你的活动上:

if (isSignedIn()) {
    getGamesClient().loadPlayerCenteredScores(
        this,
        getResources().getString(R.string.leaderboard_id),
        LeaderboardVariant.TIME_SPAN_ALL_TIME,
        LeaderboardVariant.COLLECTION_SOCIAL,
        25,
        true
    );
}
Run Code Online (Sandbox Code Playgroud)

然后在听众身上:

@Override
public void onLeaderboardScoresLoaded(int arg0, LeaderboardBuffer arg1, LeaderboardScoreBuffer arg2) {
    Iterator<LeaderboardScore> it = arg2.iterator();
    while(it.hasNext()) {
         LeaderboardScore temp = it.next();
         Log.d("debug", "player:" + temp.getScoreHolderDisplayName() + " id:" + temp.getScoreHolder().getPlayerId());
    }
}
Run Code Online (Sandbox Code Playgroud)

玩家是中心得分,所以如果你带来均匀的结果,玩家应该在中间.您可以迭代并检查玩家ID是否匹配.

干杯.