android-无法使用Fovea购买插件从Google Play商店检索产品
作者:互联网
我正在将Fovea.cc purchase plugin用于Android Cordova应用.插件已初始化,但无法找到我的应用内购买产品-如果产品不存在或未发布应用,则会出现相同的“找不到产品”错误.我正在寻找更多的故障排除步骤.
这是相关的代码,在应用启动时会被调用:
store.register({
id: "com.ineptech.wn.unlockgame",
alias: "unlockgame",
type: store.NON_CONSUMABLE
});
store.ready(function() {
console.log("\\o/ STORE READY \\o/"); // This does get called
});
store.when("unlockgame").approved(function (order) {
UnlockContent();
order.finish();
});
store.refresh();
var p = store.get("unlockgame");
popup("Title = " + p.title);
// this displays "Title = null"
这是购买按钮的代码:
store.order("unlockgame");
// Results in "The item you were attempting to purchase
// could not be found" error from Play Store
以下是采购尝试在logcat中显示的内容:
I/ActivityManager(424): Displayed com.android.vending/com.google.android.finsky.billing.lightpurchase.IabV3Activity: +80ms
E/Volley(22062): [1009] BasicNetwork.performRequest: Unexpected response code 500 for https://android.clients.google.com/fdfe/preparePurchase
这是我已经仔细检查过的内容:
>“解锁游戏”是正确的产品ID
>该产品在Play控制台中定义,并且处于活动状态
>该应用已发布并处于活动状态
>该应用程序以发布模式构建,并在真实设备上运行
>设备可以正常进入Play商店
>我的应用程序的许可证密钥存储在res / values / billing_key.xml中
还有什么可能使插件无法获得产品?
解决方法:
问题很可能与您的配置有关,但首先我看到的是您在执行store.refresh()之后尝试访问产品标题
store.refresh();
var p = store.get("unlockgame");
但是,store.refresh()方法是异步的,只会触发对服务器的请求.您可以通过以下方式监视对产品的更改:
store.when("unlockgame").updated(function(p) {
alert("product is " + p.state + ", title is " + p.title);
});
然后致电:
store.refresh();
还要检查播放控制台上的产品ID是否为com.ineptech.wn.unlockgame,而不仅仅是解锁游戏,并且其类型为Managed.
标签:cordova,in-app-purchase,cordova-plugins,android 来源: https://codeday.me/bug/20191121/2048187.html