我在一个新的iOS应用程序中使用StoreKit2来处理应用内订阅购买。我想支持在应用程序中兑换优惠代码,但我不知道如何使用StoreKit2做到这一点。
是否有相当于原始StoreKit的SKPaymentQueue的StoreKit2。presentCodeRedemptionSheet((?
我在文档中没有看到任何专门处理优惠代码的内容。虽然有这个:
static func promotionalOffer(offerID: String, keyID: String, nonce: UUID, signature: Data, timestamp: Int) -> Product.PurchaseOption
我的理解是,促销优惠与优惠代码是分开的。
感谢任何人提供的关于如何使用StoreKit2在应用程序内兑换优惠代码的建议。我假设我不应该包括原始的StoreKit和StoreKit2,并调用旧的API,对吗?
更新:iOS 16中现在有一种方法可以用于此目的(感谢@Mamounneya发现了这一点(:
presentOfferCodeRedeemSheet(in:)
原始答案:
我在今年早些时候的一次苹果开发者活动中问了这个问题(优化订阅以获得成功:2022年3月22日收购(,被告知:
- 没有类似的StoreKit2(至少截至2022年3月还没有(
- 我们应该只使用原始StoreKit中的
SKPaymentQueue.presentCodeRedemptionSheet()
这个答案似乎意味着在同一应用程序中链接StoreKit和StoreKit2是可以的。我自己还没试过。
接受的答案不再为真。看起来苹果最近确实在iOS 16中推出了更现代的API:presentOfferCodeRedeemSheet(in:)