Unity应用中Apple新订阅项不显示及Firebase订阅问题排查求助
Firebase订阅新产品无法在Unity iOS应用中显示的排查方案
Apple近期规则变更相关检查
- 2024年Apple对订阅产品审核流程有小幅调整:新产品默认处于Draft状态,需手动在App Store Connect的订阅组页面提交审核,审核通过后转为Active才能被客户端获取。若未提交审核,即使Firebase配置正确,客户端也无法拉取到。
- 订阅组绑定要求:所有可被客户端获取的订阅产品必须加入Active状态的订阅组,未加入组的产品会被Apple屏蔽,无法通过IAP接口返回。
客户端(Unity)排查步骤
- 强制刷新产品数据:调用
UnityPurchasing.Initialize()重新初始化IAP模块,或触发Firebase Remote Config的FetchAndActivateAsync(),确保客户端拉取最新的产品配置。 - 核对产品ID一致性:检查Unity代码中使用的新产品ID,与Firebase、App Store Connect中的ID完全匹配(Apple产品ID区分大小写,注意前缀格式如
com.xxx.app.subscription)。 - 查看错误日志:在Unity Console中过滤IAP相关日志,排查是否存在
Product not found、Invalid product identifier等明确错误,定位问题点。 - Sandbox环境测试:使用Apple测试账号在Debug/TestFlight环境下验证,Sandbox的产品同步速度快于生产环境,可快速确认产品是否能被正常获取。
Firebase配置排查
- 确认产品状态与同步:在Firebase控制台的In-App Purchasing页面,检查新产品是否已显示且状态为Active,产品ID需与App Store Connect完全一致。
- 检查Remote Config发布状态:若通过Remote Config分发产品列表,确认新增产品ID已添加到对应参数中,且已点击发布按钮,未发布的配置不会同步到客户端。
- 订阅项修改后的同步:修改Firebase订阅项后,必须发布配置,并等待10-15分钟让配置全局同步,未发布的修改仅在控制台可见,客户端无法获取。
App Store Connect额外验证
- 账号状态检查:确保开发者账号的协议、税务、银行信息完整有效,信息缺失会导致新产品无法通过审核或上线。
- 本地化与价格配置:新产品需完成至少默认语言的本地化名称、描述配置,同时设置好对应地区的价格层级,未完成的产品无法被客户端识别。
内容的提问来源于stack exchange,提问作者Ahmet Said Olgun
相关产品推荐
相关产品推荐

