我今天一直在实施OpenFeint,一切顺利,直到我发现我认为是一个错误。
我选择了“允许更差分数”选项的排行榜设置 - 因此用户上传的任何分数都应该每次都添加新分数。
目前,当我提交分数时,无论分数如何,用户分数始终会替换为新值,而不是创建新分数。
我已经在我自己的代码中尝试了这个,以及他们提供的示例应用程序 - 两者都有相同的结果,用户只需要一个分数。
我只是想确保我没有遗漏任何明显的东西 - 同时我已经向他们的支持台提交了一张票并等待回复。
哦,它也不是'聚合'排行榜 - 我确实看到其他人有类似的问题而且他们就是这种情况。
代码:
long scoreValue = 1234; // or whatever score
Score s = new Score(scoreValue, null); // Second parameter is null to indicate that custom display text is not used.
Leaderboard l = new Leaderboard(getString(R.string.leaderboard_id));
s.submitTo(l, new Score.SubmitToCB() {
@Override public void onSuccess(boolean newHighScore) {
GameModeBase.this.setResult(Activity.RESULT_OK);
}
@Override public void onFailure(String exceptionMessage) {
Toast.makeText(GameModeBase.this, "Error (" + exceptionMessage + ") posting score.", Toast.LENGTH_SHORT).show();
GameModeBase.this.setResult(Activity.RESULT_CANCELED);
}
});
谢谢, 瑞奇
答案 0 :(得分:2)
另一个名为Swarm的SDK与OpenFeint类似。 Swarm具有leaderboards,允许开发人员为每个排行榜的每个用户存储多达25个分数。这将使您能够允许分数不一定是用户的最高分。我意识到这不是一个很好的解决方案,但它仍然可以让你完成你正在寻找的东西。
答案 1 :(得分:0)
嗯,我决定去Scoreloop - 纯粹是因为它的受欢迎程度。 Swarm看起来不错,但它目前处于测试版状态,这让我有点担心。
对于任何想知道的人来说,OpenFeint的支持还没有回到我身边,而且在提到他们的支持并不是最好之前,我已经阅读了几篇帖子。昨天他们的网站上也出现了问题,所以我决定反对他们。真可惜,它进展顺利。
更新:我收到了回复,这似乎是我的误解,也许是他们文档中的一些差异:
感谢您就此问题与我们联系,我为此道歉 混乱。 “允许更糟糕的分数”复选框并不意味着 排行榜将记录给定用户的所有分数。这意味着什么 玩家的分数将被记录到排行榜中,即使 它比他们之前记录的分数差。用户只能拥有 在任何给定的排行榜上得分。我会确保我们的 有关此功能的文档包含此信息 将来对这个功能的混淆会更少。一世 对可能造成的任何困难表示道歉。
所以,看起来你在排行榜中只有一个得分 - 这是有道理的。
另外此,我仍然选择了Scoreloop的,我可以证实这一点的行为与关于每个用户一个分数,但它提供了更多的功能,而且似乎响应比OpenFeint的为我所做的要快得多。