【发布时间】:2017-12-14 19:48:27
【问题描述】:
我已经构建了一个基于网络的游戏,它将玩家的分数提交到排行榜。该游戏还有一个网页,显示该排行榜的公开分数。它通过点击scores.list API 端点来获取这些数据。排行榜和游戏已在 Google Play 管理中心发布。
三名玩家玩过游戏,他们的分数已提交。这三位玩家都有公开的 Play Game 个人资料,Play 游戏控制台中的排行榜页面显示已提交了多个唯一分数。但是当我的 Javascript 代码点击 scores.list 时,items 集合中只返回玩家自己的分数,而不是其他两个玩家的分数。
如何从排行榜中获得所有分数?
var request = gapi.client.games.scores.list({
leaderboardId: leaderboardId,
collection: 'PUBLIC',
timeSpan: 'ALL_TIME'
});
request.execute(function(response) {
if (response.items) {
response.items.forEach(function(item) {
// Print item.formattedScore to screen.
// Only the currently signed-in player's score is returned.
})
}
})
【问题讨论】:
-
在尝试您的代码时,您的错误日志中是否有任何错误?
-
日志中没有错误,我也已经在调试器中单步执行了代码,没有看到任何错误。 result.items 集合仅包含一个条目。该条目是当前登录玩家的得分。我本来希望每个提交分数的玩家在 result.items 中有一个条目。
-
文档说
The public leaderboard is a leaderboard made up of players who have chosen to share their gameplay activity publicly. If your player has not chosen to share their gameplay activity publicly, they won't appear in this leaderboard.所以你可能需要检查你的测试用户是否勾选了公开分享他们的游戏数据的选项。 -
除了 Google 公共排行榜之外,唯一的方法可能是将结果实际发送到您自己的服务器。
-
朱利安,感谢您的评论。根据您的消息,我刚刚验证所有玩家都启用了
Allow others to see your game activity选项。他们的 Play 游戏资料也是公开的。我不知道为什么我仍然没有得到所有玩家的分数。
标签: javascript google-play-games leaderboard