首页 > 解决方案 > 如何知道试用版在 iOS 应用中可用

问题描述

我们的应用程序中有“免费试用”按钮。我想知道如何知道试用可用。

我对文档中的以下文本有点怀疑:

新的和重新订阅的客户有资格为每个订阅组支付一次折扣价或免费试用。

什么是“重新订阅”?过去订阅的客户可以再次试用吗?

是否可以使用 StoreKit 确定试用版现在可用?

introductoryPrice检查以下属性是否正确SKProducthttps ://developer.apple.com/documentation/storekit/skproduct/2936878-introductoryprice ?

我还想向后端询问当前用户的所有订阅历史记录,如果用户还没有试用,则显示“免费试用”。但正如我所说,我不确定“重新订阅”。

标签: iosin-app-purchaseapp-storeapp-store-connect

解决方案


检查试用资格的正确方法是验证以下 Apple 概述的收据文件。由于大多数人会认为这是一个非关键的验证,因此在客户端而不是在服务器之外进行以保存网络调用并没有太大的危害。假收据可能造成的最大危害是更改按钮的文本。

确定资格

要确定用户是否有资格获得推介价格,请检查他们的收据:按照使用 App Store 验证收据中的说明验证收据。在收据中,检查所有应用内购买交易的订阅试用期和订阅介绍价格期的值。如果给定订阅的这些字段中的任何一个为真,则用户没有资格获得该订阅产品或同一订阅组中的任何其他产品的介绍性价格。您通常会从您的服务器检查用户的资格。最好尽早确定资格 - 例如,如果可能,在首次启动应用程序时。

根据收据,您会发现新客户和老客户有资格享受以下介绍价格或免费试用折扣: 新订户始终有资格。如果之前未收到给定产品(或同一订阅组中的任何产品)的介绍价格,则续订的已过期订阅者有资格。

要回答您的具体问题:

过去订阅的客户可以再次试用吗?

不可以。Apple 会针对同一订阅组中的任何产品强制执行此操作。例如,如果用户开始试用“月度产品”,然后取消,然后再购买“年度产品”,他们将没有资格获得免费试用。

是否可以使用 StoreKit 确定试用版现在可用?检查 SKProduct 的 introductoryPrice 属性是否正确?

不会。SKProduct 将始终显示相同的介绍价。


推荐阅读