![](/img/trans.png)
[英]Facebook Instant Game IAP error: {code: “UNKNOWN”, message: “Product not purchaseable”}
[英]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 工作時, alert
和console.log
不會幫助您處理任何交互/日志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.