iOS应用程序内购买和检测自动续订订阅

时间:2014-01-28 21:38:37

标签: ios in-app-purchase storekit auto-renewing

关于检测到订阅已自动续订的过程,我有几个问题。

目前我的沙盒测试环境全部设置完毕,我可以购买1个月的订阅,所有这些都很好用,花花公子。

我的问题如下:

  1. 我是否需要验证应用内购买的初始收据(或实际上任何后续收据)?如果是这样,原因是什么?

  2. 我的应用是否通过paymentQueue获得通知:updatedTransactions:自动续订时调用?无论是在沙箱环境中还是在生产环境中。

  3. 到目前为止,我还没有看到StoreKit通知我续订的订阅(在沙箱环境中),但我也读过它很挑剔,可能没有。

    我应该考虑哪些有关自动续订订阅的一般提示?

    感谢您的帮助和时间!

1 个答案:

答案 0 :(得分:2)

1。关于收据验证

收据验证是在解锁用户内容之前执行额外安全检查的方法。将收据视为乐透彩票。客户带着“获奖票”来找你。根据您对彩票的奖励有多重要,您可以向个人提供奖金,也可以联系Apple并检查用户是否通过他们实际购买了此彩票。

客户可以通过一些恶意手段获得这张乐透彩票,无论是监狱破坏的设备等等,所以你真的由你来决定是否要核实收据。

2。关于续约通知

官方documentation声明如下:

  

成功续订订阅后,Store Kit会添加一个   用于续订事务队列的事务。你的应用检查   启动时的事务队列并以相同的方式处理续订   与任何其他交易一样。请注意,如果您的应用已在运行   订阅更新时,不调用事务观察者;   您的应用在下次启动时会发现续订。

因此,您绝对应该在应用中获得续订通知。不要忘记你应该总是将自己添加为StoreKit's paymentQueue的观察者才能使其正常工作,在你的应用程序委托中这样的事情就可以使用了函数:

//where YourObserver is an object that is alive for the apps lifecycle
[[SKPaymentQueue defaultQueue] addTransactionObserver:YourObserver];