我有一个使用CSS,HTML和Javascript创建的IOS混合应用程序,然后使用PhoneGap Build转换为IOS应用程序。
我的应用程序在IOS App Store中的价格为0.99美元,现在我决定进行更改,并通过一次非消耗性购买将其免费,它将永久启用该应用程序中的一项有用功能。
尽管花了很多时间试图使应用程序内购买正常工作,但我取得了零进展……有人可以帮忙吗?
我到目前为止所做的:
在App-Store-Connect中,我创建了一个“应用内购买”,其中包含用于该应用内购买的产品ID(EnablePreset001)和Apple ID(145357 ****)。它已“待售”,并且开始日期从今年2月初开始,没有结束日期。我有一个有效的“付费激活协议”。
我正在尝试使用乔希·莫洛尼(Josh Morony)的精彩网页来指导我完成以下工作: https://www.joshmorony.com/how-to-create-ios-in-app-purchases-with-phonegap-build/
我已将以下行添加到PhoneGap配置文件中,该文件是已上传到PhoneGap Build的.zip文件的一部分:
<gap:plugin name="cc.fovea.plugins.inapppurchase" version="6.0.0" />
我将以下内容添加到了www。文件夹中Index.html文件的JavaScript部分,该文件夹是上传到PhoneGap Build的.zip文件的一部分:
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….
我已经了解到,测试代码的唯一方法是在真实设备上,并且将应用程序移植到真实设备的唯一方法是从真实设备(在我的情况下为iPad)上的TestFlight下载构建),然后退出所有内容。然后启动我的应用程序(效果很好),然后按一下应该会发生一些应用程序内购买事件的按钮。什么都没发生。我已经在网络上进行了搜索,现在我处于那种完全松散无助的心态,这是迄今为止任何人都熟悉的。我想念什么?