我们的应用程序中有“免费试用”按钮。我想弄清楚如何知道该试用版。
对于文档中的以下文字,我有些怀疑:
新用户和重新订阅的客户有资格为每个订阅组支付一个折扣价或免费试用。
什么是“重新订阅”?过去订阅过的客户可以再次试用吗?
是否可以使用StoreKit来确定该试用版现在可用?
检查introductoryPrice
:https://developer.apple.com/documentation/storekit/skproduct/2936878-introductoryprice的SKProduct
属性是否正确?
我还想过向后端询问当前用户的所有订阅历史记录,如果用户还没有试用,则显示“免费试用”。但是正如我说的那样,我不确定是否要“重新订阅”。
答案 0 :(得分:1)
检查试用资格的正确方法是按照下面Apple所述的方法验证收据文件。由于大多数人将其视为非关键验证,因此在客户端进行此验证(而不是在服务器外保存网络呼叫)没有太大危害。伪造的收据可能造成的最大危害是更改按钮的文字。
确定资格
要确定用户是否有资格享受介绍价,请检查 他们的收据:按照验证中所述验证收据 App Store上的收据。在收据中,检查 订阅试用期和订阅介绍价格 所有应用内购买交易的期限。如果这些字段之一 对于给定的订阅为true,则用户不符合 该订阅产品或任何其他产品的介绍价 在同一订阅组中。您通常会检查用户的 您的服务器的资格。最好确定资格 尽早-例如,在应用程序首次启动的情况下。
根据收据,您会发现新客户和回头客 有资格获得介绍价或免费试用折扣,因为 遵循:新订户始终有资格。订阅者人数减少 如果他们以前没有收到过介绍,则有资格续订 给定产品(或同一产品中的任何产品)的价格 订阅组)。
要回答您的特定问题:
过去订阅过的客户可以再次试用吗?
不。 Apple对同一订阅组中的任何产品强制执行此操作。例如,如果用户开始试用“按月产品”,然后取消,然后再购买“按年产品”,则他们将没有资格获得免费试用。
是否可以使用StoreKit来确定可以进行试用 现在?检查的introductoryPrice属性是否正确 SKProduct?
不。 SKProduct将始终显示相同的入门价格。