使用通用的应用程序内购买项目的dynamic范围的数字产品

有没有人实施类似于下面的情况?

考虑一个提供有声读物的应用程序:

  • 这些书籍由作者dynamic地从基于networking的UI进行维护。
  • 作为应用程序内购买项目,这些图书可供iOS应用程序的用户使用。

默认情况下,苹果的指导方针build议使用非易耗品IAP,并且不断添加尽可能多的IAP项目。 但是这对我们来说并不合适,因为作者不能访问iTunesConnect,所以它不能dynamic地“自我服务”。

因此,我们计划创build一套通用的“易耗品”IAP项目,如“价值$ 0.99的书”,“价值$ 1.99的书”等等。 然后在应用程序中,我们将显示作者指定的相应IAP项目,当它们添加到我们的系统中时。

当然,我们将所购物品存储在服务器端,因此即使用户稍后从其他设备访问购买的物品,用户也总是可以访问购买的物品。

苹果是否会批准这一实施?
这是否符合他们的IAP政策?

我在论坛上发现了一些类似的老话题,但答案很混乱。 你有没有实现类似的东西,并得到苹果的批准?

是的,我认为他们会接受的。 只要你允许用户稍后检索他们的购买。 您的系统让我想到了一个虚拟货币,在这个虚拟货币中,我必须制作需要为用户保存的通用耗材。 苹果认可它(现在仍然如此),因为我保存了所有的购买,即使它不符合IAP政策;)

正如问题中所述, 苹果已经接受了我们的解决scheme

关键是,正如@RomOne正确突出显示的那样,@ georges表示您需要提供稍后恢复项目的可能性。

由于我们将所有购买的商品存储在我们的数据库中,并且我们的用户通过了身份validation(他们需要注册并login购买),所以即使从其他设备访问应用程序,我们也能够永久访问所购商品。

我们还从iTunesConnect中存储关联的应用内购买产品ID,以及用户ID,价格和date,以便详细logging所有购买事项。

重要提示 :苹果已经拒绝了我们的第一个解决scheme,因为他们不明白它是如何工作的,以及如何恢复购买。
成功的关键是详细描述系统是如何工作的,并提供testing用户访问我们的网站pipe理网站。 这使得苹果审查人员可以看到整个系统。

这里的关键是要确保这些购买总是可以恢复的。 因此,请务必存储“ID”,或者以直接与Apple ID关联的方式(不是帐户,而是Apple ID)标识不同的项目。