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

3

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

目前我的沙盒测试环境已经全部设置好了,我可以购买一个1个月的订阅,所有的操作都能够正常完成。

我的问题如下:

  1. 我需要验证初始收据(或任何后续的收据)吗?如果是,为什么要这样做?

  2. 当自动续订发生时,我的应用程序是否会通过paymentQueue:updatedTransactions:调用得到通知?无论是在沙盒环境还是生产环境中。

到目前为止,在沙箱环境中,我还没有看到StoreKit通知我已经续订的订阅,但我也读到说它可能不稳定并且可能不起作用。

有关自动续订订阅的一些通用提示应该注意什么?

感谢您的帮助和时间!

1个回答

2

1. 关于收据验证

收据验证是在解锁用户内容之前进行额外安全检查的手段。可以将收据视为彩票。客户端带着“中奖彩票”来找你。根据您认为该彩票对于您的抽奖活动有多么有价值,您可以给予该个人他们的奖金,或者您可以联系苹果公司并检查用户是否确实通过他们购买了此彩票。

客户端可能通过某些恶意手段(例如越狱设备)获得此彩票,因此真正取决于您是否要验证收据。

2. 关于续订通知

官方文档指出:

成功续订订阅后,Store Kit会向事务队列添加一个续订事务。您的应用程序在启动时检查事务队列,并像处理任何其他事务一样处理续订。请注意,如果您的应用程序在订阅续订时已经运行,则不会调用事务观察器;您的应用程序下次启动时才会了解到续订情况。

因此,您应该在应用程序中收到收据续订通知。不要忘记始终将自己添加为StoreKit的paymentQueue观察器,以使其正常工作。例如,在您的应用程序委托didFinishLaunching中添加以下内容:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接