簡體   English   中英

Android 設備上的 Facebook Instant Game IAP

[英]Facebook Instant Game IAP on Android device

我們正在嘗試將 facebook 即時游戲 IAP 集成到我們的游戲中,但它僅適用於瀏覽器。

瀏覽器上會出現一個對話框。 瀏覽器上的付款對話框

但是在 Android 設備上,傳遞給FBInstant.payments.onReady的回調永遠不會被調用。

我們使用的示例代碼:

let supportedAPIs = FBInstant.getSupportedAPIs();
if (supportedAPIs.includes('payments.purchaseAsync'))
{
    console.log('payments supported...');

    FBInstant.payments.onReady(() => {
        console.log('payments ready...');

        FBInstant.payments.purchaseAsync({
            productID: 'test_product',
            developerPayload: 'payload',
        }).then(function (purchase) {
            console.log(purchase);
        });
    });
}
else
{
    console.log('payments not supported...');
}

在我可以在 Android 設備上測試付款之前,我需要滿足什么額外要求嗎?

我的測試設備型號是 Nexus 6P,Android 版本是 8.0。

為了能夠在 Android 上使用 IAP,您必須運行 Google Play 服務並且使用 Android 5 或更高版本,因為 Android 上的所有 IAP 交易都通過 Google Play。

如果您可以分享更多關於您正在測試的設備的信息,我們可能會理解為什么這在那里不起作用。

看起來你沒有消費你的購買。 只要您在 Facebook 開發者管理儀表板中的業務驗證、IAP 設置等一切正常,下面的代碼就對我有用:

FBInstant.payments.purchaseAsync({
    productID: 'gems50'
  }).then(function (purchase) {
    FBInstant.payments.consumePurhaseAsync(purchase.purchaseToken).then(function () {
      localStorage.gems = parseInt(localStorage.gems) + 50; // Add appropriate quantity of extra gems.
    }).catch(function (error) {
      // Handle errors...
    });
  }).catch(function (error) {
    // Handle errors...
});

請記住,在 Android 上為 Facebook Instant Games 工作時, alertconsole.log不會幫助您處理任何交互/日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM