使用cordova插件初始化Android In App Billing

时间:2015-07-19 23:58:37

标签: android angularjs cordova phonegap-plugins ionic

在我的离子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>"

请帮忙。

1 个答案:

答案 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。

祝你好运!