在应用程序外部购买StoreKit项目(从我的应用程序重定向到App Store应用程序)

时间:2012-11-27 19:14:50

标签: ios in-app-purchase storekit

我有一个使用非续订订阅模式的应用。使用应用内购买测试帐户时效果很好。但是,在Apple的生产服务器上,有时用户会因为某种原因将我的应用程序从应用程序带到应用程序商店(有时这是因为更新的计费信息,有时会回答安全问题)。这是在将付款添加到队列和Apple自己的付款流程之后。一旦用户点击警报视图选项进入应用商店,我的事务Observer将获得具有SKPaymentTransactionStateFailed状态的事务。没关系。但是,在用户更新其结算信息或确认其安全问题后,系统会询问他们(仍然在应用之外)他们是否仍想购买应用内购买。当它经历时,它们被带回我的应用程序(它自己关闭),并且没有任何东西从事务观察者返回。只有在检索到产品列表时,才会使用购买的产品更新队列。观察者在

之前注册通知

所以我的问题是:

如何处理在我的应用之外进行的购买(在应用商店应用中)?

如果在应用程序打开之前进行了购买(但未完成),那么队列会在什么时候更新?我知道我应该让观察员随时都去,但我想要避免让用户两次购买该商品,而不知道他们已经购买了该商品。

1 个答案:

答案 0 :(得分:0)

通过一些反复试验,我似乎解决了我的问题

我们认为我没有尽快初始化SKPaymentQueue的事务观察者。它需要初始化并作为事务观察者添加到application:didFinishLaunchingWithOptions:方法中,以后不再使用。至于交易何时进入,您的交易观察员的paymentQueue:updatedTransactions方法将在您下次启动应用时通过购买的交易进行调用。重要的是要注意,当您被带到App Store时,您的应用程序可能会因某种原因关闭或关闭一次,如果它最终关闭,则该方法将在下次应用程序打开时调用。