《2026年iOS和Android应用审核指南》

2026年首次应用程序审查指南 - iOS和Android

2026年首次应用程序开发者的全面指南,涵盖应用商店和Play商店审查,包括登录要求、隐私政策和当前Google Play测试要求。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销人员

2026 年 iOS 和 Android 的完整首次应用评估指南 -

将您的第一款应用程序提交到 App Store 或 Play Store 时,可能会感到非常紧张。随着 2026 年不断演进的指南和更加严格的执行,通过您的应用程序审查需要非常细致地关注细节。这份全面指南将带您走过您需要了解的所有内容,以便在 iOS 和 Android 平台的首次提交中通过审查。

了解 2026 年的审查流程

苹果和谷歌都在最近几年对审查流程进行了显著的调整,特别是强调隐私、安全性和用户体验。了解这些变化对于首次开发者来说至关重要。

iOS App Store 审核时间表

  • 标准审查: 24-48 小时
  • 高峰期: 3-5 天(尤其是在假期期间)
  • 周末: 无审查处理
  • 加速审核: 必须通过 App Store Connect 请求的关键 bug 修复 (Available)

专业提示: 提交在周一至周二 (Monday-Tuesday) 的早期,以避免周末延迟。周一提交通常在周三被审核。

App Store Connect 状态

  • 准备提交: 您的构建或元数据仍在准备中
  • 等待审核: 苹果已将您的提交放入队列
  • 正在审核: 审核团队正在积极检查应用
  • 等待开发者发布: 等待您的手动发布选择
  • : 被拒绝/未解决问题: 苹果需要更改才能获得批准

: Google Play Store 审核时间表 (2026 年更新)

  • : 初步审核: 3-7 天 (比之前的年份要长得多)
  • : 测试门户关闭: 受影响的新个人 Play Console 帐户需要至少 14 天才能申请生产访问
  • : 测试后生产审核: 测试门户关闭后通常需要另外 3-7 天
  • : 更新现有应用: 1-3 天
  • 《Capgo》政策违规: 可能延长至 14+ 天,如果触发了额外的审查

重要更新: Google 现在要求某些新 Play Console 帐户进行更严格的测试,我们将在下文详细介绍。

苹果开发者帐户设置

在您的第一个 iOS 发布之前,请确保苹果侧的设置正确:

  • 加入 苹果开发者计划
  • 为用于注册的苹果帐户启用两因素身份验证
  • 选择正确的会员类型:
    • 个人/独资:您的法律个人姓名将成为 App Store 上的卖家名称
    • 组织: 需要一个合法实体、D-U-N-S号、公共网站和具有权力将公司绑定到苹果协议的人
  • 在注册时使用合法名称。别名或公司名称在姓/名字段中可能会延迟审批
  • 注册批准后,登录App Store Connect并创建应用程序记录,包括最终包ID、应用程序名称、SKU和主要语言

Apple Developer Program注册页面

继续在网上进行Apple注册

选择正确的Apple Developer实体类型

重要: 苹果随着时间的推移而改变最低SDK要求。截至 2026年4月28日, 应用程序上传到App Store Connect必须使用 iOS & iPadOS 26 SDK或更高版本.

关键安卓测试要求

大多数首次发布安卓应用的开发者都会被这个变化所困扰:

新个人安卓账户的12名测试者要求

如果您的Google Play开发者账户是 在2023年11月13日之后创建的个人账户,那么您必须在应用发布到生产环境之前完成一个封闭测试期:

要求:

  • 最少12名测试者:您必须招募至少12名同意测试的测试者
  • 封闭测试期限:应用必须在连续的14天内保持封闭测试状态
  • 生产环境访问申请:测试期结束后,您仍需要在Play Console中申请生产权限
  • Feedback Collection:您应该记录发现的问题、修复的内容以及测试者如何使用应用

如何设置您的测试跟踪

  1. 创建一个封闭的测试跟踪

    • 前往Google Play Console
    • 导航到测试和发布 > 测试 > 封闭测试
    • 在封闭测试跟踪中创建一个新版本
    • 上传您的Android App Bundle(.aab)
  2. 招募您的测试者

    哪里可以找到测试者:

    • 朋友和家人(最容易的起点)
    • 开发者社区 (Reddit的/r/androiddev, /r/betatests)
    • 社交媒体粉丝
    • Beta测试平台 (BetaList, BetaTesting.com)
    • 大学生 (如果您有联系)

    重要确保测试者:

    • 拥有有效的Gmail账户
    • 实际使用Android设备
    • 在整个14天的时间内保持激活
  3. 邀请测试者

    • 在Play Console中创建测试者列表
    • 添加测试者电子邮件地址
    • 与测试者分享选入链接
    • 发送提醒确保他们安装并使用应用
  4. 监控测试活动

    • 检查Play控制台安装数量
    • 跟踪崩溃报告和ANR(应用未响应)
    • 从测试者收集反馈
    • 在推广之前修复任何关键问题
  5. 推广到生产

    • 14天后有12+测试者选入
    • 从Play控制台仪表板申请生产访问
    • 查看所有崩溃报告和反馈
    • 创建生产发布并提交最终审查

为什么 Google 实施了这个

Google 引入了这个要求是为了:

  • 减少低质量应用程序垃圾邮件
  • 确保应用程序在到达用户之前得到适当的测试
  • 通过真实世界的使用模式识别恶意应用程序
  • 改善 Play 商店整体质量

现实检查:这将至少增加您发布时间表的 2-3 周。请事先规划并尽早招募测试者

认证和登录要求

认证系统的错误实施是最常见的拒绝原因,尤其是社交登录

Apple Sign-In 要求(对于 iOS 至关重要)

苹果的规则If your app offers any third-party social login option (Google, Facebook, Twitter, etc.), you 必须

作为:

  • 选项
  • Google Sign-In
  • Facebook Login
  • Twitter/X Login
  • LinkedIn Login

任何其他第三方认证服务:

  • Email/password only authentication
  • Enterprise SSO systems (when the app is for that specific enterprise)
  • Education provider authentication systems

Implementing Sign in with Apple

If you’re using social login, here’s what you need to implement:

import { SignInWithApple } from '@capacitor-community/apple-sign-in';

async function signInWithApple() {
  try {
    const result = await SignInWithApple.authorize({
      clientId: 'com.yourapp.service',
      redirectURI: 'https://yourapp.com/auth/callback',
      scopes: 'email name',
      state: '12345',
      nonce: 'nonce',
    });

    // result contains:
    // - identityToken
    // - authorizationCode
    // - email (may be null if user previously authorized)
    // - givenName
    // - familyName

    // Send to your backend for verification
    await verifyAppleToken(result.identityToken);

  } catch (error) {
    console.error('Apple Sign In failed:', error);
  }
}

Important Considerations:

  1. Email Privacy: Users can choose to hide their email. Apple provides a private relay email (e.g., abc123@privaterelay.appleid.com). Your app must handle this.

  2. First-Time vs Returning Users: Apple only provides user details (name, email) on the first authorization. Store this information because subsequent sign-ins won’t include it.

  3. Button Design: Apple provides strict design guidelines for the Sign in with Apple button. Use their official assets.

  4. Backend Verification: Always verify the identity token on your backend server, never trust client-side tokens alone.

Android 社交登录要求

虽然 Android 不需要像 iOS 一样特定的提供者,但 Google 有指南:

Google Sign-In 要求:

  • 必须使用官方的 Google Sign-In SDK
  • 必须遵循 Google 的品牌指南
  • 如果您提供它,应作为主要选项

跨平台最佳实践 在两种平台上提供相同的登录选项以保持一致性:

  • 电子邮件/密码
  • 使用 Apple 登录 (仅限 iOS,或者在 Android 上如果您支持基于 web 的 Apple 登录)
  • 使用 Google 登录
  • 其他社交选项(Facebook、Twitter 等)

演示账户要求

对审查至关重要如果您的应用程序需要登录, 必须

Demo Account Information:

Username: reviewer@demo.com
Password: ReviewTest123!

OR

Test Phone: +1 555-0123
Test OTP: 123456 (static for review)

Notes:
- This account has full premium features enabled
- All payment flows work in sandbox mode
- Account will reset daily

提供 App Review Notes 中的有效演示凭证。:

  • 常见错误
  • 提供过期凭证
  • 演示账户无法访问所有功能
  • 忘记说明如何绕过手机验证过程中不提及sandbox 支付细节

两家应用商店现在要求可访问的隐私政策和服务条款 您的第一份提交被批准之前

隐私政策要求

您的隐私政策必须:

  1. 公开可访问

    • 托管在公共 URL(不需要登录)
    • 在标准 Web 浏览器中可加载
    • 在您的应用程序语言中可用
  2. 涵盖这些必须话题:

    • 您收集的数据(具体说明)
    • 您如何使用收集的数据
    • 第三方是否共享数据
    • 数据保留多久
    • 用户权利(访问、删除、可移植性)
    • 隐私查询的联系信息
    • 如果应用是为13/16岁以下用户设计的,则儿童隐私
  3. 与LinkedIn App关联

    • 从设置或帐户屏幕访问
    • 必须在菜单中不被埋葬(一键即可访问)
    • 是否在默认浏览器中打开还是在应用内浏览器中

您应该在哪里托管您的隐私政策

选项1:您的网站 (Recommended)

https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service

选项 2: GitHub 页面 (Free)

https://yourusername.github.io/app-privacy-policy

选项 3: 隐私政策生成器 (Quick Start)

重要: 在使用生成器时,请确保政策准确反映您的实际数据实践。使用不符合您的应用程序的模板将会被标记。

条款和条件要求

虽然不总是强制要求,但拥有条款和条件是非常推荐的,并且在以下情况下是必需的:

  • 您提供内购或订阅功能
  • 您有用户生成的内容
  • 您提供的服务超出了基本应用功能
  • 您需要法律保护

必须包含:

  • 适用性政策
  • 账户终止条件
  • 责任限制
  • 知识产权
  • 争议解决过程
  • 退款政策(尤其是IAP)

内购实施

// Settings or Account Screen
function LegalLinks() {
  return (
    <div className="legal-section">
      <h3>Legal</h3>
      <a
        href="https://yourapp.com/privacy-policy"
        target="_blank"
        rel="noopener noreferrer"
      >
        Privacy Policy
      </a>
      <a
        href="https://yourapp.com/terms-of-service"
        target="_blank"
        rel="noopener noreferrer"
      >
        Terms of Service
      </a>
      <a
        href="https://yourapp.com/contact"
        target="_blank"
        rel="noopener noreferrer"
      >
        Contact Us
      </a>
    </div>
  );
}

App Store 元数据要求

两家商店都要求在应用提交时提供隐私政策 URL:

iOS - App Store Connect:

  • App 信息 > 一般信息 > 隐私政策 URL
  • 必须是 HTTPS(HTTP 会被拒绝)
  • 将在您的 App Store 页面上显示
  • 添加一个支持 URL,包含用户联系方式
  • 在提交前完成年龄等级问卷

Android - Google Play Console:

  • 商店存在 > 商店设置 > 隐私政策
  • 所有针对儿童的应用都需要
  • 所有应用都强烈建议

隐私营养标签 (iOS)

iOS 需要以“营养标签”格式详细披露隐私信息:

您必须声明的类别:

  • 联系方式: 电子邮件、姓名、电话号码
  • 财务信息: 支付信息、信用卡、银行账户
  • 位置: 精确或粗略位置
  • 用户内容: 照片、视频、音频、消息
  • 识别符: 用户 ID、设备 ID、广告 ID
  • Usage Data: 产品交互、广告数据、崩溃日志
  • Diagnostics: 崩溃数据、性能数据

For Each Data Type, Specify:

  • 是否收集
  • 是否与用户身份关联
  • 是否用于跟踪
  • 数据收集的目的

Common Mistake: 说你不收集数据时,分析工具 SDK 却在收集。审计所有第三方 SDK 的数据收集行为。

Google Play Data Safety Section

Android 也需要 Data Safety 宣言:

步骤:

  1. 进入 Play Console &gt; App 内容 &gt; Data safety
  2. 回答有关数据收集的问题
  3. 指定收集的数据类型
  4. 说明安全措施(加密等)
  5. 提供隐私政策链接

重要:此信息具有法律约束力。虚假陈述可能导致应用程序被移除和帐户暂停。

常见首次拒绝原因

了解为什么应用程序会被拒绝有助于您避免这些陷阱:

1. 应用程序崩溃或无法启动

为什么会发生:

  • 仅在模拟器上测试,不在真实设备上测试
  • 网络故障时缺少错误处理
  • 硬编码无法访问的API端点
  • 假设特定设备功能(摄像头,GPS)

如何预防:

// Always implement proper error handling
async function loadData() {
  try {
    const response = await fetch('https://api.yourapp.com/data');

    if (!response.ok) {
      throw new Error(`HTTP ${response.status}`);
    }

    const data = await response.json();
    return data;

  } catch (error) {
    // Show user-friendly error
    showError('Unable to load data. Please check your connection.');

    // Log for debugging
    console.error('Data load failed:', error);

    // Graceful degradation
    return getCachedData();
  }
}

测试清单:

  • 在真实设备上进行测试(至少2-3种不同的型号)
  • 使用网络链路条件器进行测试(网络差)
  • 使用飞行模式进行测试
  • 测试权限被拒绝
  • 测试使用新安装(无缓存数据)

2. 核心功能缺失或损坏

为什么会这样发生:

  • 截图中显示的功能还未实现
  • 演示账户无法访问宣传的功能
  • 展示的高级功能尚未实现
  • 应用中的“即将推出”占位符

防止发生的方法:

  • 只有所有宣传的功能完成后才提交
  • 确保演示账户有完全访问权限
  • 在提交前移除或禁用不完整的功能
  • 更新截图以准确匹配当前版本

3. 不适合的年龄等级内容

为什么会这样:

  • 设置为4+年龄等级但应用包含社交功能
  • 年龄等级与实际内容不符
  • 未经审核的用户生成内容
  • 链接到未经审核的外部内容

如何设置正确的年龄等级:

iOS年龄等级:

  • 4+ (无不适合的内容)
  • 9+ (间歇性轻度内容)
  • 12+ (中度内容)
  • 17+ (频繁/强烈的内容)

Android 内容评级:

  • 适合所有人
  • 适合10岁以上人
  • 适合青少年
  • 适合17岁以上人
  • 仅限18岁以上人

重要: 如果用户可以与其他用户共享内容,则需要:

  • 内容审查系统
  • 举报/屏蔽功能
  • 清晰的社区指南
  • 如果需要,则需要年龄限制

4. 欺骗或误导性元数据

为什么会发生:

  • 应用名称承诺不存在的功能
  • 竞争对手或模拟截图
  • 虚假评论或评分操纵
  • 描述包含超级latives没有证据

元数据问题的例子:

BAD:

  • 应用名称:“最佳健身追踪器 - #1 应用”
  • 描述:“最令人惊奇、革命性的应用程序!”
  • 截图:通用股票照片

GOOD:

  • App 名称: “FitTrack - Workout Logger”
  • 描述: “可定制的运动日志和进度图表跟踪您的运动。”
  • 截图:当前构建中的实际应用屏幕

5. 测试不足(尤其是 Android Closed Testing)

为什么会发生:

  • 跳过所需的 14 天测试期
  • 招募测试者不足
  • 测试者实际上并没有使用该应用
  • 测试期间没有监控崩溃

如何预防:

  • 在计划发布前 3-4 周开始招募测试者
  • 在测试期间使用 Firebase Crashlytics 或类似工具
  • 积极与测试者进行沟通 (调查、反馈表单)
  • 在发布生产版本之前修复关键问题

6. 无正当理由的权限

为什么会这样:

  • 请求位置信息但没有使用
  • 没有说明的摄像头权限
  • 没有明确目的的联系人访问
  • 非导航应用的后台位置

如何修复:

iOS - Info.plist:

<key>NSCameraUsageDescription</key>
<string>Camera access is required to scan QR codes for quick login.</string>

<key>NSLocationWhenInUseUsageDescription</key>
<string>Location helps us show nearby fitness centers and outdoor running routes.</string>

<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access lets you upload a profile picture and share workout photos.</string>

Android - 权限策略:

<!-- Only request what you actually need -->
<uses-permission android:name="android.permission.CAMERA" />

<!-- Use when-in-use rather than always for location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- Avoid if possible -->
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> -->

运行时权限请求:

import { Camera } from '@capacitor/camera';

async function takePicture() {
  // Request with context
  const permissionStatus = await Camera.requestPermissions();

  if (permissionStatus.camera === 'granted') {
    const photo = await Camera.getPhoto({
      quality: 90,
      allowEditing: true,
      resultType: 'uri'
    });

    return photo;
  } else {
    // Explain why permission is needed
    showDialog(
      'Camera access required',
      'To upload a profile picture, please enable camera access in Settings.'
    );
  }
}

iOS-Specific Requirements

App Store截图和预览

必需尺寸:

  • 6.7“ iPhone:1290 x 2796
  • 13“ iPad:2064 x 2752
  • 12.9“ iPad:2048 x 2732

重要: 如果您的应用支持iPad,必须上传iPad截图。不要将iPhone截图拉伸到iPad插槽中。

截图最佳实践:

  • 必须显示实际应用内容(无模拟)
  • 去除状态栏或显示现实内容
  • 支持所有支持的语言
  • 避免过多的文本覆盖
  • 在前 2-3 个截图中显示关键功能

App Store Connect 元数据设置

在提交前完成这些 App Store Connect字段:

  • 隐私政策 URL: 必须填写,适用于 iOS 应用
  • 支持 URL: 必须填写,并且应该指向实际的联系信息
  • 年龄等级: 完成问卷,以便应用可以发布
  • App Review 信息: 添加审查联系人、登录所需的工作演示凭据以及清晰的审查团队说明
  • Export Compliance: ITSAppUsesNonExemptEncryption 回答加密问题, 或者设置 Info.plist

当适当时, 以避免每次上传都回答相同的问题

TestFlight Before App Review

  • 在生产审查之前, 运行一次真实的TestFlight
  • 从TestFlight安装精确的构建
  • 使用您计划提供的审查帐户登录
  • 走过购买、恢复和取消订阅的路径
  • 确认审查者可以访问关键功能, 而无需隐藏的设置

需求:

  • __CAPGO_KEEP_0__
  • 必须显示实际应用程序的视频
  • 可以包含简短的文本覆盖
  • 不包含版权问题的音乐
  • 与截图相同的分辨率

使用 Apple 登录

已在上面提到,但对于 iOS 评审来说至关重要

内购需求

如果您提供数字产品或服务:

必需的披露:

  • 在购买之前清晰显示价格
  • 订阅条款明确说明
  • 取消指南可见
  • 恢复购买按钮

示例符合规范的订阅屏幕:

function SubscriptionOffer() {
  return (
    <div className="subscription-screen">
      <h2>Choose Your Plan</h2>

      <PlanCard>
        <h3>Monthly</h3>
        <p className="price">$9.99/month</p>
        <ul>
          <li>Unlimited workouts</li>
          <li>Personalized plans</li>
          <li>Progress tracking</li>
        </ul>
        <button>Subscribe</button>
      </PlanCard>

      <PlanCard>
        <h3>Annual</h3>
        <p className="price">$79.99/year</p>
        <p className="savings">Save 33%</p>
        <ul>
          <li>Everything in Monthly</li>
          <li>Priority support</li>
        </ul>
        <button>Subscribe</button>
      </PlanCard>

      <div className="subscription-terms">
        <p>
          Subscription automatically renews unless cancelled at least
          24 hours before the end of the current period. Manage your
          subscription in Settings.
        </p>
        <button onClick={restorePurchases}>Restore Purchases</button>
      </div>

      <div className="legal-links">
        <a href="/privacy/">Privacy Policy</a> |
        <a href="/terms">Terms of Service</a>
      </div>
    </div>
  );
}

Android特定要求

Google Play控制台账户设置

在您首次发布Android应用之前,请确保Play控制台账户和应用壳存在:

  • 创建您的开发者账户在 Play控制台注册
  • 在Play控制台中,转到 主页&gt;创建应用
  • 选择默认语言、应用/游戏类型和支持邮箱
  • 接受所需的Play政策、导出和Play App Signing声明
  • 决定应用是否 免费收费

重要: Google允许您将收费应用转换为免费应用,但一旦应用被免费提供后,就无法再切换为收费应用

应用包要求

重要: Google Play要求Android应用包(.aab)格式,而不是APK:

# Sync the native Android project first
bunx cap sync android

# Then build the release app bundle
cd android
./gradlew bundleRelease

目标API级别要求

当前要求: Android 15 或更高版本(API 等级 35)是新应用和应用更新的目标。

Update in android/app/build.gradle:

android {
    compileSdkVersion 35

    defaultConfig {
        targetSdkVersion 35
        minSdkVersion 23  // Minimum supported version
    }
}

Google Play 数据安全

已经在上面提到过,但对于 Android 批准来说绝对是关键。

封闭测试轨道(当前要求)

这是新创建的个人开发者帐户的关键点:详见本指南前面部分的 12 个测试者,14 天的要求。

时间表:

  1. 周 1:招募测试者,设置封闭测试
  2. 周 2-3:活跃测试期(至少 14 天)
  3. 周 4:修复问题,准备生产发布
  4. 周 5:提交生产审查

目标受众和内容评级

内容评级问卷:

  • 所有应用均需要
  • 完成时间约10-15分钟
  • 确定年龄评级(Everyone, Teen, Mature, 等)
  • 每当内容发生变化并影响回答时更新

所涉及的主题:

  • 暴力
  • 性内容
  • 不雅语言
  • 管制物质
  • 赌博
  • 用户交互功能

重要: 如果您的应用程序包含用户生成的内容或社交功能,则必须披露此信息并实施监管。

应用商店列表要求

必需资产:

  • 应用程序图标 (512 x 512 PNG)
  • 功能图标 (1024 x 500 JPG 或 PNG)
  • 手机截图 (最少 2 个,最大 8 个)
  • 7“ 平板截图 (可选但推荐)
  • 10“ 平板截图 (可选但推荐)

描述要求:

  • 简要描述 (最大 80 个字符)
  • 完整描述 (4000 个字符最大)
  • 准确描述应用功能
  • 不能包含联系方式或价格信息

提交前检查清单

在点击提交之前,完整检查以下清单:

技术要求

  • 应用在真实设备上启动成功
  • 截图中所有功能都正常工作
  • 不包含占位符或“即将推出”内容
  • 所有第三方API密钥都是生产密钥
  • 已实现网络错误处理
  • 权限请求包含清晰的说明
  • 应用在网络条件差的情况下不会崩溃
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_1__
  • __CAPGO_KEEP_2__

__CAPGO_KEEP_3__

  • __CAPGO_KEEP_4__
  • __CAPGO_KEEP_5__
  • __CAPGO_KEEP_6__
  • __CAPGO_KEEP_7__
  • __CAPGO_KEEP_8__
  • __CAPGO_KEEP_9__
  • __CAPGO_KEEP_11__
  • 隐私政策链接添加到应用商店列表中
  • 服务条款在适用情况下公开可访问
  • 隐私政策在应用程序设置屏幕上链接
  • 隐私营养标签准确(iOS)
  • 数据安全部分完成(Android)
  • 所有数据收集目的解释
  • 第三方SDK数据收集透明

内容 &amp; 元数据

  • 应用程序名称遵循指南(无关键词填充)
  • 描述准确描述功能
  • 截图显示当前应用程序屏幕
  • 截图为所有支持语言本地化
  • No competitor的描述中没有提及竞争对手
  • No superlatives without proof
  • 年龄等级与实际内容匹配
  • 联系邮箱被监控

iOS Specific

  • 使用社交登录时,已实现Sign in with Apple
  • 提供了所有必要的截图尺寸
  • 如果iPad支持已启用,则已上传真实的iPad截图
  • Info.plist权限描述清晰
  • 支持URL添加了真实的联系信息
  • App Store Connect中添加了隐私政策URL
  • 年龄等级问卷已完成
  • Export compliance answered correctly
  • App Review contact and non-expiring demo account provided
  • 目标 iOS 15.0 或更高
  • 如果 IAP:价格清晰,恢复购买按钮存在
  • 不涉及 Android 或其他平台

Android 专用

  • 使用 App Bundle (.aab) 格式
  • 目标 API 35 或更高
  • 内容评级问卷已完成
  • 上传特征图像
  • 如果您的 Play Console 帐户需要,则已完成关闭测试(12 个测试者,14 天)
  • 测试中的崩溃报告已审查并修复
  • No references to iOS or other platforms

测试 (当前 Android 需求)

  • 如果您的 Play 帐户需要关闭测试,则招募 12+ 测试者
  • 创建了关闭测试跟踪
  • 完成了 14 天的连续测试
  • 测试者实际使用了应用程序(而不是仅安装)
  • 测试期间启用了崩溃监控
  • 测试期间修复了关键 bug
  • 测试者反馈记录

Review Notes: What to Include

好的 Review Notes 可以使应用程序立即获得批准,而不是被拒绝。以下是您需要包含的内容:

Review Notes 模板

APP REVIEW INFORMATION

=== Test Account ===
Email: reviewer@testapp.com
Password: TestReview123!
(This account has all premium features enabled)
(This account stays active during review)

=== Review Contact ===
Name: Jane Developer
Email: review@yourapp.com
Phone: +1 555-0100

=== Testing Instructions ===
1. Launch app and tap "Sign In"
2. Enter test credentials above
3. Navigate to "Dashboard" to see main features
4. Tap "Upgrade" to test subscription flow (sandbox mode)
5. Go to Settings > Account to see privacy policy and terms

=== Key Features to Test ===
- Workout tracking (tap "New Workout" on Dashboard)
- Progress charts (Analytics tab)
- Social sharing (Share button on workout details)
- Camera upload for profile picture (Settings > Profile)

=== Third-Party Services ===
- Firebase Authentication (for login)
- Stripe (for payments - sandbox mode)
- AWS S3 (for image uploads)
- Google Maps SDK (for location features)

=== Notes ===
- Location permission is optional, app works without it
- Camera permission only requested when uploading profile picture
- All subscription flows use Apple/Google sandbox environments
- Background location is not used
- Support URL and privacy policy are available from Settings > Account

=== Contact ===
For questions: developer@yourapp.com
Response time: Within 24 hours

__CAPGO_KEEP_0__

对于 iOS,还包括:

=== Device Coverage ===
Tested on: iPhone 15 Pro Max, iPad Pro 13-inch

=== App Store Connect Metadata ===
Support URL: https://yourapp.com/support
Privacy Policy: https://yourapp.com/privacy-policy

=== Submission Notes ===
- iPad screenshots match the current iPad UI
- Export compliance answered for this build
- Sign in with Apple is available on the login screen

__CAPGO_KEEP_1__

对于 Android,还包括:

=== Testing Track Information ===
Closed testing period: [Start Date] to [End Date]
Number of active testers: 23
Critical issues found during testing: 2 (both fixed)
Test distribution method: Email invite list

=== Crash Data ===
Testing period crashes: 3 total
Crash rate: 0.8%
All crashes fixed in this build

=== API Levels ===
Target SDK: 35 (Android 15)
Min SDK: 23 (Android 6.0)
Tested on: Android 11, 12, 13, 14, 15

如果被拒绝该怎么办

不要惊慌——被拒绝是常见的,尤其是第一次提交。以下是如何处理的:

被拒绝后的步骤

  1. 仔细阅读拒绝理由

    • 注意违反的具体指南(例如 4.3、5.1.1)
    • 仔细阅读审阅者的评论
    • 如果提供了截图,寻找它们
  2. 了解问题

    • 查阅官方文档中的指南
    • 在线查找类似案例
    • 检查是否是误解还是合理问题
  3. 修复根本原因

    • 不仅仅是修补 - 修复正确
    • 测试修复方案
    • 记录你所做的修改
  4. 做出适当的回应

    如果拒绝是正确的:

    Thank you for the feedback. I have addressed the issue:
    
    Issue: Missing Sign in with Apple option
    
    Resolution: Added Sign in with Apple as a login option
    alongside Google Sign-In. The button appears on the login
    screen and follows Apple's design guidelines. You can test
    with the provided demo account or by creating a new account
    with Apple Sign-In.
    
    Changes made in: v1.0.1 (build 2)

    如果你认为是误解:

    Thank you for reviewing my app. I believe there may be a
    misunderstanding regarding [specific issue]:
    
    [Explain clearly with screenshots if needed]
    
    The functionality exists at: Settings > [specific location]
    
    I've added additional detail to the review notes to help
    locate this feature.
  5. 重新提交

    • 重新提交通常在24-48小时内会被快速审核
    • Include updated review notes explaining the fix
    • Reference the previous submission if helpful

常见拒绝原因

拒绝:‘您的应用程序在启动时崩溃’

回应:

I sincerely apologize for the crash. I have identified and fixed
the issue:

Root cause: The app attempted to fetch data before network
initialization completed, causing a null reference exception.

Fix: Implemented proper async initialization with error handling
and offline mode. The app now gracefully handles network issues.

Testing: Verified on iPhone 12 (iOS 17), iPhone 14 Pro (iOS 17.1),
tested with WiFi, cellular, and airplane mode.

Build version: 1.0.2 (build 3)

拒绝:‘缺少隐私政策’

回应:

Thank you for the feedback. I have added the privacy policy:

URL: https://myapp.com/privacy-policy
Location in app: Settings > Privacy Policy (tappable link)
Also added to: App Store Connect > App Information > Privacy Policy URL

The privacy policy covers all data collection as disclosed in the
Privacy Nutrition Labels.

拒绝:‘不符合4.2 - 最小功能性’

这更具挑战性。它意味着您的应用程序没有足够的功能来值得被作为应用程序。 回应:

Thank you for the feedback. I'd like to clarify the app's
functionality:

Core Features:
1. [Feature 1 with specific details]
2. [Feature 2 with specific details]
3. [Feature 3 with specific details]

The app provides significant utility beyond a simple website by:
- Offline functionality for [specific feature]
- Native camera integration for [specific feature]
- Push notifications for [specific feature]
- Device hardware access for [specific feature]

Test account credentials have been provided to demonstrate all
features. Please let me know if you need additional clarification.

发布后最佳实践

恭喜!您的应用程序已获得批准。以下是如何维持该状态:

监控发布后

Critical Metrics to Watch:

  • Crash rate (keep below 1%)
  • ANR rate (Android - keep below 0.5%)
  • App Store/Play Store ratings
  • Review content (respond to all reviews)
  • User-reported bugs

Tools to Use:

  • Firebase Crashlytics
  • App Store Connect Analytics
  • Google Play Console Vitals
  • Sentry or similar error tracking

Update Guidelines

当提交更新时:

  • 尽可能像初次提交一样全面地测试
  • 如果UI有重大变化,更新截图
  • 如果数据收集方式有变化,更新隐私标签
  • 提供清晰的“新功能”描述
  • 考虑对重大变化进行分阶段发布

保持合规

年度要求:

  • 每年更新Android内容评级(必填)
  • 如果实践有变化,更新隐私政策
  • 如果内容有变化,审查和更新年龄限制
  • 审查第三方SDK以确保合规性

持续监控:

  • 保持最新的指南更新
  • 加入苹果/谷歌开发者新闻
  • 参与开发者社区
  • 遵循App Store/Play Store政策博客

资源和进一步阅读

官方文档

苹果:

Google:

社区资源

隐私政策工具

需要帮助您的应用程序审查?

如果您感到压力或想确保您的应用程序在第一次尝试通过审查,我们这里有帮助!

预约我们的团队 为您提供个人化的帮助:

  • 应用商店和Play Store审查准备
  • 隐私政策和法律文档审查
  • 使用 Apple 登录实现
  • 测试策略和测试者招募
  • 审查笔记准备
  • 拒绝反馈和申诉
  • 完成应用程序提交流程

我们的团队已经帮助数百名开发者成功地通过应用程序审查流程,并可以节省您数周的试验和错误。

结论

提交您的第一个应用程序可能令人望而生畏,但经过适当的准备,您可以在第一次尝试通过审查。

  1. 记住这些关键点:提前开始
  2. : 尤其是对于 Android - 招募至少在您计划的发布日期前 3 周的 12 名测试者隐私优先:
  3. Apple Sign-In: 如果您使用任何社交登录,必须在 iOS 上包含使用 Apple 登录
  4. Test Thoroughly: 在真实设备上,网络差,权限被拒绝时进行测试
  5. Be Honest: 准确的元数据和隐私披露可以避免被拒绝和法律问题
  6. Detailed Review Notes: 帮助审阅者快速了解您的应用

当前的 Android 测试要求会增加流程时间,但最终会导致更好的应用和更少的发布后问题。为 Android 提交计划额外 3-4 周,如此您将有成功的机会。

好运气!在应用发布时记住,即使您被拒绝,也是学习的机会。大多数成功的应用都经过多轮审查才能获得批准。

不想独自前进? 预约咨询 让我们的专家指导您完成整个过程。


需要帮助在您的应用被批准后实施实时更新?请查看 Capgo的实时更新解决方案 实现应用更新无需应用商店审查的平滑应用更新。

继续阅读《2026年iOS和Android首次应用审查指南》

如果您正在使用 _2026年iOS和Android首次应用审查指南》 来规划安全性和合规性,连接它与 加密 查看加密的实施细节 合规 查看合规的实施细节 Capgo 安全扫描器 为产品工作流程在 Capgo 安全扫描器中 Capgo 安全 为产品工作流程在 Capgo 安全中 Capgo 信任中心 为产品工作流程在 Capgo 信任中心中

实时更新Capacitor应用

当web层bug处于活跃状态时,通过Capgo将修复推送到应用商店,而不是等待几天的审批。用户在后台接收更新,而本机更改保持在正常审批路径中。

立即开始

最新博客文章

Capgo 为您提供创建真正专业的移动应用所需的最佳见解。