3

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

然后我创建了我的开发者帐户,购买了 99 美元,并制作了我的 inAppPurchase 目录创建了我的 iTunes Connect 帐户以获得一个测试用户。

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

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

我注销了我的 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);
        }
    );
}

希望你能帮我!谢谢你!

4

2 回答 2

4

您需要在html.index中调用诸如window.plugins.inAppPurchaseManager.onPurchased之类的js函数才能使这些函数起作用。即这些函数在js中调用onPurchased,相应地它将调用obj-C函数。

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

于 2012-08-30T08:21:27.610 回答
0

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

于 2012-02-27T23:23:30.033 回答