测试购买故障排查
如果您遇到交易问题,请首先确保您已完成发布检查清单中列出的所有步骤。如果您已完成所有步骤但仍遇到问题,请按照以下指南进行解决:
移动应用中返回错误
请参阅适用于您平台的错误列表:iOS、Android、React Native、Flutter 和 Unity,并按照我们的建议解决问题。
事件流中没有交易记录,但移动应用中也未返回错误
要解决此问题,请检查以下几点:
- iOS 专属:确保您使用的是真实设备而非模拟器。
- 确保您的应用的
Bundle ID/Package name与 App settings 中的一致。 - 确保您的应用中的
PUBLIC_SDK_KEY与 Adapty 看板中的 Public SDK key 一致:App settings -> General 标签页 -> API keys 子章节。 - 确保您使用的是沙盒账户,而非本地 StoreKit 配置文件。如果您之前使用过本地 StoreKit 配置文件进行测试,请确保当前构建版本中未使用该文件。
我的测试用户画像中没有事件
这是正常行为。当以下情况发生时,Adapty 会自动创建新的用户画像记录:
- 用户首次运行您的应用时
- 用户退出您的应用时
原因说明: 所有交易和事件都与生成第一笔交易的用户画像绑定。这样可以将完整的交易历史记录(试用、购买、续订)关联到同一个用户画像。
您将看到的情况: 新的用户画像记录(称为”非原始用户画像”)可能会出现但没有事件,但会保留访问等级。您可能会看到 access_level_updated 事件。这是预期行为。
测试建议: 为避免出现多个用户画像,每次重新安装应用时请创建新的测试账户(沙盒 Apple ID)。
更多详情请参阅用户画像创建。
以下是一个非原始用户画像的示例。请注意 User history 中没有事件,但存在访问等级。
价格与 App Store Connect 中设置的实际价格不符
在沙盒环境和使用沙盒环境进行应用内购买的 TestFlight 中,重要的是验证购买流程是否正常运行,而不是关注价格的准确性。值得注意的是,Apple 的 API 偶尔会提供不准确的数据,尤其是当设备或账户配置了不同地区时。由于价格直接来自商店,Adapty 后端不会以任何方式影响购买价格,因此在通过 Adapty 测试购买期间,您可以忽略价格上的任何不准确之处。
因此,请优先测试购买流程本身,而非价格的准确性,以确保其按预期运行。
事件流中的交易时间不正确
Event Feed 使用的是 App Settings 中设置的时区。要使事件时区与您的本地时间一致,请在 App settings -> General 标签页 中调整 Reporting timezone。
付费墙和产品加载时间过长
如果您的测试账户有较长的交易历史记录,可能会出现此问题。我们强烈建议每次都创建新的测试账户,具体步骤请参阅在 App Store Connect 中创建沙盒测试账户(沙盒 Apple ID)章节。
如果您无法创建新账户,可以按照以下步骤在 iOS 设备上清除当前账户的交易历史记录:
- 打开设置,点击 App Store。
- 点击您的 Sandbox Apple ID。
- 在弹出窗口中,选择 Manage。
- 在 Account Settings 页面,点击 Clear Purchase History。
更多详情,请查阅 Apple 开发者文档。