我目前正在使用Google游戏服务尝试离线更新用户分数。这很好,因为有一个很酷的功能:
http://developer.android.com/reference/com/google/android/gms/games/leaderboard/OnScoreSubmittedListener.html#onScoreSubmitted(int, com.google.android.gms.games.leaderboard.SubmitScoreResult)如果 设备处于离线状态或无法将分数发布到 服务器。分数存储在本地,并将发布到服务器 下次设备在线并且能够执行同步(没有 客户需要采取进一步行动。)
因此,想象用户有100分,分数增加到200,300等。并将在上线时更新。
不幸的是,在使用getRawScore查询分数时,返回的分数不是离线分数,而是服务器的最后一个值。
有什么方法可以解决这个问题吗?任何解决方法?
答案 0 :(得分:0)
我认为情况比这更糟糕:根据我的测试,getRawScore()(或任何其他方法,如getRank(),...)如果您显示相应的排行榜,则只返回最新数据默认意图。如果你从未这样做过,你甚至都无法获得价值。
在此处查看我的帖子:Play games loadLeaderboardMetadata() returns outdated data
[更新]显然,您可以使用loadCurrentPlayerLeaderboardScore而不是loadLeaderboardMetadata方法。那个似乎没有返回过时的数据。检查here