是否可以使用iOS沙盒账号测试Offer Codes?
沙盒环境测试Offer Codes可行操作方案
目前亲测以下流程可以正常完成沙盒环境的Offer Codes兑换测试,不会出现绕过沙盒账号验证的问题:
- 先确认你创建的优惠码类型符合沙盒测试要求:仅自动续期订阅对应的介绍性优惠、促销优惠生成的Offer Codes支持沙盒测试,非订阅类内购项目生成的优惠码暂不支持沙盒环境验证
- 前往App Store Connect「用户和访问」-「沙盒」-「测试员」页面创建沙盒测试账号,确保该账号的所属地区和你创建优惠码时选择的适用地区完全匹配
- 测试设备上先退出当前登录的正式Apple ID,打开系统「设置」-「App Store」,拉到页面最底部找到「沙盒账户」板块,登录你提前创建好的沙盒测试账号,不要在系统正式Apple ID登录入口登录沙盒账号,否则会触发账号校验失败
- 优惠码兑换测试可以任选以下两种路径:
- 直接在测试设备的Safari中打开
https://apps.apple.com/redeem?code=你的优惠码&appId=你的应用ID,唤起目标App完成兑换 - 应用内调用
SKPaymentQueue.default().presentCodeRedemptionSheet()拉起系统原生兑换页,输入优惠码完成兑换
- 直接在测试设备的Safari中打开
- 兑换完成后可以通过
SKPaymentTransaction回调中的paymentDiscount字段校验优惠信息是否正确传入,确认兑换逻辑生效
如果你操作后仍然出现绕过验证的异常情况,优先排查两个常见问题:一是你使用的优惠码是否在生效时间范围内,未到生效时间/已过期的优惠码会走正式环境的校验逻辑;二是当前沙盒账号是否已经兑换过同批次的优惠码,同一个优惠码每个沙盒账号仅可兑换一次,重复兑换会触发异常校验逻辑。
内容的提问来源于stack exchange,提问作者Jared
相关产品推荐
相关产品推荐

