3

我正在努力实现应用内购买,我真的很担心使用超时方法。从商店加载产品时超时似乎没问题;但我担心的是在购买过程中使用超时。作为我超时的一部分,我认为我需要停止所有处理,我担心这可能很危险,特别是因为涉及付款。但是如果没有超时,恐怕用户可能会无限期地挂起;或者,在不停止处理的超时情况下,用户可以重试该过程,而不知道还有一个进程仍在挂起。我会感谢任何在 iOS 中成功实现此功能的人的最佳实践编码智慧的话。

添加一些注释:我正在使用 MKStoreKit;当我写上面的问题时,我已经把它变成了一个非单例(所以作为超时的一部分,我取消了商店,我认为这是一个坏主意)。现在 store 是一个单例,并且一旦实例化就一直存在。我在加载产品以及购买/恢复时显示活动指示器;从这些操作收到的通知会停止活动指示器。

到目前为止,一切对我来说都很好,但我想知道,从那些已经实施的人那里,你是否经常发现你没有收到通知,或者很长时间没有收到通知。基本上,我想弄清楚是否需要为我的 StoreKit 进程实现超时计时器,即使我收到了通知。

4

1 回答 1

1

切勿在应用内购买中实现超时功能。这是一种不好的方法,因为由于您的网络连接 (Wi-fi) 强度/速度和网络负载,应用内购买需要时间。

我遇到了同样的问题,即我的应用内购买需要很长时间才能完成。

我添加了一个UIActivityIndicator用于显示正在发生的过程。

显示 aUIActivityIndicator似乎很无聊,所以我使用了 MBProgressHUD并在其上添加了一些有用的消息。

于 2013-05-22T06:22:37.040 回答