在iTunes Connect中,可以为自动续订订阅提供免费试用期。
App > Manage In App Purchases > Subscription Basic > 1 Month > Offer a free trial?
如何在客户端获取此信息?正如我所见,SKProduct
没有关于此的任何信息。由于我们正在进行营销活动,因此最终用户看不到有关产品的信息有试用期非常困惑。
当然可以从我维护的服务器获取此类信息,但是我们将有更新服务器和iTunes Connect的开销。所以我不接受这种答案,除非它连接到Apple的服务中检索试用期信息。
答案 0 :(得分:9)
TLDR;这不可能。您需要自己管理这些信息。
当您处理SKPayment时,您会收到回执。您应该定期验证这些收据以进行订阅(例如,在下载新内容之前),因为用户可能已取消订阅。当用户确实取消订阅或订阅到期时,您在验证购买收据时会收到描述性错误。
此外,收据会为您提供所需的所有信息:对于给定的产品,您知道您授予的试用期。因此,在进行购买时,您可以将购买收据中提供的购买日期存储在模型对象或NSUserDefaults或购买数据旁边的钥匙串中。此时您知道试用期何时到期并验证订阅是否仍然有效。如果你不能,你可能想要禁用对内容的访问,直到你能够这样做。
有关购买收据和订阅的更多信息,请查看Apple的In-App Purchase Guide。
答案 1 :(得分:2)
在客户端,您通常会根据其产品标识符识别不同的产品和特征,因为App Store未提供某些信息,如订阅期和免费试用期。
因此,如果您的产品ID是例如:
com.domain.app.product_paid1month_free7days
您在客户端分割了ID,并知道付费订阅的有效期为1 month
,且产品的免费试用期为7 days
。
当然,一种方法是将产品ID传输到您自己的服务器,以获得其特性作为响应。这样,您可以连续维护产品列表,而无需更新二进制文件和版本。
答案 2 :(得分:1)
SKProduct>介绍价格
自iOS 11.2起可用
https://developer.apple.com/documentation/storekit/skproduct/2936878-introductoryprice?language=objc