android ionic应用程序内购买消失

Inapp purchases disappear on android ionic app

本文关键字:消失 ionic 应用程序 android      更新时间:2023-09-26

我试图用插件cordova-plugin-inapppurchase实现应用内购买产品加载,但在产品加载后产品不显示。

我错在哪里?

这是我的代码:

<h3 class="inapp_textw" ng-click="loadProducts()" ng-if="!products">Or Inappp purchases</h3>
<h3 class="inapp_textw" ng-repeat="product in products" ng-click="buy(product.productId)">Or Inappp purchases</h3>

JS

var productIds = ["com.domain.example"]; //I have the correct ID
  var spinner = '<ion-spinner icon="dots" class="spinner-stable"></ion-spinner><br/>';
  $scope.loadProducts = function() {
      console.log("loaded inapp products"); // This logs 
    $ionicLoading.show({
      template: spinner + 'Loading...'
    });
    inAppPurchase
      .getProducts(productIds)
      .then(function(products) {
        $ionicLoading.hide();
        $scope.products = products;
      })
      .catch(function(err) {
        $ionicLoading.hide();
        console.log(err);
      });
  };

  $scope.buy = function(productId) {
      console.log("buy clicked");
    $ionicLoading.show({
      template: spinner + 'Acquisto in corso...'
    });
    inAppPurchase
      .buy(productId)
      .then(function(data) {
        console.log(JSON.stringify(data));
        console.log('consuming transactionId: ' + data.transactionId);
        return inAppPurchase.consume(data.type, data.receipt, data.signature);
      })
      .then(function() {
        localStorage.setItem('sold', 'true');
        $ionicLoading.hide();
        if (state == "l2") {
          $state.go("12")
        }
      })
      .catch(function(err) {
        $ionicLoading.hide();
        console.log(err);
      });
  };
  $scope.restore = function() {

    console.log("IT WORKS");

    $ionicLoading.show({
      template: spinner + 'Ripristino degli acquisti in corso...'
    });
    inAppPurchase
      .restorePurchases()
      .then(function(purchases) {
        $ionicLoading.hide();
        console.log(JSON.stringify(purchases));
        localStorage.setItem('sold', 'true');
        $state.go("12")
      })
      .catch(function(err) {
        $ionicLoading.hide();
        console.log(err);
        $ionicPopup.alert({
          title: 'Something went wrong',
          template: 'Check your console log for the error details'
        });
      });
  };

你只是在加载产品,这就是为什么它没有显示。

必须打印出来,如下所示。

<h3 class="inapp_textw" ng-repeat="product in products" ng-click="buy(product.productId)">{{product}}</h3>