【问题标题】:Display only Social Leader board using Google Play Game Services使用 Google Play 游戏服务仅显示社交排行榜
【发布时间】:2014-08-21 16:01:44
【问题描述】:
我正在开发一款 Android 游戏,我想在其中显示用户在 Google plus 上的社交圈的排行榜。我已成功将 Google Play Game Services api 集成到我的应用程序中,它正在显示排行榜。但是,Google 服务显示两种排行榜 - Social 和 Public,我只想显示 Social 排行榜而不是公开。
有什么办法可以做到吗?或者有没有办法单独从社交排行榜中获取数据并单独显示?
【问题讨论】:
标签:
android
google-play-services
google-play-games
【解决方案1】:
所以幸运的是,我自己想通了。以下代码将打印您在社交排行榜上的朋友的姓名。
Games.Leaderboards.loadPlayerCenteredScores(googleApiClient, "*****************", 2, 1, 20).setResultCallback(
new ResultCallback<LoadScoresResult>(){
public void onResult(LoadScoresResult result) {
// TODO Auto-generated method stub
for(int j=0;j<result.getScores().getCount();j++)
{
Log.i("score on create",result.getScores().get(j).getScoreHolderDisplayName());
}
result.getScores().close();
}
});
第一个参数是您的 googleApiClinet,由 getApiClient() 方法返回。
第二个参数是你的排行榜 ID。
第三个参数是时间跨度。这里,2 表示 TIME_SPAN_ALL_TIME
第四个参数是leaderBoardCollection。这里,1 表示 COLLECTION_SOCIAL。
您可以使用相同的代码来获取其他信息,例如格式化的排名、分数和个人资料图片网址。只需将 getScoreHolderDisplayName() 替换为其他适当的方法即可。