我在游戏中集成了“In App Purchase”,让用户解锁更多关卡。一切正常,但我最后一次提醒“谢谢你。你的购买成功了。[确定]”。我的程序得知在最后一次警报弹出之前交易已成功完成,因此我的游戏再次开始运行 - 然后警报响起,使用户烦恼。我想等待我的游戏运行,直到用户触摸“确定”按钮,但由于它是来自StoreKit的警报,我不知道何时发生这种情况或我如何能够抓住它。
我不想在警报下面创建另一个对话框(这次是我自己的,因此在我的控制之下),只是要求再次触摸“OK” - 这将是一个糟糕的用户体验。
有人有什么想法吗?
答案 0 :(得分:2)
我有同样的问题。我发现只要用户对“谢谢”消息触摸“OK”,就会调用applicationDidBecomeActive:(UIApplication *)application
,所以这可能是一种方式。
我想知道是否有人有更好的方法..
答案 1 :(得分:1)
我认为艾琳正走在正确的道路上。我有同样的问题,并搜索“互联网”找到答案,似乎没有。
出于游戏目的,我建议您暂停和恢复游戏,以响应您的applicationDidBecomeActive:
和applicationWillResignActive:
UIApplicationDelegate方法。这不仅会导致游戏暂停,直到用户解除成功的购买提醒,它还会在收到短信,接到电话或任何其他事件导致应用程序被中断时暂停游戏。 / p>
虽然在这种情况下很烦人,但添加自动暂停和恢复游戏会增加一个非常用户友好的功能,用户会很感激。
答案 2 :(得分:1)
1)将storekit警报设置为delegate = yourclass。
2)使用 UIAlertViewDelegate 声明你的类,然后使用此方法拦截警报:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
您可以查看提醒标题/消息,看看它是否是正确的警告:
if ([alertView.message isEqualToString:@"Thank you.. bla bla bla"]) {
//something
}