iOS APP 如何轻松测试应用内购买(IAP)
如果你曾经使用过依赖于应用内购买(我将其缩写为 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 上获得 👌