沙盒测试
在 Adapty 看板和移动应用中完成所有配置后,就可以开始进行应用内购买测试了。 注意: 所有测试工具在用户测试购买产品时均不会实际扣款。App Store 不会针对测试环境中的购买或退款发送邮件通知。
沙盒交易不会显示在任何分析数据图表中。 它们仍会出现在各个用户画像页面和事件流中。
在进行应用内购买测试之前,请确保:
- 你已完成快速入门指南,包括商店集成、添加产品以及 Adapty SDK 集成。
- 你的产品在 App Store Connect 中已标记为 Ready to submit。
沙盒测试
我们建议在真机上测试内购。沙盒购买可以在模拟器上运行,但支付弹窗和生物识别提示等完整流程需要在真机上测试。
测试内购主要有两种方式:
- 在 Xcode 中构建并在测试设备上运行:适合开发者和 QA 工程师。
- 使用沙盒测试账号配合 TestFlight:适合其他所有人。
以下指南将分别介绍这两种方式。
步骤 1. 在 App Store Connect 中创建沙盒测试账户
请创建一个新的沙盒测试账户,以确保购买记录是干净的。如果复用已有账户,之前购买过的产品仍会保持可用状态,你将无法再次测试购买这些产品。
只需几步即可创建新的沙盒测试账户:
- 在 App Store Connect 中进入 Users and Access > Sandbox > Test Accounts,然后点击 +。
- 填写测试用户信息。请务必设置 Country or Region,因为这会影响该地区的产品可用性及购买货币。
- 如果你使用 Gmail 或 iCloud,可以通过加号子地址复用现有邮箱。
- 你也可以使用一个根本不存在的随机邮箱地址,但请确保在测试设备上登录时拒绝双因素认证(2FA)。
- 点击 Create。
步骤 2:启用开发者模式
如果您的测试设备上已启用开发者模式,或者您没有 Mac 设备,请跳过此步骤。
您需要一台安装了 Xcode 的 Mac 以及测试设备的数据线:
- 在 Mac 上打开 Xcode。如果您要通过 TestFlight 测试应用内购买,只需安装 Xcode 即可,无需在其中打开应用。
- 使用数据线将测试设备连接到 Mac。
- 在测试设备上前往 Settings > Privacy & Security > Developer Mode,并开启 Developer Mode。
第三步:从 TestFlight 下载应用
此步骤仅适用于通过 TestFlight 进行测试的情况。如果你是在 Xcode 中构建应用,请跳过此步骤。
有关如何将应用提交至 TestFlight 的详细信息,请参阅 Apple 文档。
下载 TestFlight 应用前,请先在测试设备上确认已登录正式的 Apple 账号,然后从 TestFlight 下载你要测试的应用。
下载完成后请勿打开应用。直接继续后续步骤。 如果不小心打开了,请从测试设备上删除该应用并重新下载。否则,你的购买记录可能不干净,导致测试应用内购时出现错误。
第四步:切换至沙盒测试账号
没有 Mac?这里有个替代方法
如果你不使用 macOS,就无法通过 Xcode 切换到沙盒账号。不过,你可以直接在测试设备上操作:
- 在测试设备上进入 Settings > Your Apple Account > Media & Purchases。
- 在弹出菜单中选择 Sign Out。
- 打开从 TestFlight 下载的应用,尝试购买一个产品。
- 当系统提示登录时,输入你的沙盒账号凭据,即可切换到沙盒环境。
要切换到沙盒账号:
- 在测试设备上前往 Settings > Your Apple Account > Media & Purchases。
- 从弹出菜单中选择 Sign Out。
- 前往 Settings > Developer。如果 Developer 选项不可用,请确保您已在第 2 步中启用了开发者模式。
- 向下滚动到 Sandbox Apple Account 部分,然后点击 Sign In。
- 使用您的沙盒 Apple 账户凭据登录。
第五步:清除购买记录
如果你刚创建了新的沙盒测试账号并已切换到该账号,可以跳过此步骤,因为它仅适用于使用同一沙盒测试账号进行重复测试的情况。
- 在测试设备上前往 Settings > Developer > Sandbox Apple Account。
- 从弹出菜单中选择 Manage。
- 进入 Account Settings,点击 Clear Purchase History。
每次使用同一个沙盒测试账号重复测试时,都必须执行此步骤。此时你还需要退出沙盒测试账号,然后重新登录,以清除测试设备上的购买历史缓存。
步骤 6:在 Xcode 中构建并运行
此步骤仅适用于通过 Xcode 构建进行测试的情况。如果您使用 TestFlight,请跳过此步骤。
- 将测试设备连接到 Mac。
- 打开 Xcode。
- 点击工具栏中的 Run,或选择 Product > Run 在连接的设备上构建并运行应用。
如果构建成功,Xcode 将在您的设备上启动应用,并在调试区域打开一个调试会话。
您的应用现在已准备好在设备上进行测试。
步骤 7:进行测试购买
打开应用,通过付费墙进行测试购买。
完成后,请查阅验证测试购买文章以检查您的结果。
步骤 8:继续测试
现在,您的测试环境已全部就绪。如果您想再次进行测试,请清除沙盒账号的购买历史记录。
测试问题
以下是测试应用时可能遇到的常见问题。
TestFlight 问题
如果你在使用 TestFlight 时未切换到沙盒测试账号,将无法清除购买记录,从而导致各种问题和不准确的测试结果。
如果你不小心忘记切换到沙盒测试账号就打开了应用,哪怕只打开过一次,TestFlight 也会将你的购买记录归到正式 Apple 账号下,进而引发意外问题。
按照以下步骤修复:
- 从测试设备上删除该应用。
- 按照沙盒测试的步骤重新操作。
重要提示:不仅要重新安装应用,还需要切换到沙盒测试账号、清除购买记录,并使用沙盒测试账号启动应用。
共享访问等级问题
如果你使用同一个沙盒测试账号反复测试,可能会遇到测试用户共享访问等级方面的意外行为。
要检查用户是否拥有继承的访问等级,请在 Adapty 看板中前往 Profiles & Segments 并打开该用户的用户画像。
如果用户拥有继承的访问等级,请按照以下步骤进行准确的测试:
- 删除父级用户画像。
- 从测试设备上移除应用。
- 从 TestFlight 下载应用。
- 切换到沙盒测试账户。
- 清除购买历史记录。
- 打开应用并完成测试购买。
在 TestFlight 中更新应用
如果 TestFlight 应用已更新:
- 从测试设备中删除应用。
- 从 TestFlight 下载应用。
- 切换到沙盒测试账号。
- 清除购买历史记录。
- 打开应用并进行测试购买。
购买过程中的身份验证
如果您已下载 TestFlight 应用但未从设备设置中登录沙盒账号,则在购买过程中登录将不起作用。要使购买成功,您必须在尝试购买之前从设备设置中登录沙盒账号。
测试订阅
使用沙盒测试账号测试应用时,你可以为每位测试人员单独设置沙盒中的订阅续费频率。详情请参阅苹果官方文档中关于编辑订阅续费频率的说明。
默认情况下,订阅最多续费 12 次后停止,具体时间表如下:
| 订阅时长 | 1 周 | 1 个月 | 2 个月 | 3 个月 | 6 个月 | 1 年 |
|---|---|---|---|---|---|---|
| 订阅续订速度 | 3 分钟 | 5 分钟 | 10 分钟 | 15 分钟 | 30 分钟 | 1 小时 |
| 账单重试时长 | 10 分钟 | 10 分钟 | 10 分钟 | 10 分钟 | 10 分钟 | 10 分钟 |
| 账单宽限期时长 | 3 分钟 | 5 分钟 | 5 分钟 | 5 分钟 | 5 分钟 | 5 分钟 |
请注意,测试交易最多需要 10 分钟才能出现在事件动态中。
测试优惠活动
测试优惠活动时,需要清除所有用户收据,才能确保资格判断正常运作。
最可靠的测试方式是使用全新的沙盒测试账号。使用同一个沙盒测试账号重复测试可能会导致意外行为。
如果使用同一个沙盒测试账号重复测试,请务必清除购买历史记录,以避免资格判断相关问题。