跳至内容
WebViewGold 从 Vibe Coding 到 App Store
中文
获取 WebViewGold

App Store 审核被拒

准则 5.1.2(Data Use and Sharing):跟踪、App Tracking Transparency 与第三方 SDK

5.1.2 拒审是说应用以用户从未同意的方式使用或共享了数据,最常见的是没有 App Tracking Transparency 提示就跨应用和网站进行跟踪。在 Web 封装应用中,罪魁祸首是广告 SDK 和营销像素,解决办法是让提示、标签和脚本三者保持一致。

每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。

  • 审核通过保证 – 否则 14 天内退款
  • 无需编程
  • 一次性付费,免费更新
  • 7×24 小时人工支持
  • 2014 年起德国出品 · ISO 27001

5.1.2 说了什么

应用收集的数据只能用于已告知用户的目的;与第三方共享数据需要披露,如果属于跟踪,还需要通过 App Tracking Transparency 框架获得明确许可。跟踪是指为了广告或效果衡量,把您应用中的用户或设备数据与其他公司的应用和网站数据关联起来,或者把这些数据共享给数据经纪商。应用不得通过设备指纹或其他标识符绕过用户的拒绝。

审核人员通过两种方式发现跟踪:二进制文件中包含广告或归因 SDK(每个 WebViewGold 构建版本中都有 AdMob,无论是否启用);以及 App Privacy 部分写着“设备 ID,用于跟踪”,却从未出现过 ATT 提示,或者反过来。Web 应用加载的营销像素(Meta Pixel、TikTok、Google Ads 代码)同样算数,因为它们运行在您的应用里。

Web 封装应用中哪些行为算跟踪

个性化广告(AdMob、Audience Network)

使用广告标识符和跨应用数据。属于跟踪;需要 ATT 提示和对应标签。

Web 应用中的营销像素

Meta Pixel、TikTok 和 Google Ads 转化代码会把您的用户与广告网络的用户画像关联起来。属于跟踪;只在用户同意后加载,或者干脆不在应用中加载。

第一方分析

部署在您自己域名上的 Plausible、PostHog,或关闭了广告功能的 GA4:属于使用数据,一般不算跟踪。将其申报为使用数据。

推送和购买

OneSignal token 和 RevenueCat 收据是为您自己的功能收集的数据,不算跟踪。在标签中申报即可,无需 ATT。

让提示、标签和脚本保持一致

  1. 先决定是否真的需要跟踪

    大多数 Vibe Coding 应用都不需要。如果应用内没有广告也没有营销像素,就在 App Privacy 中回答“不跟踪”,保留跟踪用途说明(WebViewGold 项目必需;删除它会导致应用崩溃)并写上中性的文本,然后就可以继续了。

  2. 如果使用 AdMob:让 WebViewGold 处理 ATT

    在 Config.swift 中启用广告(showBannerAd、showFullScreenAd、enableRewardedAds、AdMob ID,以及 Info.plist 中的 GADApplicationIdentifier)。跟踪提示以原生方式显示;用 ATTDeniedShowAds 决定用户拒绝后是否完全停止展示广告。详见AdMob 文档和带广告 Web 应用的 ATT 指南。

  3. 在 Web 应用中读取用户的选择

    调用 user-disable-tracking://,并读取 WebViewGold 注入的 trackingDisabled 变量(User Tracking Decision API)。当它为 true 时,不要加载像素,也不要把用户 ID 发送给广告平台。在 iOS 上,如果页面会触发多个 API,可以用 multiapicall:// 合并调用。

  4. 如实回答广告标识符问题

    App Store Connect 会询问应用是否使用广告标识符。WebViewGold 文档说明了嵌入 AdMob 时的推荐答法,包括您完全不展示广告的情况。

  5. 填写标签

    有广告:设备 ID 和广告数据,用于跟踪。没有广告:不跟踪,并且只申报您的 Web 应用真正收集的使用数据和联系数据。在隐私政策中补充您使用的广告合作伙伴。

出色的工作!无需任何编码就能轻松完成。简单快捷!创作者也提供了大力帮助!

卢卡斯·杜波依斯(Lucas Dubois) · CodeCanyon

在 JavaScript 中尊重用户的选择

javascript
// Ask WebViewGold for the ATT decision, then decide what to load
function initTracking() {
  window.location.href = "user-disable-tracking://";
  setTimeout(function () {
    if (typeof trackingDisabled !== "undefined" && trackingDisabled === true) {
      return; // denied: no Meta Pixel, no ads personalization, no cross-app IDs
    }
    loadMarketingScripts(); // only when tracking is allowed
  }, 500);
}
// Several API calls on one page? multiapicall://user-disable-tracking,getappversion

SDK 与脚本一览

组件需要 ATT 提示吗?隐私标签
AdMob 个性化广告是设备 ID、广告数据:跟踪
Meta Pixel、TikTok、Google Ads 代码是标识符、使用数据:跟踪
未启用广告功能的 GA4否使用数据
Plausible、PostHog(自有域名)否使用数据
OneSignal、Pushwoosh、Firebase 推送否标识符(推送 token)

常见问题

我的应用不展示广告。Apple 为什么还要问跟踪的事?

因为 AdMob SDK 是 WebViewGold 构建版本的一部分,而且您的 Web 应用可能会加载像素。如果没有跟踪就申报不跟踪,保留用途说明键,审核就能通过。

我网站上的 Meta Pixel 在应用里也算吗?

算。在 WebView 中运行的脚本就是应用的一部分。要么根据 trackingDisabled 变量和同意页面来控制它们,要么在检测到应用的 user agent 时不加载它们。

我能从 JavaScript 显示 ATT 提示吗?

该提示由应用以原生方式显示。WebViewGold 在 iOS 端处理它;您的 Web 应用通过 User Tracking Decision API 读取结果。

让您的应用上架商店的三种方式

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。

自己动手

$109 每个平台,一次性付费

WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。

在主页查看方案

Cloud Builder

$349 每个许可证,一次性附加购买

无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。

Cloud Builder 如何运作 试用免费演示

Full Service

$698 每个平台 $798

把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。

Full Service 详情 服务提供方: WeSetupYourWebViewApp

冬季特惠价格有效期至 2026年12月31日。

准备好发布您的应用了吗?

App Store & Google Play 审核通过保证 – 否则 14 天内退款

想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。

退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。