在应用提交之前在iPhone上测试应用内购买

时间:2018-05-11 16:09:54

标签: ios cordova in-app-purchase cordova-plugins

我正在开发包含应用内购买的Cordova应用。 我已经开始使用Android端了,所以plugin流程正在运行。

现在我正在测试iOS方面,我无法正确获取产品:它们无效且不完整,似乎应用程序无法下载产品数据。

  1. 我在iTunes中定义了IAP(耗材)项目,关联的虚拟图像,并显示“准备提交”状态(黄色子弹)
  2. IAP产品也在新的应用版本页面中关联,尚未提交审核。
  3. 我在iTunes页面上看到此消息:“您的首次应用程序内购买必须使用新的应用程序版本提交。从应用程序的应用程序内购买部分中选择它,然后单击提交。”
  4. 我正在使用直接从XCode和TestFlight
  5. 编译和安装的应用程序在真实设备上进行测试

    我检查过这个问题,但我没有找到明确的解决方案,我的问题是:为什么我无法从iTunes中正确下载我配置的产品?

    • 在开始测试之前,我是否必须提交整个应用程序以获得IAP批准,或
    • 应该可以在没有App提交/批准的情况下在本地测试(和获取产品)IAP的东西(在这可能是一个软件问题)?

    我看不出该怎么办。提前感谢您的帮助。

    更新

    以下是我正在使用的基本代码plugin,以便在iTunes上配置IAP产品:

    String

    以下是使用iPhone 4s设备从safari控制台输出,从XCode安装应用程序:

    function storeInitialize() {
        store.register({
            id:     "creds_500",
            type:   store.CONSUMABLE
        });
    
        store.ready(function() {
            console.log("\\o/ STORE READY \\o/");
            console.log(JSON.stringify(store.get("creds_500")));
        });
    
        // When any product gets updated, refresh the HTML.
        store.when("product").updated(function(p) {
            console.info("Updating " + p.id);
            console.log(JSON.stringify(p));
        });    
    
        // Signal order errors
        store.when("product").error(function() {
            utils.userInfo("Il tuo ordine non è stato processato.");
        });
    
        // Load product data from the servers and restore whatever already have been purchased by the user.
        store.refresh();
    }
    

    因此,几乎所有IAP字段都为空,包括价格,标题和描述(在iTunes端定义),产品“无效”“不可购买”。 我在其他帖子中发现,在Apple方面,不需要批准进行测试。

    我在哪里做错了?

1 个答案:

答案 0 :(得分:1)

我可以问你为什么使用那个特定的插件而不是另一个插件?它已经 8个月更新,就Cordova应用而言,这意味着终生。

你的插件只有200颗星,而这个cordova-plugin-purchase有近800颗,并且它在2个月前更新了。此外,它包括Windows Universal兼容性,我强烈建议您切换插件并重试。