23

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

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

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

当然,可以从我维护的服务器中获取此类信息,但随后我们将承担更新服务器和 iTunes Connect 的开销。所以我不接受这种答案,除非它被连接到从 Apple 的服务中检索试用期信息。

来自 iTunes Connect 的屏幕截图

4

3 回答 3

9

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


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

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

有关购买收据和订阅的更多信息,请查看Apple的应用内购买指南

于 2013-06-13T13:58:59.247 回答
2

On the client side you usually identify the different products and characteristics by their product identifier as the App Store does not deliver certain information such as subscription period and free trial period.

So if your product ID is for example: com.domain.app.product_paid1month_free7days you split the ID on the client side and know that the paid subscription duration is 1 month and the product has a free trial period of 7 days.

Of course one approach would be to transmit the product ID to your own server to get its characteristics as response. This way you can maintain the product list continuously without updating the binary and across versions.

于 2017-10-15T08:49:03.540 回答
1

SK产品 > 介绍价格

自 iOS 11.2 起可用

https://developer.apple.com/documentation/storekit/skproduct/2936878-introductoryprice?language=objc

于 2019-04-19T13:22:41.803 回答