【发布时间】:2014-07-23 14:26:56
【问题描述】:
在初次登录后,GPGS 似乎可以让用户保持“已登录”状态,即使在离线时也是如此。因此,我可以像已连接一样玩游戏,然后,当我有实际连接时,我的分数/成就会同步。
这很好,但在离线时尝试从排行榜检索分数时似乎不起作用:
Games.Leaderboards.loadCurrentPlayerLeaderboardScore(
gameHelper.getApiClient(),
LD_ID,
LeaderboardVariant.TIME_SPAN_ALL_TIME,
LeaderboardVariant.COLLECTION_PUBLIC).setResultCallback(new ResultCallback<LoadPlayerScoreResult>(){
@Override
public void onResult(LoadPlayerScoreResult arg0) {
LeaderboardScore c = arg0.getScore();
Player.bestScore = (int)c.getRawScore();
}
});
在线时,c.getRawScore() 按预期工作,但离线时,c 为空(令我惊讶的是,我认为如果离线,它只会回退到缓存的分数)。
有没有办法获取缓存的排行榜分数?
【问题讨论】:
-
我没有尝试过,也不知道离线时它不起作用。如果确实如此,那么最好的方法是保留最佳排行榜分数的本地副本(在线时),并在您的代码返回 null 时使用该值。基本上只需将其缓存在您的应用程序中(并将其保存到持久存储中)。