store.deferStorePurchases()

类型 函数
返回值
修订 版本 2024.3703
关键词 Apple,IAP,应用内购买,App Store 推广的购买
另请参阅 store.proceedToPayment
store.*

概述

有时,应用内购买可能由应用外部触发,例如来自 App Store 的推广。如果您的应用无法随时处理购买,或者您需要在继续购买之前实施年龄限制,则可以使用此函数来选择显示付款对话框的时间。

设置监听器后,用户从 App Store 发起的应用内购买不会立即进行付款。相反,会生成 appStorePurchase 事件,当更适合显示付款屏幕时,您可以使用 store.proceedToPayment() 方法手动显示。

在底层,设置监听器会导致插件从 paymentQueue(_:shouldAddStorePayment:for:) 返回 NO。您可以传递 nil 来移除监听器。

语法

store.deferStorePurchases( appStorePurchaseListener )
appStorePurchaseListener (必需)

监听器. 当从应用外部触发购买时,此监听器将接收 appStorePurchase 事件,而不是立即显示购买窗口。

示例

local store = require( "plugin.apple.iap" )

local function transactionListener( event )
    -- ...
end
store.init( transactionListener )


local function deferredPurchases(event)
    local payment = event.payment

    -- Tore `payment` somewhere and when time is right call
    store.proceedToPayment(payment)
end
store.deferStorePurchases(deferredPurchases)