跳到主要内容

iOS APP 如何轻松测试应用内购买(IAP)

· 阅读需 6 分钟
GoSwiftUI
goswiftui.com

如果你曾经使用过依赖于应用内购买(我将其缩写为 IAP)的 iOS 应用程序,你可能已经体验过彻底测试你的 IAP 是否正常工作是多么具有挑战性。

这是因为 IAP 处于一个特别困难的交叉点:

  • 一方面,围绕 IAP 的用户流程可能会很快变得复杂:恢复购买、从一个计划升级或降级到另一个计划、订阅价格上涨通知等。
  • 另一方面,IAP 通常是使用它们的应用程序的主要收入来源,因此生产中的 IAP 损坏可能会对应用程序背后的公司产生非常严重的后果

然而,苹果似乎注意到这正在成为一个问题,因为几年前他们在 Xcode 中引入了一项新功能,使测试 IAP 比以前更容易:StoreKit 配置文件

为什么我们需要 StoreKit 配置文件?

让我们考虑这个只显示此 **View** 的简单 iOS 应用程序:

如你所见,此 **View** 尝试使用其 **productIds****StoreKit** 加载三个产品。

**Product** 成功加载时,**View** 将显示一个 **Button**,允许用户购买该 **Product**

但是,如果你在模拟器中运行此代码,你会注意到似乎没有一个产品成功加载:

这实际上是完全正常的:到目前为止,我们还没有在 App Store Connect 中配置任何可购买的 **Product**

但我们将看到,多亏了 StoreKit 配置文件,实际上可以在本地测试此购买流程,而无需在 App Store Connect 上进行任何更改!

如何设置 StoreKit 配置文件

要在 Xcode 中创建 StoreKit 配置文件,只需在菜单中单击 文件 > 新建 > 文件…

从中,确保选择选项 StoreKit 配置文件

然后,你只需为你的 StoreKit 配置文件 命名:

如果你的应用程序已经在 App Store Connect 中设置了 IAP,强烈建议选中 将此文件与 App Store Connect 中的应用程序同步

通过这种方式,StoreKit 配置文件将自动生成并与来自 App Store Connect 的准确数据保持同步 👌

但是,出于此电子邮件的目的,我们将手动创建 StoreKit 配置文件的内容,因为它可以更轻松地理解其工作原理。

所以让我们打开这个新的 StoreKit 配置文件!

该文件当前为空,因此让我们按照说明进行操作并 单击“+”按钮以添加应用内购买或订阅

我们将选择 添加不可消耗的应用内购买,因为这是最容易设置的。

然后系统会要求我们设置 参考名称产品 ID

在此处,确保你使用与在代码中设置的相同的 产品 ID

我们几乎完成了,我们最后需要做的是定义一些本地化的 显示名称描述

(不要跳过设置本地化的 显示名称描述,否则你的 IAP 将不会显示!)

如果你愿意,你还可以修改购买时显示的价格:

现在我们几乎准备好使用我们的新 StoreKit 配置文件了!

只剩一步:我们需要让 Xcode 知道在运行应用程序时应该使用该文件。

由于它已经适用于许多其他运行时选项,因此这是通过项目的 方案 配置的。

因此,单击当前 方案 并选择 编辑方案…

然后只需选择你刚刚创建的 StoreKit 配置文件:

现在,如果你在模拟器中再次运行你的应用程序,你将看到我们在 StoreKit 配置文件中定义的 **Product** 现在已成功加载。

更好的是:你还可以购买它!

StoreKit 配置文件还能做什么?

能够在本地模拟购买 StoreKit Product 已经非常有用,但 StoreKit 配置文件实际上能够做更多的事情!

你还可以利用该文件来模拟和测试一些非常棘手的边缘情况,例如:

  • App Store Connect 发行的退款
  • 用户收到订阅价格上涨的通知
  • 启用或禁用家庭共享

如果你想了解有关使用 StoreKit 配置文件的更多信息,你可以阅读 Apple 的官方文档 或你可以 观看我去年发布的这段视频

此外,如果你想使用 StoreKit 配置文件进行实验,我使用的 iOS 应用程序的代码 可在 GitHub 上获得 👌