在ios7中自动更新订阅

我知道这已经被问了很多次了,但是没有一个问题对我有帮助,我不确定哪些答案在iOS 7中仍然有效。

我正在做一些与自动更新订阅的应用程序。 我已经成功创build了我的产品,可以和testing用户一起购买。

我的问题是:什么是正确的方法来检查一个特定的用户是否仍然可以访问此产品?

以及如何testing自动更新是否运行良好? (因为我读了沙盒自动更新不作为真正的iStore工作)。

最后一个问题是:苹果是否拒绝了很多ARS应用程序呢?

马尔科

要检查用户是否仍然可以访问产品,您应该存储在付款过程中收到的收据数据,并使用app store服务检查收据。

app store服务将回复您收据的状态(0表示有效收据,21006如果订阅已过期且未续订等)

具有示例代码的过程可以在这里find:

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW3

回答你的最后一个问题:是的,苹果拒绝了很多ARS应用程序,它只适用于内容应用程序(杂志,报纸,video等)。 例如,如果您提供的服务 ,如Dropbox您的应用程序不符合ARS的资格

在我们的情况下,我们正在分发图书订阅服务,以validation应用程序苹果问我们每个月有多less新的内容可供用户使用。


编辑

对于iOS 7,状态0表示有效的收据,即使已过期:

对于iOS 7风格的应用程序收据,状态代码反映了应用程序收据的整体状态。 例如,如果您发送包含过期订阅的有效应用收据,则由于整个收据有效,所以响应为0。

您需要validationlatest_receipt_info expires_date。

最近,苹果推出了一项新function,每当续订订阅时都会收到服务器端通知。 但是,订阅应该是在应用程序中。

请参阅下面的链接供您参考:

https://help.apple.com/itunes-connect/developer/#/dev0067a330b

https://itunespartner.apple.com/en/apps/news/45333106?sc_cid=ITC-AP-ENREC

苹果公司没有提供iOS或REST API内置的任何东西,它提供了简单的订阅细节,也没有任何callback,你可以听取和回应关于续订或取消。 苹果有一个API,当给定用户的本地收据和在iTunes Connect中生成的“共享机密”时,它会返回用户购买的JSON对象,包括他们当前的订阅信息。 应用内购买文档