近期,多位iOS和Android开发者向媒体反映,他们在App Store Connect或Google Play Console中提交应用内购买项目(In-App Purchases, IAP)时,即便已经逐项填写了所有必填元数据(包括名称、描述、定价、本地化内容、审核截图以及年龄分级等信息),该项目的状态却依然停滞在“准备提交”或“缺少元数据”的提示上,无法进入下一步审核流程。这一异常现象已持续数周,导致大量应用更新和新内购项目上线被严重延误。

问题集中爆发:状态“卡死”成常态

据开发者社区反馈,该问题最早出现在iOS 17以及Android 14系统更新之后,但近期呈现集中爆发趋势。一位来自北京的独立开发者李昊表示:“我为一个工具类App添加了新的订阅选项,所有字段都按照苹果官方文档逐一核对,甚至重新上传了三次截图,但状态栏始终显示‘需提供元数据’。联系苹果技术支持后,对方让我等待24-48小时,我等到第三天仍然没有变化。”类似情况在Google Play端同样存在,开发者反映即使通过了预发布测试,内购产品状态仍无法从“草稿”切换至“已提交”。

深层原因探析:不只是缓存延迟

针对这一现象,多位技术专家进行了分析。目前业内普遍认为,原因可能涉及多个层面:

1. 元数据验证规则更新未同步
苹果和谷歌近期均调整了内购项目的审核标准。例如,苹果要求所有自动续期订阅必须提供“服务条款”和“隐私政策”的特定链接,且链接页面必须包含完整的订阅取消说明。若开发者忽略了这些隐含要求,即便其他字段完整,系统仍会判定“元数据缺失”。而官方文档更新存在滞后,导致开发者无从知晓最新规则。

2. 地区特定字段遗漏
随着全球数字税和支付法规的复杂化,部分地区的内购项目需要额外填写税务登记号、当地客服邮箱或支付方式授权文件。如果仅填写通用字段而未针对“韩国”“土耳其”等国家补充本地化元数据,后台可能判定为不完整。然而,这些地区专属字段并不总是醒目地展示在界面上。

3. 后台同步机制故障
多位开发者猜测,问题可能源于苹果或谷歌服务器的异步处理任务堆积。尤其是在大型促销活动前后(如黑五、圣诞季),大量开发者集中提交内购更新,导致元数据验证队列过载,状态更新延迟至72小时甚至更久。部分开发者尝试删除重建内购项目后,问题得以解决,这进一步印证了后台缓存或索引异常的推测。

4. 第三方支付合规性审查干扰
由于苹果和谷歌在多个市场面临反垄断诉讼,它们对涉及第三方支付引导的内购项目审查更加严格。即便开发者仅使用官方内购系统,如果元数据中包含“price”或“buy”等敏感词且未添加免责声明,也可能被系统自动标记为“元数据待完善”,从而锁定状态。

官方回应:模糊且缺乏时效性

截至发稿,苹果开发者支持团队在官方论坛中回复称,“请确保已登录正确的开发者账号,并检查是否有未保存的草稿。如果状态在48小时后仍无变化,请提交技术工单并提供屏幕截图。”谷歌方面则建议开发者“使用‘验证元数据’工具运行诊断,并清除浏览器缓存”。这些通用性建议并未针对核心问题给出解决方案,令许多开发者感到沮丧。

开发者自救指南:可行方案与风险提示

在官方修复前,来自社区的“自救”方案逐渐流传开来。一些资深开发者总结出以下可尝试的步骤:

  • 强制刷新与重建:在App Store Connect中,将受影响的内购项目状态改为“拒绝”或“移除”,然后重新创建完全一样的项目,有时能绕过状态卡死。注意:此操作可能丢失审核历史记录。
  • 检查隐藏字段:使用开发者API获取内购项目的完整元数据JSON,对照最新版API文档核对是否存在被UI界面隐藏的必填字段(如“reviewNotes”“promotionalOffer”等)。
  • 分批提交:如果同时提交多个内购项目,尝试每次只提交一个,避免触发批量验证的防滥用机制。
  • 联系客服升级:使用英文直接向苹果App Store Review团队发送邮件,引用具体的技术错误代码(如ITC-90064或ITC-90102),比通过中文客服通道更可能获得技术工程师的直接介入。

不过,专家也警告,随意删除或更改内购项目可能导致已上架应用出现“产品ID无效”的弹窗错误,建议在非生产环境下先行测试。

行业影响与展望

此次内购状态异常事件,暴露出应用商店平台在元数据验证机制与开发者沟通效率上的短板。据估算,仅iOS端就有超过3万个应用的内购项目因此延迟上架,部分依赖订阅收入的开发团队月损失可达数千美元。而Google Play端虽然影响相对较小,但同样制约了中小团队敏捷迭代的能力。

业界呼吁苹果和谷歌建立更透明的元数据验证反馈系统,例如在状态栏明确列出缺失字段的具体名称,而非笼统提示“需提供元数据”。同时,应缩短技术支持的响应周期,避免开发者在论坛中“等靠要”数周。

截至本文发布,苹果和谷歌均未发布系统性修复更新。建议受影响的开发者密切关注官方状态页面,并优先使用API进行元数据批量提交以绕过界面的偶发bug。在平台生态日益复杂的今天,小心核对每一个字段、保留每次提交的屏幕录像,或许已是开发者不得不接受的新常态。