当Apple“托管”我的IAP时,它意味着什么?

时间:2018-01-07 11:06:17

标签: ios in-app-purchase itunesconnect

在iTunesConnect中,我看到一个选项让Apple主持我的应用内购买。我很困惑,所以我做了一些研究,发现this

  

Apple可以为您托管您的非消耗品。 Apple为用户提供可靠和熟悉的体验,并处理将产品分发到他们的设备并在需要时恢复产品。

我现在更加困惑。

关于我的IAP:

  • 非消耗
  • 解锁一些额外内容
  • 我在UserDefaults中设置了一个值,表明是否购买了IAP
  • 在显示额外内容之前检查值。如果是false,我将视图'hidden属性设置为true。

如您所见,我不需要任何“主持人”。 Apple无需“处理将产品分发到其设备并在需要时恢复产品”。我认为任何IAP都不需要“托管”。

我想我不需要Apple为我主持我的IAP。它是否正确?此外,什么是需要由Apple托管的IAP示例?为什么需要托管?

1 个答案:

答案 0 :(得分:2)

根据您所说的内容,您的"额外内容"已经烘焙到你的包中。因此,您正在使用购买机制作为"触发器"为您的代码更新UserDefaults,这反过来将允许代码显示额外的内容。

根据这种情况,正如您已经说过的那样,您不需要托管内容。 Apple托管内容是您能够下载应用程序使用的内容的一种方式。从物流角度来看,通过Apple托管可以更轻松地管理和检索正确的内容。否则,如果您将内容下载到您的应用程序,则需要自己构建/已经拥有该基础架构。

为什么要下载内容?您当前的机制很容易绕过。所有人都需要做的是更新您的UserDefaults,这可以在越狱设备中轻松完成。完成后,由于您的内容已被捆绑到您的包中,他们将获得该内容。

举个例子。让我们假设您有一个游戏,您正在销售关卡。总共有10个级别。该应用程序本身是免费下载,您为用户提供1个未锁定级别。用户需要购买其他级别。我们还说级别很大。每个50MB。这意味着,如果您在所有内容中加入,那么您的应用包将大于150MB,这意味着他们必须使用Wifi才能下载该应用。我已经引用了有关如何使用UserDefaults来解锁越狱设备内容的问题。无论是通过Apple还是其他方式,此方案都适用于托管内容。然后在购买时单独下载每个级别。托管内容还提供了其他灵活性,例如从应用程序包中分离内容,这意味着如果您要更新内容,则不必强制更新应用程序。

来自Apple文档here

  

您可以将该内容嵌入应用套装中,也可以下载   根据需要 - 每种方法都有其优点和缺点。如果你   在您的应用包中包含太少的内容,用户必须等待   即使是小额购买也要下载。如果你的太多了   应用程序包,应用程序的初始下载需要太长时间,而且   对于没有购买相应的用户,浪费了空间   产品。此外,如果您的应用太大,用户将无法使用   通过蜂窝网络下载它。

     

在您的应用中嵌入较小的文件(最多几兆字节),尤其是如果   您希望大多数用户购买该产品。应用包中的内容   可在用户购买时立即提供。然而,   要添加或更新应用包中的内容,您必须提交   您应用的更新版本。

     

根据需要下载较大的文件。从您的应用中分离内容   捆绑使您的应用程序的初始下载保持较小。例如,游戏   可以在其应用包中包含第一级,让用户下载   他们购买时的其他级别。假设你的应用程序   从服务器获取产品标识符列表,而不是   在应用包中进行硬编码,您无需重新提交应用   添加或更新应用下载的内容。

相关问题