GDPR IAB 支持

根据 Google 欧盟地区用户意见征求 政策,您必须 向欧洲经济区 (EEA) 内的用户披露某些信息, 与英国用户签订协议,并就使用 Cookie 或其他本地存储方式征得用户同意; 以及使用个人数据(如 AdID)来投放广告。 此政策反映了欧盟《电子隐私指令》和 一般数据保护条例 (GDPR)。

本指南概述了支持 GDPR IAB TCF v2 消息所需执行的步骤, 是 UMP SDK 的一部分。它旨在与获取 开始,其中概述了 让您的应用通过 UMP SDK 运行,以及设置 消息。以下指南仅适用于 GDPR IAB TCF v2 消息。对于 请参阅 IAB 要求对欧盟地区用户意见征求消息的影响

前提条件

GDPR 要求 用户撤消同意 允许用户随时撤回同意声明。请参阅 隐私设置选项 实现一种供用户撤销其意见选择的方式。

设置 tagForUnderAgeOfConsent (TFUA) 以指示 用户未达到同意年龄。在以下情况下未请求用户同意: TFUA 设置为 true。适合所有年龄段的受众群体的应用应为儿童设置此参数 确保未征求用户意见。

Swift

// Create a UMPRequestParameters object.
let parameters = UMPRequestParameters()
// Indicate the user is under age of consent.
parameters.tagForUnderAgeOfConsent = true

// Request an update for the consent information.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(with: parameters) {
  [weak self] requestConsentError in
  guard let self else { return }

  // ...
}

Objective-C

// Create a UMPRequestParameters object.
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
// Indicate the user is under age of consent.
parameters.tagForUnderAgeOfConsent = YES;

// Request an update for the consent information.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
        completionHandler:^(NSError *_Nullable requestConsentError) {
          // ...
        }];

中介

按照 将广告合作伙伴添加到已发布的 GDPR 消息 ,将您的中介合作伙伴添加到广告合作伙伴列表中。否则, 会导致合作伙伴无法在您的应用中投放广告。

中介合作伙伴可能还有额外的工具来帮助您遵守 GDPR 合规性。查看特定合作伙伴的集成 指南

在收集到 GDPR 意见征求数据后,您便可以从本地 存储 TCF v2 规范IABTCF_PurposeConsents 键表示已针对以下各项 TCF 用途

以下代码段展示了如何针对用途 1 检查用户同意情况:

Swift

// Example value: "1111111111"
let purposeConsents = UserDefaults.standard.string(forKey: "IABTCF_PurposeConsents")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
let hasConsentForPurposeOne = purposeConsents?.first == "1"

Objective-C

// Example value: "1111111111"
NSString *purposeConsents = [NSUserDefaults.standardUserDefaults
                             stringForKey:@"IABTCF_PurposeConsents"];
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
BOOL hasConsentForPurposeOne = [purposeConsents hasPrefix:@"1"];

常见问题解答

如果我不采取任何行动来满足 针对在欧洲经济区 (EEA) 和英国投放广告的意见征求管理平台要求

自 2024 年 1 月 16 日起,如果合作伙伴未采用 经 Google 认证的 CMP, 仅限 受限广告 可以面向欧洲经济区 (EEA) 和英国的流量投放。

我们将于 2024 年 1 月 16 日开始对一小部分欧洲经济区 (EEA) 和英国实施相关要求 流量在 Google 针对欧洲经济区 (EEA) 和英国的所有流量强制执行之前,会不断增加 。在 1 月 16 日之前部署经过认证的 CMP; ,以确保你的创收不受影响。

如何检查用户是否同意?

用户同意并非由一点点表示,而是一组用途和 IAB TCF 规范中定义的供应商。请参阅 意见征求政策:个性化和非个性化广告 了解 Google Ads 个性化条件

此外,Google 的 广告技术提供商 (ATP) 名单中未注册的 TCF 供应商列表的使用 Google 的“更多意见征求方式”技术规范 。Google 发布未向 IAB 注册的广告技术提供商名单 及其 ID: https://storage.googleapis.com/tcfac/additional-consent-providers.csv.

若要调试单个广告请求,请使用 高级广告单元调试 功能导出广告请求字符串。然后查找 以下查询参数:

查询参数 含义
gdpr GDPR 是否适用于此广告请求。
gdpr_consent TC 字符串。IAB 提供了一个网络工具 解码值。
addtl_consent Google 的“更多意见征求方式”技术规范中的 AC 字符串。 Google 的“更多意见征求方式”技术规范中的 AC 字符串。

若要以程序化方式读取意见征求选项,请参阅 如何解读意见征求选项

我是否需要使用 Google 的 UMP SDK 才能符合 CMP 要求?

不需要,您可以使用 经 Google 认证的 CMP 名单 投放广告。

即使用户已同意,我该如何使用 UMP SDK 再次显示用户意见征求表单?

如果用户已针对意见征求做出决定,Google 的意见征求管理机制 解决方案在 TC 字符串过期之前不会请求征求新的用户意见 否则就会失效

GDPR 要求修改用户意见征求设置,以允许用户撤销其同意 选择。请参阅 隐私设置选项 实现一种供用户撤销其意见选择的方式。要显示 用户意见征求表单,请调用 presentPrivacyOptionsFormFromViewController:completionHandler:

我集成了经 Google 认证的 CMP,但我没有看到向中介合作伙伴发出任何广告请求,即使用户已表示同意也是如此。为何要做这样的改动?

根据 TCF,Google 会检查广告技术提供商和其他程序化交易, 需求来源未违反 Google 政策,且至少有一个法律依据 处理数据,然后再将其添加到中介广告瀑布流中。 前往 中介 部分。

以下国家/地区的部分中介合作伙伴: Google 的广告技术提供商 (ATP) 列表 尚未在 TCF 供应商列表中注册。 这些合作伙伴会改用 Google 的“更多意见征求方式”技术规范 。Google 发布广告技术提供商名单 未在下列位置向 IAB 注册及其 ID: https://storage.googleapis.com/tcfac/additional-consent-providers.csv

UMP SDK 支持存储 ACString,让您能够 向已发布的 GDPR 消息添加广告合作伙伴 而无需了解合作伙伴是否已注册 TCF。使用 第三方 CMP,您应执行以下操作:

  1. 确认第三方 CMP 支持存储 ACString。
  2. 在广告技术列表中添加每个中介合作伙伴 供第三方 CMP 用于征求用户意见的提供商。
如果用户不同意,我可以更改应用的运行方式吗?政策是否允许这么做?

发布商可以读取其应用中的 IAB TCF 字符串。请参阅 如何解读意见征求选项 了解如何以程序化方式读取意见征求选项。发布商 应审查自己根据相关法规和法律 法律顾问。

当我选择管理选项并同意所有用途时,看不到任何广告?为何要做这样的改动?

除了就用途征得用户同意之外,您还需要征求供应商的意见 同意。若要实现任何用途,都必须征得用户同意和供应商同意 供应商(例如 Google)来投放适当的广告。

向同一用户同时显示 iOS ATT 提醒和 GDPR 意见征求消息的最佳做法是什么?

我们建议您先显示 GDPR 用户意见征求消息和 iOS ATT 提醒 如果用户同意接受 GDPR 消息,则显示第二行。此问题已由 UMP SDK 处理 如果您在 AdMob 界面中配置了这两条消息。 请参阅 您的用户将看到哪一条消息

如果您没有使用 UMP SDK 显示 ATT 提醒,建议您 在收集到 GDPR 用户意见后读取用户意见选项 以确定是否显示 iOS ATT 提醒。

如何为已同意使用版本 1 的用户实现 AC 字符串版本 2?

检查本地存储空间中的 IABTCF_AddtlConsent 键(按 Google 的“更多意见征求方式”技术规范 以确定用户是否同意使用 AC 字符串版本 2, 再次显示用户意见征求表单

Swift

// Example value: "2~1.35.41.101~dv.9.21.81"
let additionalConsent = UserDefaults.standard.string(forKey: "IABTCF_AddtlConsent")
// Index 0 contains information about the specification version number.
let isACVersion2 = additionalConsent?.first == "2"

Objective-C

// Example value: "2~1.35.41.101~dv.9.21.81"
NSString *additionalConsent = [NSUserDefaults.standardUserDefaults
                        stringForKey:@"IABTCF_AddtlConsent"];
// Index 0 contains information about the specification version number.
BOOL isACVersion2 = [additionalConsent hasPrefix:@"2"];