Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 苹果会允许这样使用iAP吗?_Ios_In App Purchase - Fatal编程技术网

Ios 苹果会允许这样使用iAP吗?

Ios 苹果会允许这样使用iAP吗?,ios,in-app-purchase,Ios,In App Purchase,我有一个应用程序,我不打算让用户付费删除广告 然而,我希望我的测试人员能够在最终项目中做到这一点。创建一个删除广告的iAP(你实际上无法从应用程序中访问它,因为我不想让人们购买它)会起作用吗?我只想给我的测试人员一个iTunes Connect的促销代码,他们可以赎回(或者我发现了一个叫做Tokens for Mac的酷应用程序,它允许你创建链接),这样可以删除广告 我不想处理编写某种登录解决方案的问题,也不想在应用程序中使用任何人都可以使用的静态兑换代码(这样,如果用户提供代码,任何人都可以使

我有一个应用程序,我不打算让用户付费删除广告

然而,我希望我的测试人员能够在最终项目中做到这一点。创建一个删除广告的iAP(你实际上无法从应用程序中访问它,因为我不想让人们购买它)会起作用吗?我只想给我的测试人员一个iTunes Connect的促销代码,他们可以赎回(或者我发现了一个叫做Tokens for Mac的酷应用程序,它允许你创建链接),这样可以删除广告

我不想处理编写某种登录解决方案的问题,也不想在应用程序中使用任何人都可以使用的静态兑换代码(这样,如果用户提供代码,任何人都可以使用),我认为使用Apple IAP只允许兑换一次,从而确保安全

这是一个好办法,还是有更好的办法?

我不会冒险。。。 你也许能勉强通过,但我不会冒险。即使你的应用程序被批准了一次,你的第一次更新可能会因为同样的原因被拒绝,或者你的第二次更新被拒绝,等等。他们肯定知道你的应用程序具有应用内购买功能,并且可能会因为你没有还原按钮而弹出红旗,等等

苹果在“劝阻”和“不允许”之间有一条非常非常细微的界线,在任何可能的地方避免绕开规则总是更好的(对你来说也不那么头疼),即使你在技术上没有违反任何规则

…但有很多更好、更简单的方法。 也就是说,我会考虑使用调试宏或类似的东西。您可以隔离代码中仅在您使用应用程序的调试版本(而不是发布版本)时才起作用的部分,反之亦然

这样做,您可以做如下简单的事情:

code code code...

#ifdef RELEASE
    ad code here...
#endif

code code code...

这样,您的广告将仅在用户运行应用程序的发布版本时出现。你的测试人员不会看到广告,你的实际用户会看到广告,你也不需要做任何其他事情。

问题是,你的测试人员没有测试你在商店中安装的应用程序。广告方面的任何问题都不会被发现。你真的应该只测试你想卖的东西

我不是苹果(因此,我预测他们会做或不会做的任何事情都可能是错误的),但不,你不能这样做

为什么?

  • 为了执行您的建议,您需要在提交时将一个或多个实时IAP SKU连接到应用程序

  • 为了让你的应用程序通过审查,苹果将审查SKU和应用程序

  • 为了通过审查,苹果将验证你的IAP功能(包括恢复购买),如果他们无法确定这些功能(购买和恢复)发生在哪里,苹果将拒绝你的应用

  • 为了实现您的建议(甚至允许您超越列出的障碍),您需要一个应用程序内购买促销代码(该代码似乎尚未普遍提供),而不是所有开发人员都可以有限数量使用的应用程序级促销代码

    总而言之,考虑到这些限制,这不是iOS上实现您列出的目标的合适工具


但是,测试人员将使用发布版本(这是在测试完成后,我只希望原始测试人员在发布版本上拥有特权,以帮助我)。我不想强迫任何人使用TestFlight只是为了让他们可以在没有广告的情况下看到应用程序,特别是因为我发布给TestFlight的任何内容都可能不如发布版那么稳定或完成。@R3TRI8UTI0N啊,那么你指的是应用商店上提供的实际发布后版本?那么不,我认为你需要某种登录系统,或者某种方式来区分这些人和你的其他用户。它将通过TestFlight分发。然而,一旦应用程序发布到应用商店,我希望测试人员能够没有广告,因为他们帮助了我。基本上这是他们的报酬。这更有意义吗?@r38utin啊,我现在明白了。出于好奇,为什么不直接做实际的应用内购买路线呢?很多应用程序通过让人们付费不看广告来赚钱。你为什么不让所有人都可以使用应用程序内购买,然后给测试人员提供促销代码?我已经看到一些研究表明,允许删除广告在经济上根本没有帮助,特别是在.99美元的级别。你最好让那些使用你的应用程序的用户对这些广告感到厌烦,让他们继续显示广告,而不是因为几个月前你给了他们一个0.99美元的选择而失去广告收入。另外,我不想对人吝啬,但我仍然觉得测试员应该有一些帮助的好处。编辑>我想我仍然可以添加恢复按钮,只是不能添加购买按钮。你不明白我的问题。请查看我对@nerrolken post的评论。我确实理解你的问题。你不明白测试的意义。除了你正在运送的东西之外,测试其他东西是毫无意义的。