在提交应用程序审核时,为了验证开发者都已经实现要求的每个步骤。保证开发者实现如下所有内购行为(如下步骤都是顺序列出来的):
在iTunes Connect 中,创建和配置产品。在用代码能测试前,在苹果后台至少配置一个产品。
在应用程序的文件中或者在应用的服务器中,得到产品id 列表,用SKProductsRequest 对象将其列表发送给苹果商店。
用苹果商店返回的 SKProduct 对象,将产品列表在应用程序中展示。在开发阶段,用简单的界面展示产品列表,如用表格和一些按键去展示产品列表。实现最终用户界面,应用程序商店在开发过程时。
用户请求支付是用 SKPaymentQueue 的 addPayment: 方法将 SKPayment 对象 添加在交易队列中。实现 SKPaymentTransactionObserver 协议中的其他方法,去监听支付的行为。
通过对购买的收据持久化来得到已经购买的产品和下载相关的购买收据,最后调用SKPaymentQueue 中finishTransaction: 方法。在开发阶段,可以执行简单的版本的代码,如简单的在屏幕展示“已购买的产品”。而在要上架的版本,则需要实现前面的动作。
提供界面用于恢复购买,检索过去购买使用SKReceiptRefreshRequest 类或恢复完成购买使用 SKPaymentQueue类 restoreCompletedTransactions 方法。让用户重新下载内容。
如果使用 Apple-hosted 内容,恢复完成交易和使用事务的属性得到 SKDownload 对象。如果购买收据是存放在应用程序的服务器,请向应用程序的服务器中拿到购买信息。若应用是用自动订阅和非自动订阅,请确认是否已经实现如下订阅逻辑。
A、通过提供最近发表的内容来提供内购订阅,如最新一期的杂志。
B、当新的内容推出时,就能用户去使用。
C、当订阅时间过期,可以让用户重新进行订阅。
D、若应用是自动订阅,请让苹果商店处理上面的订阅动作,不用尝试用手动处理。若应用是非自动订阅,应用要做如下的操作。
A、若订阅已经过期,请停止让用户用新的内容,
B、请更新应用的界面让用户重新选择内购,并激活内购
C、当订阅的内容已经更新,请实现应用程序去追踪,恢复购买时使用此系统给用户访问已订阅内容,基于订阅活跃期。简而言之,非自动订阅信息苹果不会帮助应用程序去记录,需要应用程序去记录。
以上内容 ,是翻译自苹果官方文档,有不足之处,请纠正,感谢!