You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

iOS生产环境StoreKit内购测试及相关场景可行性咨询

iOS生产环境StoreKit内购测试及相关场景可行性咨询

嘿,针对你提到的几个StoreKit 2相关的生产环境测试问题,我来给你梳理下可行的方案和限制:

一、能不能在生产环境测试购买操作?

正常来说,生产环境是面向真实用户的,官方不建议用测试账号在这里操作,但有几种合规的方式验证:

  • 如果你需要验证真实的生产购买流程,只能使用真实的Apple ID进行真实扣费操作,之后可以通过Apple的退款渠道申请退款(注意不要频繁操作,避免账号被风控限制)。
  • 不过如果只是验证恢复购买的逻辑,完全不需要重新购买——只要用户用之前购买过对应内购项目的Apple ID登录,调用StoreKit 2的try await AppStore.sync()或者读取Transaction.currentEntitlements,就能同步并恢复已有的生产购买权益,这个操作不会产生新的扣费。

二、迁移到StoreKit 2后,如何测试生产购买恢复?

给你一个具体的落地步骤:

  1. 先确保你的App已经通过Apple审核,处于「Ready for Sale」状态;
  2. 不要着急发布到App Store,而是在App Store Connect的TestFlight模块,把这个过审的构建添加到生产环境的TestFlight测试(注意不是普通的内部沙盒测试,要选择生产渠道);
  3. 让你的老板用他之前购买过该内购项目的Apple ID登录测试设备,下载这个TestFlight生产版本的App;
  4. 触发App内的「恢复购买」逻辑(调用你写好的StoreKit 2恢复代码),就能验证生产购买的恢复功能是否正常工作了。

三、过审后上架前,能不能指向生产环境测试?

完全可以!这是很多开发者用来做上线前最终验证的常用方式:

  • 当App通过审核后,你可以选择暂不发布到App Store,只将其发布到TestFlight的生产环境测试通道;
  • 这个TestFlight版本是完全对接Apple生产内购环境的,能真实处理生产级别的购买、恢复操作,而且只有你指定的测试人员可以下载,不会对普通用户开放;
  • 注意:这个环境下的内购交易是真实扣费的,测试前一定要和参与测试的人说明,测试后记得申请退款。

额外注意事项

  • StoreKit 2的沙盒环境和生产环境逻辑高度一致,但还是存在一些细微差异(比如交易状态的同步速度),所以用生产TestFlight版本做最终验证,能最大程度贴近真实用户的使用场景;
  • 测试恢复购买时,要确保你的代码正确处理了历史交易记录,StoreKit 2会自动管理用户的权益,但手动触发同步可以让用户快速获取已购内容。

内容来源于stack exchange

火山引擎 最新活动