如何知道用户何时触摸上一个StoreKit警报的“确定”按钮“谢谢。您的购买成功”?

时间:2010-04-04 20:23:27

标签: iphone in-app-purchase

我在游戏中集成了“In App Purchase”,让用户解锁更多关卡。一切正常,但我最后一次提醒“谢谢你。你的购买成功了。[确定]”。我的程序得知在最后一次警报弹出之前交易已成功完成,因此我的游戏再次开始运行 - 然后警报响起,使用户烦恼。我想等待我的游戏运行,直到用户触摸“确定”按钮,但由于它是来自StoreKit的警报,我不知道何时发生这种情况或我如何能够抓住它。

我不想在警报下面创建另一个对话框(这次是我自己的,因此在我的控制之下),只是要求再次触摸“OK” - 这将是一个糟糕的用户体验。

有人有什么想法吗?

3 个答案:

答案 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
}