如何激活包月试用订阅(自动续订)?
How to activate trial subscription of monthly subscription (auto-renewing)?
我创建了每月订阅(自动续订)并在 App Store Connect 中为其安装了 14 天的试用版。现在怎么激活?我希望在应用程序中注册用户后立即出现 window,建议购买每月订阅或利用 14 天免费版本。如何在代码中使用它?
您的订阅是否有介绍期并不重要。您需要实施:
1. 使用 SKProductsRequest 获取产品:
func loadProducts(){
let request = SKProductsRequest.init(productIdentifiers: productIds)
request.delegate = self
request.start()
}
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
products = response.products
}
- 使用 SKPaymentQueue 启动该产品的支付流程:
let payment = SKPayment(product: product)
SKPaymentQueue.default().add(payment)
- 在更新的交易方法中处理每个开关案例:
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
switch (transaction.transactionState) {
case .purchased:
SKPaymentQueue.default().finishTransaction(transaction)
// handle here
break
case .failed:
SKPaymentQueue.default().finishTransaction(transaction)
// handle here
break
case .restored:
SKPaymentQueue.default().finishTransaction(transaction)
// handle here
break
case .deferred, .purchasing:
break
default:
break
}
}
您可以在我的文章中阅读更多详细信息:https://blog.apphud.com/swift-tutorial-subscriptions/
您还可以使用 SwiftyStoreKit 库。
我创建了每月订阅(自动续订)并在 App Store Connect 中为其安装了 14 天的试用版。现在怎么激活?我希望在应用程序中注册用户后立即出现 window,建议购买每月订阅或利用 14 天免费版本。如何在代码中使用它?
您的订阅是否有介绍期并不重要。您需要实施: 1. 使用 SKProductsRequest 获取产品:
func loadProducts(){
let request = SKProductsRequest.init(productIdentifiers: productIds)
request.delegate = self
request.start()
}
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
products = response.products
}
- 使用 SKPaymentQueue 启动该产品的支付流程:
let payment = SKPayment(product: product)
SKPaymentQueue.default().add(payment)
- 在更新的交易方法中处理每个开关案例:
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
switch (transaction.transactionState) {
case .purchased:
SKPaymentQueue.default().finishTransaction(transaction)
// handle here
break
case .failed:
SKPaymentQueue.default().finishTransaction(transaction)
// handle here
break
case .restored:
SKPaymentQueue.default().finishTransaction(transaction)
// handle here
break
case .deferred, .purchasing:
break
default:
break
}
}
您可以在我的文章中阅读更多详细信息:https://blog.apphud.com/swift-tutorial-subscriptions/
您还可以使用 SwiftyStoreKit 库。