我正在开发一款Android游戏,我希望在Google Plus上为用户的社交圈显示排行榜。我已经在我的应用程序中成功集成了Google Play游戏服务API,它正在显示排行榜。但是,Google服务会显示两种排行榜 - 社交和公开,我只想显示社交排行榜而不是公众。
我有什么方法可以做到吗?或者有没有办法我可以单独从社交排行榜获取数据并单独显示它?
答案 0 :(得分: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()替换为其他适当的方法。