处理通过 App Store 促销进行的应用内购买

Handling In-App Purchases made via App Store Promotion

在 App Store Connect 中,有一个 App Store Promotion 部分,您可以在其中选择将应用内购买显示在应用的产品页面上。在该部分中,它说,“确保您的应用支持 SKPaymentTransactionObserver method 来处理此交易。”

link 会将您发送到 paymentQueue(_:shouldAddStorePayment:for:) 的文档。

所以,我按如下方式实现了该方法:

class StoreObserver: NSObject, SKPaymentTransactionObserver, SKProductsRequestDelegate {
    func paymentQueue(_ queue: SKPaymentQueue, shouldAddStorePayment payment: SKPayment, for product: SKProduct) -> Bool {
        return true
    }

    ...
}

我回来 true 因为,正如文档中所说,“Return true 继续在您的应用程序中进行交易。”

我没有发布其余的应用内购买代码,因为我认为它与我的问题无关:除了返回 true 之外还有什么我需要的吗在此方法中如何正确完成在 App Store 上启动的应用内购买?

谢谢。

谷歌搜索了一下后,我找到了 this article,这似乎回答了我的问题:不,您不需要做任何其他事情;返回 truefalse 应该这样做,假设您的其余 IAP 代码设置正确。

来自文章:

To continue an in-app purchase transaction, implement the delegate method in the SKPaymentTransactionObserver protocol and return true. StoreKit then displays the payment sheet, and the user can complete the transaction.