Инициализация Android в биллинге приложения с помощью плагина cordova

В моем приложении Ionic Cordova я использую плагин покупки в приложении: 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 не загружается при покупке.

Я думаю, для Android есть другой метод инициализации.

Я добавил плагин в приложение:

cordova plugin add cc.fovea.cordova.purchase  --variable BILLING_KEY="<BILLING_KEY>"

Пожалуйста помоги.

1 ответ

Решение

Во-первых, когда я использовал его, версия npm была немного глючной на Android. Попробуйте удалить его и добавить из Git.

cordova plugin add https://github.com/j3k0/cordova-plugin-purchase.git --variable BILLING_KEY="MIIB...AQAB"

Во-вторых, похоже, вы используете какой-то более старый синтаксис. Доку для этого плагина не очень хороший контроль версий. В сети есть разные версии doco. Я думаю, что это последняя версия.

Это мой код инициализации. Посмотрите, работает ли это и для вас.

            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, удалив и прочитав плагин.

Удачи!

Другие вопросы по тегам