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

隐私与广告

Web 封装应用的 App Tracking Transparency:何时需要弹窗,以及 WebViewGold 如何处理

如果您的应用展示 AdMob 或 Meta 广告,或者向跨应用匹配用户的广告网络发送数据,iOS 要求在发生任何跟踪之前显示 App Tracking Transparency 弹窗。WebViewGold 会显示该弹窗,保留 Apple 要求的 Info.plist 键,并把用户的决定告诉您的 Web 应用。下面是完整的情况,包括 Google Play 方面。

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

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

什么算作跟踪

Apple 对跟踪的定义是:把在您的应用中收集的用户或设备数据,与其他公司的应用和网站收集的数据关联起来,用于定向广告或广告效果衡量,或者把这些数据分享给数据经纪商。个性化 AdMob 广告、Meta Audience Network、通过 Meta 或 TikTok SDK 进行的安装归因、归因平台,以及与广告网络共享哈希处理后的邮箱,都属于跟踪。您自己的分析、用于您自身功能的 Supabase 或 Firebase 数据、防欺诈,以及情境(非个性化)广告则不属于。

准则 5.1.2 把这些串联在一起:跟踪需要系统的 ATT 弹窗,应用必须尊重“拒绝”,不得以同意为条件限制功能,App Privacy 的回答也必须一致。WebViewGold 中的原生广告 SDK 正是围绕这一点构建的:AdMob 只有在用户允许时才读取广告标识符,否则就投放非个性化广告。

您需要弹窗吗?

您的设置ATT 弹窗说明
通过 WebViewGold 展示的 AdMob 横幅、插页式或激励广告需要Google Mobile Ads SDK 使用 IDFA 投放个性化广告;请显示弹窗并申报广告数据
通过 WebViewGold 展示的 Meta Audience Network 广告需要Meta 要求在 iOS 上投放个性化广告时显示弹窗
用 Facebook 或 Instagram 广告推广应用,并使用 Meta SDK 进行安装归因需要跨应用归因按定义就是跟踪
WebView 中的网页广告脚本(AdSense),useAdsenseAds灰色地带;保守的答案是需要广告脚本会使用 Cookie 跨网站投放兴趣广告;无论如何都请申报广告数据
没有广告,没有归因 SDK,只有第一方分析不需要仍然保留 Info.plist 中的跟踪键(WebViewGold 需要它),并在 App Privacy 中回答“无跟踪”

WebViewGold 中的工作方式

一条权限说明,一个弹窗,一个 JavaScript 变量。

  1. 撰写用途说明

    Info.plist 中包含“Privacy - Tracking Usage Description”(NSUserTrackingUsageDescription)。把占位文本替换为用户能看懂的一句话,例如“我们用它为您展示相关广告,让应用得以保持免费。”不要删除这个键:WebViewGold 发布文档指出它是必需的,删除会导致应用崩溃。

  2. 让系统弹窗出现

    WebViewGold 会在首次运行时请求跟踪授权,因此用户会看到 Apple 的标准对话框和您的用途说明。您可以在它之前显示自己的简短说明页面,只要它不模仿系统对话框,也不为点击“允许”提供奖励。

  3. 在 Web 应用中读取用户的决定

    跳转到 user-disable-tracking://;当跟踪被拒绝时,WebViewGold 会把 window.trackingDisabled 设为 true,被允许时设为 false。在 iOS 上,您可以通过 multiapicall://user-disable-tracking,getappversion 把它与其他调用组合在一起。文档:User Tracking Decision API。

  4. 应对“拒绝”

    加载非个性化广告或者不加载广告脚本,跳过像素和归因调用。对于原生 AdMob 广告,由 Config.swift 中的 ATTDeniedShowAds 决定:false 表示跟踪被拒绝时完全不展示广告,true 表示继续展示非个性化广告。保持 askForAdConsent 开启,让 Google 的同意表单处理欧盟和英国用户(Android 上为 ASK_FOR_AD_CONSENT)。

  5. Android:没有 ATT,但需要申报

    Android 上没有系统跟踪弹窗。取而代之的是,您需要在数据安全表单中申报广告 ID,尊重用户的“删除广告 ID”设置(SDK 会处理),并依靠同一个 Google 同意表单来满足各地区的同意要求。

在过去5年我们尝试过的所有应用平台中,WebViewGold为我们带来了有史以来最短、最高效的上市时间。我不知道为什么没有更早发现你们,但我真的非常满意。目前我们的应用在iOS App Store和Google Play商店的下载量已超过6000次,没有任何问题!

安东尼奥·达维拉 · CodeCanyon

在 JavaScript 中读取跟踪决定

在加载任何广告或像素脚本之前,每次会话调用一次。应用会在跳转后不久设置该变量。

javascript
const isIOSApp = /WebViewGoldApp/.test(navigator.userAgent) && /iPhone|iPad/.test(navigator.userAgent);

function withTrackingDecision(callback) {
  if (!isIOSApp) { callback(false); return; }            // Web 和 Android:改用您的 Cookie 同意机制
  window.location.href = "user-disable-tracking://";     // WebViewGold 会设置 window.trackingDisabled
  setTimeout(() => callback(window.trackingDisabled === true), 500);
}

withTrackingDecision((denied) => {
  if (denied) {
    loadContextualAdsOnly();        // 无个性化广告、无像素、无归因调用
  } else {
    loadAdsAndPixels();
  }
});

隐私标签和商店申报

  • App Privacy(Apple):有广告时,在“用于跟踪您的数据”下申报“广告数据”和“设备 ID”。没有广告时,即使收集了分析数据,也没有任何数据用于跟踪。
  • 上传时的 IDFA 问题(“此应用是否使用广告标识符?”):即使关闭了广告,AdMob SDK 也是 WebViewGold 的一部分,所以发布文档建议回答“是”;不投放广告时只勾选“将此应用的安装归因于之前投放的广告”,投放广告时再加上勾选“在应用内投放广告”。
  • Google Play 数据安全:启用 AdMob 时,申报为广告目的收集并共享“设备或其他 ID”;广告声明(“您的应用是否包含广告?”)设为“是”;广告 ID 权限由 SDK 添加,必须与您的表单一致。
  • 隐私政策:列出各个广告网络,解释个性化与非个性化广告的区别,并链接到退出机制。隐私指南提供了结构参考。
  • 家庭或儿童应用:不允许向儿童显示 ATT 弹窗,广告必须经过面向儿童的认证,并适用 Play 家庭政策。

如果您不展示广告

大多数 Vibe Coding 应用都不展示广告。那么清单就很短:在 Config.swift 中保持 showBannerAd 和 showFullScreenAd 关闭(Config.java 中的对应选项也一样),保留跟踪用途键并写一句中性的说明,按照发布文档的描述回答 IDFA 问题,在 App Privacy 中申报无跟踪,在数据安全表单中申报无广告。如果以后添加广告,就需要一次商店更新和新的隐私答案,而且现有用户在首次启动新版本时会开始看到弹窗。

常见问题

Google Analytics 或 Firebase Analytics 需要 ATT 弹窗吗?

本身不需要。用于您自己产品的分析不属于 Apple 定义的跟踪。当这些数据为了定向或归因而与广告网络关联时(例如 Google Ads 转化关联),它就变成了跟踪。

我可以在系统弹窗出现之前解释原因吗?

可以。在您的 Web 应用中用一个简短的页面解释好处是允许的。它不能看起来像系统对话框,不能为允许提供奖励,也不能在用户拒绝时阻止其使用应用。

弹窗被拒绝会让 AdMob 失效吗?

不会。AdMob 会投放非个性化广告,收益通常较低。ATTDeniedShowAds 让您可以在非个性化广告和完全不展示广告之间做出选择。

Android 上对应的是什么?

没有系统弹窗。Android 依靠数据安全表单中的广告 ID 申报、用户的广告 ID 设置,以及在有要求的地区使用的同意表单。

我的网站也需要 ATT 吗?

不需要。ATT 是 iOS 应用的概念。您的网站遵循的是 Cookie 和同意方面的法律。

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

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 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 天内提出申请。