0

我决定将 OpenFeint 集成到我的新游戏中以获得成就和排行榜。

游戏是动态的,我希望用户获得一些成功的结果后立即获得奖励,但在我看来,OpenFeint 的成就有点迟钝,只有在收到服务器确认时才会显示视觉通知。

如果成就尚未解锁,是否可以更改设置中的某些内容或稍微修改一下以立即显示通知,因为它仅检查本地数据库?

4

2 回答 2

2

不确定这是否与 SDK 的 Android 版本有关(似乎更慢),但我们无法弄清楚如何让它更快。速度太慢了,以至于我们开始开发自己的框架来修复大部分开放假动作的缺点,然后是一些。查看Swarm,它可能更适合您的需求。

于 2012-01-23T05:35:42.423 回答
1

您可以做几件事来更严格地控​​制这些通知的时间。我将解释一种方法,您可以以此为起点自行进一步探索。这些建议专门适用于 iOS 应用程序。需要注意的是,这些建议是指 OFSDK 2.8 for iOS 中的内部 API,通常不推荐用于高级用途,并且在未来版本中可能会发生变化。

我建议的第一件事是您使用自己的产品密钥构建示例应用程序。在将结果应用到您自己的代码之前,请使用标准示例应用程序进行试验。

通过将通知弹出 UI 与提交成就的过程分开,您将获得最快速的响应。这样,您就不必担心会陷入决定提交是仅发送到本地数据库还是对异步网络事务进行完整确认的逻辑中。

参见“OFNotification.h”中“showAchievementNotice”的声明。在示例应用程序中执行搜索,您将看到这是用于在获得成就时显示成就弹出窗口的内部 API。它实际上并没有提交成就。您可以直接调用此方法,因为它是从“OFAchievementService.mm”中调用的,以直接控制消息何时出现。然后,您可以使用以下文章来禁用在实际提交发生时调用弹出窗口:

http://support.openfeint.com/dev/notification-pop-ups-in-ios/

这使您可以完全自由地在以后调用提交,只要您跟踪这样做的需要。例如,您可以在本地序列化一个标志以在关卡完成后或应用程序下次启动时处理实际提交。不要忘记,用户可以在未完成关卡的情况下退出游戏。

于 2011-01-12T01:29:15.793 回答