У меня есть гибридное приложение 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), а затем выйти из системы.из всего.Затем запустите мое приложение (оно прекрасно работает) и нажмите кнопку, которая должна сделать событие покупки внутри приложения.Ничего не произошло.Я просмотрел сеть, и теперь я нахожусь в том совершенно беспомощном беспомощном состоянии, с которым знаком любой, кто зашел так далеко.Чего мне не хватает?