我正在为客户开发游戏,我们现在正在测试付款/购买。
因此在“应用内购买”设置页中,我已经: 1.)将开发人员帐户添加到测试人员列表 2.)创建了产品
我的代码如下:
let supportedAPIs:any = FBInstant.getSupportedAPIs();
if(supportedAPIs.includes('payments.purchaseAsync'))
{
console.log('payments supported...');
FBInstant.payments.onReady(() => {
console.log('payments ready...');
FBInstant.payments.purchaseAsync({
productID: 'my_temp_prod'
}).then((purchase) => {
console.log(purchase);
}).catch((err) => {
console.log(err);
});
});
}
我试图在Android上运行它,并且向我展示了一次:
单击“确定”后,它没有显示任何付款对话框,并且我再也无法在Android上显示付款对话框。
然后我尝试在桌面浏览器版本上对其进行测试,并且代码仅导致{code: "UNKNOWN", message: "Product not purchaseable"}
错误。
我仍然可以看到“支持付款”和“准备付款”的信息,因此我知道至少该部分正在运行,但是我无法显示测试对话框。
我们有什么遗漏吗?我们也已经设置了付款帐户。
答案 0 :(得分:0)
好吧,事实证明,购买成功后您必须使用consumePurchaseAsync
。您还可以使用getPurchasesAsync
来检查是否还有剩余的剩余商品需要填写。
我不好,我认为即时游戏的购买很像普通的FB游戏(您不必在那里“消费”产品)。对于任何可能迷路的人,我希望这会有所帮助。