其他分享
首页 > 其他分享> > android-无法使用Fovea购买插件从Google Play商店检索产品

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