Инициализация 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, удалив и прочитав плагин.
Удачи!