9

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

我正在做一些带有自动续订订阅的应用程序。我已经成功创建了我的产品,我可以通过测试用户购买它。

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

以及如何测试自动续订是否运作良好?(因为我在沙盒中读到自动更新不能像真正的 iStore 一样工作)。

最后一个问题是:Apple 拒绝很多 ARS 应用程序仍然是真的吗?

马尔科

4

3 回答 3

8

要检查用户是否仍然可以访问产品,您应该存储您在付款期间收到的收据数据,并使用应用商店服务检查该收据。

应用商店服务将回复您的收据状态(0 表示有效收据,21006 表示订阅已过期且未续订等)

可以在此处找到带有示例代码的过程:

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

回答您的最后一个问题:是的,Apple 拒绝了很多 ARS 应用程序,它仅适用于内容应用程序(杂志、报纸、视频等)。例如,如果您提供Dropbox 等服务,则您的应用不符合 ARS 条件

在我们的案例中,我们正在分发图书订阅服务,以验证应用程序 Apple 询问我们每个月有多少新内容可供用户使用。


编辑

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

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

您需要验证 latest_receipt_info expires_date。

于 2014-03-27T08:14:36.740 回答
2

最近,Apple 推出了一项新功能,即在订阅续订时接收服务器端通知。但是,订阅应该是应用内的。

请参阅下面给出的链接以供参考:

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

&

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

于 2017-07-20T16:18:28.563 回答
0

Apple 不提供任何内置于 iOS 或 REST API 来为您提供简单的订阅详细信息,也没有任何您可以在续订或取消方面收听和响应的回调。Apple 确实有一个 API,当给定用户的本地收据和在 iTunes Connect 中生成的“共享密钥”时,它会返回一个 JSON 对象,其中包含用户对您的应用程序的购买历史记录,包括他们当前的订阅信息。应用内购买文件

于 2016-12-22T13:11:28.713 回答