如何在生产版React Native中移除react-native-iap的测试环境
React Native IAP 订阅从沙箱/测试环境切换到生产环境的解决方案
iOS 平台切换步骤
- 检查App Store Connect产品状态:登录App Store Connect找到你的订阅产品,确保它的状态是可供销售,而非仅沙箱测试可用。沙箱阶段的产品默认可能只开放给测试,上线前必须把产品正式发布到生产库。
- 退出沙箱测试账号:设备上如果登录了Apple沙箱测试账号,必须退出,改用普通正式Apple ID登录App Store——生产环境只认正式账号的订阅请求。
- 确认初始化参数:检查
react-native-iap的initConnection调用,不要手动传入{ sandbox: true }参数。生产环境下,SDK会自动根据应用打包环境切换到正式IAP服务。 - 重装应用:卸载当前应用后重新安装正式包,避免残留的沙箱配置缓存影响环境识别。
Android 平台切换步骤
- 发布订阅产品到生产轨道:在Google Play Console中,把订阅产品从测试轨道(内部测试/封闭测试)移到生产轨道并发布,确保产品状态为“已发布”,且关联的应用版本是你正式上线的版本。
- 切换正式Google账号:设备上如果登录的是Google Play测试账号(比如加入了测试计划的账号),换成普通正式Google账号——测试账号只会触发测试环境的订阅流程。
- 取消测试模式配置:检查
react-native-iap的初始化代码,不要设置testMode: true。生产环境下SDK会自动对接Google Play的正式IAP服务。 - 清理应用数据:要么清除应用的缓存和数据,要么直接卸载重装正式包,确保没有遗留的测试环境配置。
通用注意事项
- 版本与签名匹配:Android端要确保正式包用的是生产签名证书,不是调试签名;iOS端要用发布证书打包,且上线的版本号和App Store Connect中配置的一致,签名不匹配会导致环境识别异常。
- 等待配置生效:Google Play和App Store的配置变更可能需要几十分钟到几小时的生效时间,发布后不要立刻测试,等配置完全同步后再验证。
内容的提问来源于stack exchange,提问作者Muhammad Ashfaq
相关产品推荐
相关产品推荐

