我在新的 iOS 应用中使用 StoreKit2 来处理应用内订阅购买。我想支持在应用程序中兑换 Offer Codes,但我不知道如何使用 StoreKit2 进行兑换。
是否有一个 StoreKit2 相当于原始 StoreKit 的SKPaymentQueue.presentCodeRedemptionSheet()?
我在文档中没有看到任何似乎专门处理优惠代码的内容。 虽然有这个:
static func promotionalOffer(offerID: String, keyID: String, nonce: UUID, signature: Data, timestamp: Int) -> Product.PurchaseOption
我的理解是促销优惠与优惠代码是分开的。
感谢任何人关于如何允许使用 StoreKit2 在应用程序内兑换优惠代码的任何指示。我假设我不应该包括原始的 StoreKit 和 StoreKit2 并调用旧的 API,对吧?
我在今年早些时候的 Apple Developer 活动中问了这个问题(Optimize Subscriptions for Success:Acquisition on March 22 2022)并被告知:
SKPaymentQueue.presentCodeRedemptionSheet()
这个答案似乎暗示可以在同一个应用程序中链接到 StoreKit 和 StoreKit2。我自己还没有尝试过。
已接受的答案不再正确。看起来 Apple 最近确实在 iOS 16 中引入了更现代的 API:
presentOfferCodeRedeemSheet(in:)