关于检测到订阅已自动续订的过程,我有几个问题。
目前我的沙盒测试环境全部设置完毕,我可以购买1个月的订阅,所有这些都很好用,花花公子。
我的问题如下:
我是否需要验证应用内购买的初始收据(或实际上任何后续收据)?如果是这样,原因是什么?
我的应用是否通过paymentQueue获得通知:updatedTransactions:自动续订时调用?无论是在沙箱环境中还是在生产环境中。
到目前为止,我还没有看到StoreKit通知我续订的订阅(在沙箱环境中),但我也读过它很挑剔,可能没有。
我应该考虑哪些有关自动续订订阅的一般提示?
感谢您的帮助和时间!
答案 0 :(得分:2)
收据验证是在解锁用户内容之前执行额外安全检查的方法。将收据视为乐透彩票。客户带着“获奖票”来找你。根据您对彩票的奖励有多重要,您可以向个人提供奖金,也可以联系Apple并检查用户是否通过他们实际购买了此彩票。
客户可以通过一些恶意手段获得这张乐透彩票,无论是监狱破坏的设备等等,所以你真的由你来决定是否要核实收据。
官方documentation声明如下:
成功续订订阅后,Store Kit会添加一个 用于续订事务队列的事务。你的应用检查 启动时的事务队列并以相同的方式处理续订 与任何其他交易一样。请注意,如果您的应用已在运行 订阅更新时,不调用事务观察者; 您的应用在下次启动时会发现续订。
因此,您绝对应该在应用中获得续订通知。不要忘记你应该总是将自己添加为StoreKit's paymentQueue的观察者才能使其正常工作,在你的应用程序委托中这样的事情就可以使用了函数:
//where YourObserver is an object that is alive for the apps lifecycle
[[SKPaymentQueue defaultQueue] addTransactionObserver:YourObserver];