iOS上的StoreKit - autorenewable订阅 - 如何知道它是否是免费试用?

问题描述 投票:21回答:3

在iTunes Connect中,可以为自动续订订阅提供免费试用期。

App > Manage In App Purchases > Subscription Basic > 1 Month >  Offer a free trial?

如何在客户端获取此信息?正如我所见,SKProduct没有关于此的任何信息。由于我们正在进行营销活动,因此最终用户看不到有关产品的信息有试用期非常困惑。

当然可以从我维护的服务器获取这种信息,但是我们将有更新我们的服务器和iTunes Connect的开销。所以我不接受这种答案,除非它连接起来从Apple的服务中检索试用期信息。

iphone ios itunesconnect storekit skproduct
3个回答

9
投票

TLDR;这不可能。您需要自己管理这些信息。


当您处理SKPayment时,您会收到一张收据。您应该定期验证这些收据以进行订阅(例如,在下载新内容之前),因为用户可能已取消订阅。当用户确实取消订阅或订阅到期时,您在验证购买收据时会收到描述性错误。

此外,收据会为您提供所需的所有信息:对于给定的产品,您知道您授予的试用期。因此,在进行购买时,您可以将购买收据中提供的购买日期存储在模型对象或NSUserDefaults或购买数据旁边的钥匙串中。此时您知道试用期何时到期并验证订阅是否仍然有效。如果你不能,你可能想要禁用对内容的访问权限,直到你能够这样做。

有关购买收据和订阅的更多信息,请查看Apple的In-App Purchase Guide


2
投票

在客户端,您通常会根据其产品标识符识别不同的产品和特征,因为App Store未提供某些信息,如订阅期和免费试用期。

因此,如果您的产品ID是例如:com.domain.app.product_paid1month_free7days,您在客户端分割ID并知道付费订阅持续时间是1 month,并且产品的免费试用期为7 days

当然,一种方法是将产品ID传输到您自己的服务器以获得其特征作为响应。这样,您可以持续维护产品列表,而无需更新二进制文件和跨版本。

© www.soinside.com 2019 - 2024. All rights reserved.