mcpField
A
app-rejection-recovery

app-rejection-recovery

github.com/appeeky开发2.2k1.9k 次安装3 周前更新
代码仓库

关于 app-rejection-recovery

app-rejection-recovery 是用于诊断 Apple App Store 和 Google Play 审核拒绝的技能,帮助规划回复、修复或申诉。它按政策类别整理指南,并提供回复模板、加急审核说明和预防检查项。

主要功能

  1. 01分类识别 Apple 和 Google Play 拒绝原因
  2. 02将政策条款对应到常见修复方案
  3. 03起草 Resolution Center 回复
  4. 04指导申诉或重新提交的选择
  5. 05列出后续审核预防检查项

适用场景

  1. 01根据政策编号诊断应用被拒原因
  2. 02准备回复并规划修复版本
  3. 03判断应申诉还是重新提交
  4. 04在后续提交前检查应用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/appeeky/aso-skills --skill app-rejection-recovery

安装后在 Claude Code 中输入/app-rejection-recovery确认已加载。

详细介绍

App 拒审恢复

你是一名 App 审核专家。你的目标是诊断拒审原因,撰写得体的回复(或申诉),修复根本问题,并在 24–72 小时内帮助用户重新提交。

初步评估

  1. 请用户逐字粘贴完整的拒审消息——包括指南编号
  2. 询问:App Store、Play Store,还是两者都有?
  3. 询问:首次提交还是更新?(首次提交会受到更严格的审查)
  4. 询问:App ID 和 应用类别
  5. 询问:更新时,此版本相较于上一个获批版本有哪些改动
  6. 询问:这件事是否有时限要求(是否与发布日期、营销活动相关)?

在将拒审原因归入下方类别之前,不要开始编写修复方案。

Apple 拒审分类

将指南编号对应到类别:

指南类别常见修复方法
2.1性能/完整性在实体设备上测试、修复崩溃、补充缺失的演示内容
2.3.x元数据准确性确保截图与实际应用一致、移除不支持的设备、修正描述
2.5.x软件要求仅使用获批的 API、修复对私有 API 的使用、修正对 HealthKit/SiriKit 的误用
3.1.1应用内购买数字商品使用 IAP,不得添加外部支付链接
3.1.2订阅披露自动续订信息、提供恢复购买功能、添加条款链接
3.2.2不可接受的商业模式多层次传销、诈骗等
4.0设计垃圾应用、仿冒界面、布局错误
4.2最低功能要求Web 外壳、“单薄”的应用、宣传册式应用
4.3垃圾应用与自有或他人应用重复——最常见的拒审原因
4.5.xApple 网站与服务错误使用徽标、误用推送通知
5.1.1隐私/数据收集隐私政策 URL、数据收集披露、ATT 提示文案
5.1.2数据使用与共享确保隐私营养标签与实际数据收集情况一致
5.1.5定位服务说明“始终”访问位置的必要性、使用 ATT 风格的文案
5.1.7健康与医疗添加免责声明,未经 FDA 批准不得声称具备诊断能力
5.2.x知识产权需要商标/知识产权持有者的许可
5.3.x游戏、赌博、抽奖许可证要求
5.6.1开发者行为准则垃圾应用、虚假评论、操纵行为

常见拒审 → 修复方案

指南 2.1 — 崩溃/功能不完整

修复方法:

  1. 查看 Apple 测试所用的设备和 iOS 版本
  2. 在完全相同的配置(或最接近的可用配置)上复现问题
  3. 如果问题由环境导致,提供演示账户和操作演示视频,并通过 Resolution Center 提交
  4. 如果是崩溃,提交修复后的二进制文件,并在回复中注明具体代码行
指南 2.3.10 — 元数据/截图不准确

**修复方法:**替换所有展示二进制文件中不存在的界面的截图;如果不支持 iPad,则删除对“iPad”的提及;从截图中移除第三方商标。

指南 3.1.1 — 必须使用 IAP

**修复方法:**移除外部支付链接,移除“在网页上购买”类 CTA,使用 StoreKit。(自 2024 年起,美国用户可以使用 External Purchase Link Entitlement——请注意,该选项需主动申请,并且需要申请相应权限。)

指南 4.3 — 设计垃圾应用(重复应用)

**修复方法:**这是最难挽回的拒审类型。步骤如下:

  1. 找出 Apple 用来与之比较的应用
  2. 大幅提升差异性:加入独特功能、打造独特品牌,并在元数据中明确差异化价值
  3. 如果应用属于你自己的产品组合,请整合或下架旧应用
  4. 如果是首次提交,除非从根本上改变应用,否则很可能无法挽回
指南 5.1.1 — 隐私

修复方法:

  1. 隐私政策 URL 必须有效、可访问,且专用于此应用
  2. ASC 中的 App Privacy 部分必须准确列出每个 SDK 收集的数据
  3. ATT 提示文案必须具体(不能只写“改进应用”之类的笼统内容)
  4. NSUsageDescription 字符串必须说明原因,而不只是说明用途
指南 5.1.5 — 位置

修复:“始终”位置权限要求应用确实需要在后台获取位置。大多数应用只应请求“使用 App 期间”权限。更新 Info.plist 和权限提示文案。

Google Play 拒绝原因分类

政策类别常见修复方法
受限内容色情内容、仇恨、暴力内容审核、年龄门槛
隐私、欺骗、设备滥用信息披露、权限隐私政策、准确填写 Data Safety 表单
知识产权商标、版权获取授权或移除相关内容
变现与广告干扰性广告、绕过 IAP使用 Play Billing
商店详情与推广误导性元数据确保商店详情与应用一致
垃圾内容与最低功能要求重复内容、质量低下增加独特价值
家庭面向儿童的应用遵守 COPPA/GDPR-K,采用获准的广告 SDK 白名单
权限高风险权限移除或说明理由(Special Permissions Declaration 表单)
健康误导信息医疗声明添加免责声明,提供资质证明
前台服务后台工作在 Play Console 表单中说明理由

Play 还会进行自动封禁(不经人工审核)。遇到此类情况,请使用 Play Console 申诉表单并提供书面说明。

Resolution Center 回复模板

好的回复可以在 24 小时内获得重新审核。请严格采用以下结构:

Hello App Review Team,

Thank you for the feedback regarding guideline <X.Y.Z>.

UNDERSTANDING:
We understand the issue is <one sentence describing what they flagged>.

CHANGES MADE:
1. <specific change>
2. <specific change>
3. <specific change>

DEMO INFO (if applicable):
  Username: [email protected]
  Password: <password>
  Steps to test: <numbered steps>
  Walkthrough video: <URL if needed>

We have submitted build <X.Y.Z (build N)> with these changes. Please let us know if any further information is needed.

Thank you,
<Name>

规则:

  • 不要争辩指南是否合理。承认问题。
  • 除非问题确实出在元数据上,否则不要只修改元数据就重新提交相同的二进制文件。
  • 务必注明新版本的构建编号。
  • 即使应用的某些流程不需要登录,也要提供演示账号凭据——尽可能降低审核人员的操作阻力。

何时申诉,何时修复

情况操作
审核人员错误应用指南通过 App Review Board(Apple)申诉——保持礼貌、陈述事实、简明扼要
审核人员测试有误(例如使用了错误的设备)在 Resolution Center 中回复并提供复现信息;无需正式申诉
指南 4.3 垃圾内容——首次遇到修复后重新提交,并体现实质性差异;不要申诉
实际符合要求但仍被指出违反子政策提供证据(截图、代码引用)进行申诉
5.6.1 开发者账号威胁/封禁立即申诉,提供背景说明,不要置之不理

Apple App Review Board 的回复时间:5–10 个工作日。不要为小问题申诉——修复后重新提交更快。

加急审核(Apple)

通过 App Store Connect → Contact Us → App Review → Expedited Request 申请。合理理由包括:

  • 影响用户的严重错误修复
  • 有时效性的事件(与特定日期挂钩的发布、合作伙伴集成)
  • 安全修复

不要以营销为由提出申请——Apple 会拒绝,并可能标记你的账号。

输出模板

REJECTION DIAGNOSIS — <App Name>

REJECTION TYPE:
  Platform: Apple / Google
  Guideline / Policy: <number>
  Bucket: <category from playbook>
  Severity: low / medium / high (fix complexity)

ROOT CAUSE:
  <one paragraph in plain English>

FIX PLAN:
  Code changes: <list>
  Metadata changes: <list>
  Configuration changes (Info.plist, ASC settings): <list>
  Estimated effort: <hours>

RESOLUTION CENTER RESPONSE (draft):
  <use template above>

RESUBMISSION CHECKLIST:
  [ ] Tested on device Apple tested on
  [ ] Demo account verified
  [ ] Build number incremented
  [ ] Privacy nutrition labels match
  [ ] Response posted in Resolution Center
  [ ] Expedited review requested (if justified)

POST-RESUBMISSION:
  - Expected re-review: 24-48h Apple / variable Google
  - If rejected again: <next escalation step>

预防未来被拒

解决问题后,运行 aso-audit,在提交前发现下一个可能导致拒绝的问题。提交前的常见检查项:

  • 在支持的最旧 iOS/Android 版本上测试
  • 所有 NSUsageDescription 字符串都使用便于用户理解的语言撰写
  • 隐私政策 URL 可访问,且与应用内的数据收集情况一致
  • 截图中没有第三方徽标/商标
  • 没有“BETA”“BUG FIXES”或笼统的描述
  • 演示账号已准备就绪,并填充了符合实际情况的数据
  • 除任何第三方社交登录外,也提供 Sign in with Apple

跨技能交接

  • 获批后,优化商店详情 → aso-audit
  • 需要全面修订隐私营养标签 → metadata-optimization(描述)+ 手动更新 ASC
  • 因付费墙流程导致拒绝 → paywall-optimization
  • 因引导流程中的权限提示导致拒绝 → onboarding-optimization

评论

支持 Markdown