我决定将OpenFeint集成到我的新游戏中以获得成就和排行榜。
游戏是动态的,我希望用户立即获得一些成功的奖励,但就我而言,OpenFeint的成就有点迟钝,只有当它从服务器收到确认时才会显示视觉通知。
是否有可能在设置中更改某些内容或者稍微破解它以便在只检查本地数据库时立即显示通知,如果该成就尚未解锁呢?
答案 0 :(得分:2)
不确定这是否与SDK的Android版本有关(这似乎更慢),但我们无法弄清楚如何让它更快。我们开始开发自己的框架来解决大多数开放式假动作的缺点,然后是一些缺点,这是如此令人无法接受的缓慢。查看Swarm,它可能更符合您的需求。
答案 1 :(得分: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/
如果您跟踪需要这样做,这样您就可以在以后完全自由地拨打提交内容。例如,您可以在完成级别之后或下次启动应用程序时在本地序列化标记以处理实际提交。不要忘记用户可以在没有干净地完成关卡的情况下退出游戏。