ARCore 中文文档 下载 App

App Store AR 应用审核注意事项

App Store 与 Google Play 的关键差异

维度Google PlayApp Store
审核速度自动为主,人工抽检(几小时 ~ 几天)全人工审核(1~2 周)
规则严格度相对宽松严格,有专门的 AR 审核条款
隐私政策强制但相对简单强制且要求非常详细(App Privacy 标签)
AR 特有要求无专门规则有专门的 AR 指南(App Review Guideline 4.5)
崩溃容忍可以有少量崩溃崩溃 = 直接拒

App Review Guideline 4.5:AR 应用专项规则

Apple 在 App Review Guideline 中有专门的一节讲 AR 应用:

规则 4.5.1:AR 体验必须有意义

AR 体验必须有用或有娱乐性,不能只是空壳。

规则 4.5.2:不能冒充现实

不能创建让用户误以为是现实的 AR 体验,尤其是涉及金融、法律、医疗等领域。

规则 4.5.3:设备兼容声明

必须在产品页面明确说明哪些设备支持你的 AR 功能。

规则 4.5.4:不能滥用 AR 权限

摄像头权限请求前必须说明用途,不能拒绝权限请求后无法使用应用。

App Privacy 标签:最严苛的部分

App Privacy 是 Apple 要求每个 App 必须填写的隐私声明——显示在 App Store 产品页上,用户下载前就能看到。ARCore 应用必须如实填写:

数据收集声明示例

数据类型用途是否上传
摄像头创建 AR 体验是(Cloud Anchors / Geospatial API 需要)
位置信息Geospatial API / VPS是
设备信息ARCore 设备兼容性检测是

Apple 特别关注的点

如果你的应用上传摄像头画面到 Google Cloud(Cloud Anchors / Geospatial API):

  • 必须在 App Privacy 标签中声明"Camera data is collected and sent to Google Cloud for AR feature operation"
  • 必须解释为什么需要上传("用于 Cloud Anchors 多人共享功能")
  • 如果有第三方分析/追踪,也要声明

Apple 会对照你的隐私政策、Info.plist 的权限描述、实际代码行为做一致性检查——三者必须对得上。

Info.plist 权限声明(必须)

<!-- 摄像头权限:描述必须清晰,审核时会读取 -->
<key>NSCameraUsageDescription</key>
<string>使用摄像头来创建增强现实体验:扫描周围环境、识别物体、放置虚拟内容</string>

<!-- 位置权限(Geospatial API 需要) -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>使用位置信息来精确定位增强现实内容</string>

<!-- Cloud Anchors / Geospatial API 可能需要网络权限声明(某些 iOS 版本) -->

权限请求时机

Apple 要求:权限请求必须在用户明确触发相关功能时才弹出——不能一打开应用就请求摄像头权限。

// 错误:在 viewDidLoad 就请求
override fun viewDidLoad() {
    super.viewDidLoad()
    cameraManager.requestPermission()  // 用户还没点"进入 AR"就弹权限
}

// 正确:用户点了"开始 AR 体验"后才请求
@IBAction func startARButtonTapped(_ sender: Any) {
    cameraManager.requestPermission()  // 时机正确
}

跨平台 Cloud Anchors 的特别注意

iOS 上使用 ARCore Cloud Anchors 上传摄像头数据到 Google Cloud,这比普通 ARCore Session 涉及更多隐私问题。Apple 会特别关注:

  1. API Key 安全:Google Cloud API Key 不能硬编码在代码里(虽然 Info.plist 里的 GARAPIKey 是 Google 要求的)
  2. 数据流向明确:隐私政策必须说明数据从你的应用 → Google Cloud 的路径
  3. 用户同意:某些场景下需要额外的用户同意流程(比如儿童隐私合规)

被拒绝的常见原因

拒绝原因解决
Info.plist 权限描述不清晰写清楚"为什么需要"而不是模糊的"需要用摄像头"
App Privacy 标签不一致实际收集的数据和 App Privacy 声明对不上
权限请求时机错误首次启动就请求,应该等用户触发功能后
崩溃AR 功能必须在审核员的测试设备上稳定运行
AR 功能"没用"空壳 AR 体验(打开后只有摄像头,没有实际功能)会被拒
声称所有设备都支持 ARCore必须明确列出支持的 iOS 设备型号
隐私政策 URL 失效提交前检查链接可访问且内容准确

上架前检查清单(iOS 专项)