跳过主要内容

2026年iOS和Android的首次应用审查指南

首次应用开发者的一站式指南,涵盖App Store和Play Store审查,包括登录要求、隐私政策和当前Google Play测试要求。

Martin Donadieu

Martin Donadieu

内容营销专家

2026年iOS和Android的首次应用审查指南

将您的首次应用提交到App Store或Play Store时,可能会感到沮丧。随着不断演进的指南和2026年的更严格的执法,通过您的应用程序审查需要细致入微的注意力。这份全面指南将带您走过您需要了解的所有内容,以便在首次提交时通过iOS和Android平台的审查。

了解2026年的审查流程

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

iOS App Store审查时间表

  • 标准审核: 24-48 小时
  • 高峰期: 3-5 天(尤其是在节假日季节)
  • 周末: 不处理任何审核
  • 加速审核: 可用于紧急bug修复(必须通过App Store Connect提出请求)

专业提示: 提交早在周一至周二(周末避免延迟)。周一提交通常在周三被审核。

App Store Connect 状态您将看到

  • 准备提交: Your build or metadata is still being prepared
  • 等待审核: Apple has your submission in queue
  • 苹果正在处理: The review team is actively checking the app
  • 审核中: Approved, but waiting for your manual release choice
  • 已通过, 等待发布: Rejected / Unresolved Issues

被拒绝或存在问题

  • : Apple needs changes before approval苹果需要修改才能通过审查
  • 关闭测试门槛: 对于受影响的新个人Play Console帐户,需要至少14天才能申请生产访问
  • 生产审核: 关闭测试门槛完成后通常需要另外3-7天
  • 现有应用程序更新: 1-3天
  • 政策违规: 如果触发了额外的审查,则可能延长至14+天

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

Apple开发者帐户设置

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

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

Apple Developer Program注册页面

继续Apple注册在Web上

选择正确的 Apple 开发者实体类型

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

Android 测试要求

这是 Android 首次发布者最容易忽视的变化:

新个人 Android 帐户的 12 个测试者要求

如果您的 Google Play 开发者帐户是 个人帐户,创建于 2023 年 11 月 13 日之后,则必须完成一个封闭测试周期才能将应用程序推送到生产环境:

需求:

  • 最少 12 名测试者: 您必须招募至少 12 名同意测试的测试者
  • 14 天测试期: 应用程序必须在 Google Play Console 中保持至少 14 天的封闭测试
  • 生产访问申请: 测试期结束后,您仍需要在 Play Console 中申请生产访问
  • 反馈收集: 您应该记录发现的问题、修复的内容以及测试者如何使用应用程序

如何设置您的测试跟踪

  1. 创建封闭测试跟踪

    • 前往 Google Play Console
    • 前往测试和发布 > 测试 > 关闭测试
    • 在关闭测试轨道上创建一个新版本
    • 上传您的Android App Bundle (.aab)
  2. 招募您的测试者

    找到测试者的地方:

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

    重要:确保测试者:

    • 拥有有效的Gmail账户
    • 实际使用Android设备
    • 在整个14天的期限内保持已选中
  3. 邀请测试者

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

    • 在Play Console中检查安装数量
    • 跟踪崩溃报告和ANR(应用程序未响应)
    • 从测试者收集反馈
    • 修复任何严重问题之前发布
  5. 发布到生产环境

    • 14天后,12+测试者同意参与
    • 从Play Console控制台申请生产权限
    • 查看所有崩溃报告和反馈
    • 创建生产版本并提交最终审查

为什么Google实施了这个

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

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

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

Authentication and Login Requirements

认证和登录要求

One of the most common rejection reasons is improper implementation of authentication systems, especially social login.

最常见的拒绝原因是认证系统的不当实施,尤其是社交登录。The Apple Sign-In Requirement (Critical for iOS) Apple的签名要求(iOS关键) Apple’s Rule

:如果您的应用程序提供任何第三方社交登录选项(Google、Facebook、Twitter等),:

  • must
  • 也必须提供Apple Sign-in选项。这个规则适用于所有第三方登录选项,包括Google Sign-In、Facebook Login等。
  • Twitter/X 登录
  • LinkedIn 登录
  • 任何其他第三方认证服务

这不适用于:

  • 仅电子邮件/密码认证
  • 政府身份系统
  • 企业 SSO 系统(当应用程序是为该特定企业开发的时)
  • 教育提供者认证系统

实现 Sign in with Apple

如果您正在使用社交登录,以下是您需要实现的内容:

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);
  }
}

重要考虑:

  1. 电子邮件隐私: 用户可以选择隐藏他们的电子邮件。苹果提供了一个私有的中继电子邮件(例如, abc123@privaterelay.appleid.com。您的应用程序必须处理此情况。

  2. 首次登录用户 vsReturning用户: 苹果只在第一次授权时提供用户详细信息(姓名、电子邮件)。存储此信息,因为随后的登录不会包含它。

  3. 按钮设计: 苹果为 Sign in with Apple 按钮提供了严格的设计指南。使用他们的官方资产。

  4. 后端验证: 总是在您的后端服务器上验证身份令牌,不要信任客户端令牌。

Android 社交登录要求

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

Google Sign-In 要求:

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

跨平台最佳实践:

  • 在两种平台上提供相同的登录选项以保持一致性:
  • 电子邮件/密码
  • 使用Apple登录(仅限iOS,或者在Android上支持基于Web的Apple登录)
  • 使用Google登录

其他社交选项(Facebook,Twitter等)

演示账户要求对于审查至关重要 如果您的应用程序需要登录,您 在 App Review Notes 中提供可用的 demo 凭证。

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

常见错误:

  • 提供过期凭证
  • demo 账户无法访问所有功能
  • 未说明如何绕过手机验证
  • 忘记提及沙盒支付细节

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

隐私政策要求

您的隐私政策必须:

  1. 公开可访问

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

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

    • 从设置或帐户屏幕可访问
    • 必须在菜单中不被埋葬的单击即可访问
    • 应在默认浏览器或应用程序浏览器中打开

您的隐私政策存放地点

选项 1:您的网站 (推荐)

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

选项 2:GitHub页面 (免费)

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

选项 3:隐私政策生成器 (快速启动)

重要:虽然生成器适合用于起始,但确保政策准确反映您的实际数据实践。

不一定总是强制性的,但拥有条款和条件是非常推荐的,并且如果:

您提供应用内购买或订阅

  • 您有用户生成的内容
  • 您提供任何服务超出基本应用功能
  • 您想获得法律保护
  • 必须包含

适用性政策:

  • Acceptable use policy
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_1__
  • __CAPGO_KEEP_2__
  • __CAPGO_KEEP_3__
  • __CAPGO_KEEP_4__

内购实施

// 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 页面上显示
  • 添加一个包含用户联系信息的支持网址
  • 在提交前完成年龄评级问卷

Android - Google Play 控制台:

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

隐私营养标签(iOS)

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

您必须申报的类别:

  • 联系信息: 电子邮件、姓名、电话号码
  • 财务信息: 支付信息, 信用卡, 银行账户
  • 位置: 精确或粗略位置
  • 用户内容: 照片, 视频, 音频, 消息
  • 标识符: 用户 ID, 设备 ID, 广告 ID
  • 使用数据: 产品交互, 广告数据, 故障日志
  • 诊断: 故障数据, 性能数据

每种数据类型都指定:

  • Whether it’s collected
  • Whether it’s linked to user identity
  • Whether it’s used for tracking
  • The purpose of collection

Common Mistake:说你不收集数据时,你的分析SDK已经在收集了。检查所有第三方 SDK 的数据收集情况。

Google Play Data Safety Section

与 iOS 类似,Android 需要一个数据安全声明:

Steps:

  1. 前往 Play Console > App 内容 > 数据安全
  2. 回答有关数据收集的问题
  3. 指定收集的数据类型
  4. 说明安全实践(加密等)
  5. 提供隐私政策链接

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

常见第一次拒绝原因

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

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

为什么会发生这种情况:

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

How to Prevent:

// 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. 欺骗性或误导性元数据

为什么会发生:

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

不良元数据的例子:

BAD:

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

GOOD:

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

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

为什么会发生这种情况:

  • 忽略所需的 14 天测试周期
  • Not recruiting enough tester
  • 测试者并没有实际使用该应用
  • 测试期间没有监控崩溃

防止:

  • 在计划发布前 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 专用要求

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 应用程序
  • 支持链接: 必填项,应指向实际联系方式
  • 年龄等级: 完成问卷以便发布应用
  • 应用评审信息: 添加评审联系方式,登录所需的工作演示凭据以及评审团的清晰说明
  • 出口控制: 回答加密问题,或设置 ITSAppUsesNonExemptEncryptionInfo.plist 当适当时

以免每次上传都重复相同的答案

TestFlight Before App Review

  • 在 TestFlight 中安装精确的构建
  • 使用您打算提供的审阅账户登录
  • 走过购买、恢复和取消的流程
  • 确认审阅者可以无需隐藏设置就访问关键功能
  • 在 iPhone 和 iPad 上测试,如果都支持的话

要求:

  • 15-30 秒的长度
  • 必须显示实际应用的画面
  • 可以包含简短的文本叠加
  • 不包含版权问题的音乐
  • 与截图相同的分辨率

使用 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 Console 账户和应用壳存在:

  • 创建开发者账户在 Play Console signup
  • 在 Play Console 中,转到 Home > Create app
  • 选择默认语言、应用/游戏类型和支持邮箱
  • 接受所需的 Play 政策、导出和 Play App Signing 声明
  • 决定应用是否 免费收费

重要: Google 让您将付费应用程序转换为免费应用程序,但一旦应用程序被免费提供,则无法切换为付费应用程序。

App Bundle 要求

重要: Google Play 需要 Android App Bundle (.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) 或更高。

在 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 分钟
  • 确定年龄评级(每个人,青少年,成年人等)
  • 在内容发生变化时影响答案的方式更新它

所涵盖的主题:

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

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

应用商店列表要求

必需资产:

  • 应用图标 (512 x 512 PNG)
  • 功能图标 (1024 x 500 JPG 或 PNG)
  • 手机截图(最少2张,最大8张)
  • 7寸平板截图(可选但建议)
  • 10寸平板截图(可选但建议)

描述要求:

  • 简要描述(80个字符以内)
  • 详细描述(4000个字符以内)
  • 必须准确描述应用功能
  • 不能包含联系方式或价格

提交前检查清单

在点击提交之前,仔细检查这个全面清单:

技术要求

  • 应用程序在真实设备上成功启动
  • All screenshots中的所有功能都有效
  • 截图中没有占位符或“即将推出”内容
  • 所有第三方API密钥都是生产密钥
  • 已实现网络错误处理
  • 权限请求包括清晰的说明
  • 在网络条件较差的情况下,应用程序不会崩溃
  • 测试了权限被拒绝的情况
  • 测试了最低支持的OS版本
  • 检查并修复了内存泄漏

身份验证 & 登录

  • 如果使用社交登录,Sign in with Apple (iOS)也包含在内
  • 在审阅笔记中提供了演示账户凭证
  • __CAPGO_KEEP_0__拥有所有功能的演示账户
  • __CAPGO_KEEP_0__密码重置流程正常工作
  • __CAPGO_KEEP_0__注销功能正常工作
  • __CAPGO_KEEP_0__账户删除选项可用(GDPR/CCPA要求)
  • 隐私政策公开可访问
  • 应用商店列表中添加了隐私政策URL
  • 服务条款公开可访问(如果适用)
  • 隐私政策在应用内(设置屏幕)链接
  • iOS上的隐私营养标签准确
  • Android上的数据安全部分完成
  • 所有数据收集目的解释
  • 第三方SDK数据收集披露

内容与元数据

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

iOS特定

  • 使用Apple登录(如果使用社交登录)
  • All required screenshot sizes provided
  • 如果 iPad 支持启用,已上传 iPad 真实截图
  • Info.plist 权限描述清晰
  • 已添加支持 URL,包含真实联系方式
  • 已在 App Store Connect 中添加隐私政策 URL
  • 已完成年龄评级问卷
  • 已正确回答出口控制问题
  • 已提供 App Review 联系方式和非过期试用账号
  • 目标 iOS 15.0 或更高
  • 如果 IAP:价格清晰,恢复购买按钮存在
  • 未提及 Android 或其他平台

Android Specific

  • App Bundle (.aab) 格式使用
  • 目标 API 35 或更高
  • 内容评级问卷完成
  • 功能图标上传
  • 如果您的Play控制台账户需要,则完成关闭测试(12名测试者,14天)
  • 测试期间收到的崩溃报告已审查并修复
  • 不包含对iOS或其他平台的任何引用

测试(Android 当前要求)

  • 如果您的Play账户需要关闭测试,则招募12名以上测试者
  • 关闭测试跟踪创建
  • 测试期间连续14天测试完成
  • 测试者实际使用了应用(而不是仅安装)
  • 测试期间启用崩溃监控
  • 测试中发现的关键错误修复
  • 测试人员的反馈记录

Review Notes: 需要包含什么

好的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

iOS专用Review Notes

对于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

Android专用Review Notes

对于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小时)
    • 包含更新的审查笔记,说明修复
    • 如果有帮助,请参考之前的提交

常见拒绝响应

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

回应:

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)

拒绝:‘缺少隐私政策’

Response:

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 - 最小功能性要求”

这更复杂一些。这意味着您的应用程序没有做足够的事情来值得被作为一个应用程序。 Response:

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.

发布后最佳实践

恭喜!您的应用程序已通过审批。以下是如何维持该状态的方法:

发布后监控

需要关注的关键指标:

  • 崩溃率(保持在 1% 以下)
  • ANR 率(Android - 保持在 0.5% 以下)
  • 应用商店/Google Play 商店评分
  • 评论内容(回复所有评论)
  • 用户报告的 bug

工具使用:

  • Firebase Crashlytics
  • App Store Connect 分析
  • Google Play Console Vitals
  • Sentry 或类似错误跟踪

更新指南

当提交更新时:

  • 像初次提交一样彻底测试
  • 如果 UI 变化显著,更新截图
  • 如果数据收集发生变化,更新隐私标签
  • 提供清晰的“新功能”描述
  • 考虑对重大变化进行分阶段发布

保持合规

年度要求:

  • 每年更新安卓内容评级(必填)
  • 如果实践发生变化,更新隐私政策
  • 如果内容发生变化,审查和更新年龄评级
  • 审查第三方 SDKs 以确保合规

持续监控:

  • 跟踪指南变化
  • 加入苹果/谷歌开发者新闻简报
  • 参与开发者社区
  • 遵循 App Store/Play Store 政策博客

资源和进一步阅读

官方文档

Apple:

Google:

社区资源

隐私政策工具

__CAPGO_KEEP_0__

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

如果您感到沮丧或想专家指导确保您的应用程序在第一次尝试通过审查,我们就在这里帮助! 与我们的团队预约电话会议

  • 为以下内容提供个人化帮助:
  • App Store 和 Play Store 审核准备
  • 隐私政策和法律文档审查
  • Sign in with Apple 实现
  • 测试策略和测试者招募
  • 审查笔记准备
  • 拒绝响应和申诉

完整应用程序提交流程

结论

提交第一款应用可能令人望而却步,但经过适当的准备,你可以在第一次尝试中通过审查。记住这些关键点:

  1. 早做准备: 尤其是对于 Android - 在计划发布前至少 3 周内招募 12 名测试者
  2. 隐私优先: 确保你的隐私政策已经准备好,并准确反映你的数据实践
  3. Apple 登录: 如果你使用任何社交登录,必须在 iOS 上包含 Sign in with Apple
  4. 彻底测试: 在真实设备上测试,网络环境差,权限被拒绝
  5. 诚实: 准确的元数据和隐私披露可以避免被拒绝和法律问题
  6. 详细审查笔记: 帮助审查员快速了解您的应用

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

好运气!如果您被拒绝了,那也是一次学习的机会。大多数成功的应用都经过了多轮审查才能获得批准

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


需要帮助在您的应用获得批准后实施实时更新?查看 Capgo的实时更新解决方案 无需应用商店审查即可实现应用更新的平滑体验

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

如果您正在使用 2026 年首次移动应用程序评审指南 - iOS 和 Android 为计划安全性和合规性,连接它 加密 加密的实施细节 合规 合规的实施细节 Capgo 安全扫描器 Capgo 安全扫描器的产品工作流程 Capgo 安全 Capgo 安全的产品工作流程 Capgo 信任中心 Capgo 信任中心的产品工作流程

实时更新Capacitor应用

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

立即开始

博客最新文章

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