在我的离子Cordova应用程序中,我使用In App Purchase Plugin:https://github.com/j3k0/cordova-plugin-purchase
以下是我用来初始化商店的方法:
storekit.init({
debug: true, // Enable IAP messages on the console
ready: service.IAP.onReady,
purchase: service.IAP.onPurchase,
restore: service.IAP.onRestore,
error: service.IAP.onError
});
此初始化适用于iOS并且所有产品也可以正常加载,但Android设备无法加载In Purchase。
我想,对于android,有一种不同的初始化方法。
我在app中添加了插件:
cordova plugin add cc.fovea.cordova.purchase --variable BILLING_KEY="<BILLING_KEY>"
请帮忙。
答案 0 :(得分:4)
首先,当我使用它时,npm版本在android上有点小错误。尝试删除它并从Git中添加它。
cordova plugin add https://github.com/j3k0/cordova-plugin-purchase.git --variable BILLING_KEY="MIIB...AQAB"
其次,看起来你可能正在使用一些较旧的语法。这个插件的doco真的没有很好的版本控制。整个网络都有不同版本的doco。我认为this是最新版本。
这是我的初始化代码。看看它是否适合你。
products = ["my.test.product"];
for (var i = 0; i < products.length; i++) {
if (window.store) {
store.register({
id: products[i],
alias: 'alias '+i,
type: store.NON_CONSUMABLE
});
}
}
// When everything goes as expected, it's time to celebrate!
if (window.store) store.ready(function() {
console.log("\\o/ STORE READY \\o/");
});
// After we've done our setup, we tell the store to do
// it's first refresh. Nothing will happen if we do not call store.refresh()
if (window.store) store.refresh();
你也可以将商店对象发送到console.log,以便在chrome调试器中仔细查看。
哦,如果您有多个应用,请确保通过删除和读取插件来使用正确的BILLING_KEY。
祝你好运!