ios - Apple "hosts"我的 IAP 是什么意思?

标签 ios in-app-purchase app-store-connect

在 iTunesConnect 中,我看到了让 Apple 为我托管应用内购买的选项。我对此感到很困惑,所以我做了一些研究并找到了 this :

Apple can host your non-consumable products for you. Apple provides a reliable and familiar experience for users and handles distributing products to their devices and restoring products if needed.

我现在更糊涂了。

关于我的 IAP:

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

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

我认为我不需要 Apple 为我托管 IAP。这个对吗?另外,需要由 Apple 托管的 IAP 示例是什么?为什么需要托管?

最佳答案

根据您所说的,您的“额外内容”已经融入您的 bundle 中。因此,您使用购买机制作为代码的“触发器”来更新 UserDefaults,这反过来又允许代码显示额外的内容。

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

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

举个例子。假设您有一款销售关卡的游戏。您总共有 10 个级别。该应用程序本身是免费下载的,您为用户提供 1 个解锁级别。用户将需要购买其他级别。我们还可以说级别很大。每个 50MB。这意味着,如果您包含所有内容,您的应用程序包将大于 150MB,这意味着他们必须连接 Wifi 才能下载该应用程序。我已经引用了有关如何使用 UserDefaults 解锁越狱设备内容的问题。这种情况适合托管内容,无论是通过 Apple 还是其他方式。每个级别将在购买时单独下载。托管内容还提供其他灵 active ,例如将内容与应用程序包分离,这意味着如果您要更新内容,则不会强制更新应用程序。

来自 Apple 文档 here .

You can embed that content in your app’s bundle or you can download it as needed—each approach has its advantages and disadvantages. If you include too little content in your app bundle, the user must wait for even small purchases to be downloaded. If you include too much in your app bundle, the initial download of the app takes too long, and the space is wasted for users who don’t purchase the corresponding products. Additionally, if your app is too large, users won’t be able to download it over cellular networks.

Embed smaller files (up to a few megabytes) in your app, especially if you expect most users to buy that product. Content in your app bundle can be made available immediately when the user purchases it. However, to add or update content in your app bundle, you have to submit an updated version of your app.

Download larger files when needed. Separating content from your app bundle keeps your app’s initial download small. For example, a game can include the first level in its app bundle and let users download the rest of the levels when they’re purchased. Assuming your app fetches its list of product identifiers from your server, and not hard-coded in the app bundle, you don’t need to resubmit your app to add or update content that is downloaded by your app.

关于ios - Apple "hosts"我的 IAP 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48136503/

相关文章:

ios - 自定义 UIMenuItem 不适用于 PDFKit 的 PDFView

ios - 自动续订订阅 iOS swift 决定免费试用

ios - 应用内购买缺少提交按钮以供首次审核

iphone - 应用内购买缺少非消耗性选择吗?

ios - 我应该在回复元数据拒绝后重新提交二进制文件吗?

ios - UIBarButtonItem 色调颜色 iOS4

ios - Xcode 静态分析器在使用 ARC 时提示潜在的泄漏

ios - 保持函数之间的定义

ios - 当收到自动续订的 Apple 状态更新通知时,您如何确定客户/用户?

android - 应用程序错误 : This version of the application is not configured for Market Billing