Возникла ситуация, которую не могу решить уже более чем 4 дня...
Реализовую возможность покупок через приложение в Google Play.
Приложение написано на Ionic, Angular первой версии. Для покупок использую библиотеку Alex Disler
https://github.com/AlexDisler/cordova-plugin-inapp...
Хронология того что я сделал:
1) Установил cordova plugin add cc.fovea.cordova.purchase --variable BILLING_KEY="My key"
2) Добавил в manifest.json:
{ "play_store_key": "MyRSA key" }
3) В AndroidManifest добавил разрешение на биллинг:
<uses-permission android:name="android.permission.BILLING" />
<uses-permission android:name="com.android.vending.BILLING" />
4) На странице шаблона:
<button ng-show="!products" ng-click="loadProducts()" class="button button-block button-balanced">
<i class="ion-arrow-down-c"></i> Load Products
</button>
<button ng-repeat="product in products" ng-click="buy(product.productId)" class="button button-block button-positive">
{ { product.title }} - { { product.price }}
</button>
<h3>Restore Purchases</h3>
<button ng-click="restore()" class="button button-block button-balanced">
<i class="ion-refresh"></i> Restore
</button>
5) В файле контроллера:
$scope.loadProducts = function () {
$ionicLoading.show({ template: spinner + 'Loading Products...' });
alert('If Isset inAppPurchase: ' + inAppPurchase);
inAppPurchase
.getProducts(productIds)
.then(function (products) {
$ionicLoading.hide();
alert('If Isset products: ' + products);
$scope.products = products;
})
.catch(function (err) {
$ionicLoading.hide();
alert('Error: ' + err);
alert(err);
});
};
6) Создаю билд:
cordova build --release android
подписываю, архивирую и устанавливаю в реальный телефон.
7) В Google Play стоит такая же версия android - бета версия в статусе Published. 2 продукта в статусе Active.
Вопрос:
Что я забыл? Не дописал? При нажатии на кнопку получить все продукты, итог - пустой массив сработанный на success промисе. Буду признателен любым комментариям!