在App Purchase中没有使用PhoneGap App

时间:2011-12-12 22:22:47

标签: objective-c ios cordova in-app-purchase phonegap-plugins

我在尝试在基于iPhone phone的基于应用程序的应用程序中运行inAppPurchases时遇到了一些问题。 我在gitHub https://github.com/phonegap/phonegap-plugins/tree/master/iPhone/InAppPurchaseManager

上获得了inAppPurchase-plugin

然后我创建了我的开发者帐户,购买了de u $ 99,并制作了我的inAppPurchase目录 创建了我的iTunes Connect帐户以获取测试用户。

我将所有插件文件放在它所说的位置......并且,如果我尝试运行“alert(typeof window.plugins.inAppPurchaseManager)”,它会显示“对象”,所以插件正在正确加载!

当我尝试购买时出现问题..

我退出我的itunes帐户,在我的iphone中运行我的二进制文件,当我进行购买时,我应该看到一个提示,询问我的测试帐户信息,以便进行符号购买!但它永远不会发生!

我试图运行的javascript代码(非常基本)是以下

document.addEventListener('deviceready', onDeviceReady, false);

function onDeviceReady(event) {
    window.plugins.inAppPurchaseManager.onPurchased = function(transactionIdentifier, productId, transactionReceipt) {
        alert("purchased");
    };

    window.plugins.inAppPurchaseManager.onRestored = function(originalTransactionIdentifier, productId, originalTransactionReceipt) {
        alert("restored");
    };

    window.plugins.inAppPurchaseManager.onFailed = function(errorCode, errorText) {
        alert("error");
    };

    window.plugins.inAppPurchaseManager.requestProductData(
        "com.mycompany.myproduct.myproductid", 
        function(productId, title, description, price) {
            alert("data retrieved");
            window.plugins.inAppPurchaseManager.makePurchase(productId, 1);
        },
        function(id) {
            alert("Invalid product id: " + id);
        }
    );
}
希望你能帮助我!谢谢!

2 个答案:

答案 0 :(得分:4)

你需要在html.index中调用类似window.plugins.inAppPurchaseManager.onPurchased的js函数来使这些函数正常工作。这些函数调用on在js中搜索并相应地调用obj-C函数。

(index.html中的js函数) - >(js文件中的js函数) - >(objective-C函数)...是序列。

答案 1 :(得分:0)

您是否收到任何无效的产品ID?苹果公司有很多陷阱。尝试阅读this guide以查找获取产品信息请求以返回有效产品所需的内容。