如何在免费试用期内提出IAP购买请求?

时间:2019-08-30 15:43:10

标签: ios swift in-app-purchase subscription

我正在为我的应用程序实现订阅模型,并且我准备了一切。我创建了“每月订阅”产品和“每年”。另外,我还为每月产品添加了促销优惠。促销优惠是1周免费试用。

当我尝试购买月度产品时,它将立即开始按月订购。我该如何先从试用报价开始提供报价?

let payment = SKPayment(product: MonthlyProduct)
SKPaymentQueue.default().add(payment)

另外,当我获取可用产品时,只有2种产品(每月和每年)。我知道按月产品的免费试用报价,但是我找不到如何购买免费试用报价。

1 个答案:

答案 0 :(得分:0)

我找到了在试用期内如何付款请求订阅产品。我必须使用paymentDiscount对象设置付款的SKPaymentDiscount

let payment = SKPayment(product: product)
payment.paymentDiscount = SKPaymentDiscount(identifier: <String>, keyIdentifier: <String>, nonce: <UUID>, signature: <String>, timestamp: <NSNumber>)
SKPaymentQueue.default().add(payment)

在应用报价之前,我们需要将我们的SKProductDiscount转换为SKPaymentDiscount。 SKPaymentDiscount的init方法为我们实现该目标提供了一些线索:

  • 标识符-订阅商品的标识符
  • keyIdentifier -用于签署要约的订阅密钥的标识符
  • 即席-与签名一起生成的一次性价值
  • 签名-签名本身
  • 时间戳-生成签名的时间戳。

您可以找到完整的流程this tutorial