IOS In-App Покупка с использованием PhoneGap ... ноль прогресса - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть гибридное приложение IOS, которое создано с использованием CSS, HTML и Javascript, а затем преобразовано в приложение IOS с помощью PhoneGap Build.

Мое приложение стоит $ 0,99 в магазине приложений IOS, и теперь я решил внести изменение и сделать его бесплатным с помощью одной покупки без расходных материалов, которая навсегда включит полезную функцию в приложении.

Несмотря на то, что я всегда тратил усилия на то, чтобы сделать покупку внутри приложения, я добился нулевого прогресса ... может кто-нибудь помочь?

Что я сделал до сих пор:

ВApp-Store-Connect Я создал «Покупку в приложении», в которой есть идентификатор продукта (EnablePreset001) и Apple ID (145357 ****) для покупки через приложение.Он «очищен для продажи» и имеет дату начала, которая началась в начале февраля и не имеет даты окончания.У меня есть активное «Платное соглашение об активации».

Я пытаюсь использовать замечательную веб-страницу Джоша Морония, чтобы помочь мне в том, что я должен сделать: https://www.joshmorony.com/how-to-create-ios-in-app-purchases-with-phonegap-build/

Я добавил следующую строкук файлу конфигурации PhoneGap, который является частью ZIP-файла, загруженного в PhoneGap Build:

<gap:plugin name="cc.fovea.plugins.inapppurchase" version="6.0.0" />

Я добавил следующее в часть JavaScript моего файла Index.html, который находится в папке www, котораячасть файла .zip, загруженного в PhoneGap Build:

IAP = {
                 list: [ "EnablePreset001”]
               };
IAP.load = function () {
     // Check availability of the storekit plugin
     if (!window.storekit) {
          console.log("In-App Purchases not available");
          return;
     }
     // Initialize
     storekit.init({
          debug:    true, // Enable IAP messages on the console
          ready:    IAP.onReady,
          purchase: IAP.onPurchase,
          restore:  IAP.onRestore,
          error:    IAP.onError
     });
};
IAP.onReady = function () {
     storekit.load(IAP.list, function (products, invalidIds) {
          IAP.products = products;
          IAP.loaded = true;
          for (var i = 0; i < invalidIds.length; ++i) {
               console.log("Error: could not load " + invalidIds[i]);
          }
     });
};
IAP.onPurchase = function (transactionId, productId, receipt) {
     if(productId === “EnablePreset001”){
          alert("Presets Enabled!");
               }
};
IAP.onRestore = function (transactionId, productId, transactionReceipt) {
     if(productId == “Enable Preset001”){
    FeatureBought = true;
          //Code to enable presets for the user
     }
};
IAP.onError = function (errorCode, errorMessage) {
     console.log(errorCode);
     console.log(errorMessage);
};
IAP.buy = function(productId){
     storekit.purchase(productId);
     FeatureBought = true;
};
IAP.restore = function(){
     storekit.restore();
};
document.addEventListener("deviceready", function(){
     IAP.load();
}, false);

Затем я включаю вызов функции IAP.buy в коде:

function beat2labelsdown(){
    if (FeatureBought == false) {IAP.buy('EnablePreset001');};
    if (FeatureBought == true) {
    preset =2;
    presetW1 = 0.28;
    presetW2 = 0.25;
    etc etc….

Я прочиталединственный способ проверить код на реальном устройстве и единственный способ получить приложение на реальном устройстве - загрузить сборку из TestFlight на реальном устройстве (в моем случае это iPad), а затем выйти из системы.из всего.Затем запустите мое приложение (оно прекрасно работает) и нажмите кнопку, которая должна сделать событие покупки внутри приложения.Ничего не произошло.Я просмотрел сеть, и теперь я нахожусь в том совершенно беспомощном беспомощном состоянии, с которым знаком любой, кто зашел так далеко.Чего мне не хватает?

...