借助受限广告,即使您的用户不同意分享个人数据,应用也能投放广告。 受限广告模式会停止出于广告选择的目的收集、共享和使用个人数据。如果用户选择不分享个人数据,此功能可让广告继续投放。
本指南介绍了如何在应用中使用受限广告设置,以及如何使应用行为与 Google Ad Manager 广告资源网的全局设置保持一致。
配置客户端受限广告设置
PAL 正在更新其处理设置的方式,以更好地控制用户隐私和数据使用情况。PAL 版本 1.90.0 引入了 forceLimitedAds 属性,并弃用了现有的 allowStorage 属性。这些属性位于 ConsentSettings 类中。
从 1.90.0 版开始,PAL 会从设备读取透明度和用户意见征求框架 (TCF) 数据,以确定用户是否同意访问本地存储数据。对读取 TCF 数据的这一更改使得现有的 allowStorage 属性变得多余。您的应用仍必须在广告代码网址中传递 gdpr= 和 gdpr_consent= 参数。
如果基于 TCF 的自动确定不足以满足您的需求,请直接在应用中设置 forceLimitedAds 属性。如需了解详情,请参阅发布商集成 IAB Europe TCF。
将 forceLimitedAds 属性设置为 true 值可防止 PAL 在发送给服务器的随机数中存储或发送用户标识符。将 forceLimitedAds 属性设置为 true 值与在 IMA(互动式媒体广告)SDK 中向广告请求网址添加 ltd=1 参数的效果相同。如需详细了解受限广告,请参阅 ltd(受限广告)。
当您将 forceLimitedAds 属性设置为 true 值时,PAL 会在随机数中包含 ltd=1 参数。
为了在应用中保留当前运作机制,您可能需要更新实现方式;即使您之前没有设置过 allowStorage 属性,也需要更新。现有 allowStorage 属性的默认值为 false,这会启用受限广告。forceLimitedAds 属性的默认值为 false,不会启用受限广告。
针对 TCF 确定流程第 1 阶段的更新
PAL HTML5 第 1 阶段版本可帮助您从 ConsentSettings.allowStorage 属性过渡到基于 TCF 自动确定受限广告。
在此过渡阶段,PAL 会考虑用户的 TCF 数据、现有的 allowStorage 属性和最新的 forceLimitedAds 属性。在此阶段,您必须始终将 allowStorage 属性设置为 true 值,以便 PAL 根据 TCF 数据确定是否应用受限广告。如果您想启用受限广告,无论 TCF 确定结果如何,请将 forceLimitedAds 属性设置为 true 值。
在第 1 阶段,PAL 会在以下任一情况下启用受限广告:
allowStorage属性是false值或未设置。我们不建议为allowStorage媒体资源使用此设置,因为此设置仅用于支持尚未更新的应用。forceLimitedAds属性是一个true值。- PAL 检测到 IAB(互动广告局)TCF 用途 1 的用户意见征求未获得批准。
下表显示了所有可能的状态以及是否启用了受限广告:
| TCF 用途 1 意见征求 | allowStorage 个房源 |
forceLimitedAds 个房源 |
已启用受限广告 |
|---|---|---|---|
| 已授予 | 正确 | 正确 | 正确 |
| 未授予 | 正确 | 正确 | 正确 |
| 已授予 | 正确 | False(默认) | 错误 |
| 未授予 | 正确 | False(默认) | 正确 |
| 已授予 | False(默认) | 正确 | 正确 |
| 未授予 | False(默认) | 正确 | 正确 |
| 已授予 | False(默认) | False(默认) | 正确 |
| 未授予 | False(默认) | False(默认) | 正确 |
为第 2 阶段 TCF 确定做好准备
第 2 阶段的发布版本移除了 allowStorage 属性中的功能。我们计划在第 1 阶段发布 90 天后发布第 2 阶段,预计时间为 2026 年 3 月 10 日。在此日期之前,您必须更新实现以使用 ConsentSettings.forceLimitedAds 参数。
在第 2 阶段发布时,PAL 仅在缺少 TCF 用途 1 意见征求和可选的 ConsentSettings.forceLimitedAds 属性时启用受限广告:
| TCF 用途 1 意见征求 | forceLimitedAds 个房源 |
受限广告已启用 |
|---|---|---|
| 已授予 | 正确 | 正确 |
| 未授予 | 正确 | 正确 |
| 已授予 | False(默认) | 错误 |
| 未授予 | False(默认) | 正确 |
与 Google Ad Manager 全局设置保持一致
如果您更新了 Ad Manager 设置程序化受限广告或允许将第一方 Cookie 用于在网站中展示的广告,请使用这些新 API 来匹配 Ad Manager 中的设置。如果您不使用这些 API,PAL 可能会在广告请求中使用的随机数中包含标识符。不过,Ad Manager 可能会根据 Ad Manager 中的设置舍弃这些信号。
相应 API 如下:
disableLimitedAdsStorage- 停用仅用于检测无效流量的 Cookie,并禁止使用本地存储来投放受限广告。如果您在 Ad Manager 中更新了程序化受限广告设置(位于管理 > 全局设置中),请使用此 API 停用 PAL 中受限广告的本地存储空间使用情况。请注意,此设置不适用于非受限广告。disableFirstPartyIdentifiers- 停用用于广告选择的第一方标识符。如果您在 Ad Manager 中通过管理 > 全局设置更新了允许将第一方 Cookie 用于在网站中展示的广告设置,请使用此 API 在 PAL 中停用此类标识符。请注意,此设置不适用于使用 Cookie 和本地存储来检测无效流量。
在应用中处理用户意见征求
以下示例展示了如何在 PAL 实现中处理用户隐私和数据使用情况:
const consentSettings = new goog.pal.ConsentSettings();
consentSettings.allowStorage = true;
// During the PAL Phase 1 release, best practice is to always set the
// `allowStorage` property to a `true` value to allow PAL to automatically
// determine whether limited ads applies based on the TCF data.
// To enable limited ads regardless of the TCF determination, set the
// `forceLimitedAds` property to a `true` value.
const adManagerSettings = new goog.pal.GoogleAdManagerSettings();
// Add this line if the "Programmatic limited ads" toggle is turned off in
// Ad Manager.
adManagerSettings.disableLimitedAdsStorage = true;
// Add this line if the "First party cookies for ads on web" toggle
// is turned off in Ad Manager.
adManagerSettings.disableFirstPartyIdentifiers = true;
const nonceLoader = new goog.pal.NonceLoader(consentSettings, adManagerSettings);