Flutter应用IAP异常:产品处于‘Developer Action Needed’状态
Flutter IAP 问题解决方案
一、解决产品卡在「Developer Action Needed」状态的方法
- 确认付费协议全流程完成:除签署协议外,必须填全税务、银行收款信息,任何一项缺失都会导致状态异常
- 补全产品元数据:检查App Store Connect中产品的所有必填字段,包括本地化名称/描述、价格层级、隐私政策链接(若需),并确保勾选「可供销售」
- 核对产品与App的绑定关系:确认产品绑定的Bundle ID与当前应用完全一致,未选错关联应用
- 重置沙箱测试账户:删除旧的沙箱账户,重新创建新账户并登录测试设备,部分异常账户会影响产品状态同步
- 提交苹果支持工单:若以上操作无效,直接在App Store Connect的「联系我们」中提交工单,后台系统延迟或异常需要人工干预
二、排查真机测试时产品不显示的调试步骤
- 验证
in_app_purchase包版本:升级到最新稳定版,旧版本可能存在iOS版本适配问题 - 检查Xcode权限配置:确保项目Capabilities中「In-App Purchase」已开启,且Bundle ID与App Store Connect完全匹配
- 捕获并分析错误日志:在调用
QueryProductDetailsAsync时添加异常捕获,打印错误码和详情,常见问题包括产品ID拼写错误、销售区域不匹配 - 同步设备区域设置:测试设备的系统区域需与产品设置的销售区域一致,若产品仅支持美国,需将设备区域改为美国
- 确认产品状态:确保产品在App Store Connect中处于「准备提交」或「已批准」状态,「Developer Action Needed」状态下产品无法被查询到
- 清理开发环境缓存:删除Xcode的Derived Data,重启Xcode和测试设备,缓存残留可能导致产品信息不同步
- 原生代码验证:编写简单的Swift代码直接查询IAP产品,若原生能获取到,说明是Flutter包的集成问题;若原生也无法获取,定位到App Store Connect配置问题
三、苹果IAP审核拒登的常见原因
- 产品描述与实际功能不符:宣传解锁全部功能但实际仅开放部分,或描述中提及的功能未实现
- 缺失恢复购买功能:必须提供「恢复购买」按钮,让用户找回已购买的订阅或非消耗型产品
- 核心功能付费墙限制:免费版需提供完整的基础功能,不能将核心功能完全隐藏在付费墙后,也不能强制用户购买才能继续使用
- 产品类型配置错误:比如将订阅类产品设为消耗型,或定价不符合对应区域的定价规则
- 隐私政策缺失或不规范:付费内容涉及用户数据时,隐私政策必须明确说明数据收集、使用及共享规则
- 测试代码残留:提交审核的版本中不能包含沙箱账户硬编码、调试日志输出等测试内容
- 内容违规:付费内容违反《App Store审核指南》,比如包含色情、暴力、侵权内容,或模拟赌博类付费项目
内容的提问来源于stack exchange,提问作者Abhijeet Kumar
相关产品推荐
相关产品推荐

