Segmentación

本指南介绍如何向广告请求提供定位信息。

要查看广告定位的实际运作情况,请下载采用 Swift 或 Objective-C 的 iOS API Demo 应用。

下载 API 演示版

前提条件

通读使用入门指南。

GADRequestConfiguration

GADRequestConfiguration 对象会收集通过 GADMobileAds 共享实例在全局范围内应用的定位信息。您可使用以下代码进行访问:

Swift

let requestConfiguration = GADMobileAds.sharedInstance().requestConfiguration

Objective-C

GADRequestConfiguration requestConfiguration = GADMobileAds.sharedInstance.requestConfiguration;

面向儿童的设置

为了遵守《儿童在线隐私保护法》(COPPA) 的规定,我们提供了一项名为 tagForChildDirectedTreatment 的设置。

作为应用开发者,您可以在发出广告请求时指明是否希望 Google 将您的内容视为面向儿童的内容。如果您表明希望 Google 将您的内容视为面向儿童的内容,Google 将采取相应措施,以针对该广告请求停用针对用户兴趣投放广告和再营销广告。设置选项如下所示:

  • tagForChildDirectedTreatment 设置为 true,以表明您希望根据《儿童在线隐私保护法》(COPPA) 的规定将您的内容视为面向儿童的内容。这样可以阻止传输广告标识符 (IDFA)。
  • tagForChildDirectedTreatment 设置为 false,以表明您不希望根据《儿童在线隐私保护法》(COPPA) 的规定将您的内容视为面向儿童的内容。
  • 如果您不希望表明您想如何根据 COPPA 的规定来认定您的内容,请不要设置 tagForChildDirectedTreatment

以下示例表明您希望根据《儿童在线隐私保护法》(COPPA) 的规定将您的内容视为面向儿童的内容:

Swift

GADMobileAds.sharedInstance().requestConfiguration.tagForChildDirectedTreatment = true

Objective-C

GADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatment = @YES;

设置此标记,即表示您确认此通知准确无误,且您有权代表应用的所有者行事。您了解,滥用此设置可能会导致您的 Google 账号被终止。

您可以对广告请求进行标记,确保针对未达到同意年龄的欧洲经济区 (EEA) 用户投放的是合适的广告。这项功能旨在帮助您遵守《一般数据保护条例》(GDPR)。需要说明的是,您可能还须承担 GDPR 规定的其他法律义务。具体请查看欧盟发布的指导原则,并咨询您自己的法律顾问。请注意,Google 的工具旨在协助发布商遵守法规,并不能免除任何特定发布商按照法律要求所需承担的义务。 详细了解 GDPR 给发布商带来了哪些影响

使用此功能时,将来的所有广告请求中都会包含一个用于表示用户未达到欧洲同意年龄的标记 (TFUA) 参数。此参数会禁止针对该广告请求投放个性化广告,包括再营销广告。它还会禁止向第三方广告供应商(例如广告衡量像素和第三方广告服务器)发送请求。

通过在 GADMobileAds.requestConfiguration 对象上设置 tagForUnderAgeOfConsent 属性并传入 true,此设置可用于所有版本的 Google 移动广告 SDK。

  • tagForUnderAgeOfConsent 设置为 true,以表明您希望按适合未达到同意年龄的用户的方式处理广告请求。这也可以阻止传输广告标识符 (IDFA)。
  • 如果未设置 tagForUnderAgeOfConsent,则表示您不希望按适合未达到法定承诺年龄的用户的方式处理广告请求。

以下示例表明您希望广告请求中包含 TFUA:

Swift

GADMobileAds.sharedInstance().requestConfiguration.tagForUnderAgeOfConsent = true

Objective-C

GADMobileAds.sharedInstance.requestConfiguration.tagForUnderAgeOfConsent = @YES;

不应将用于启用面向儿童的设置的标记和 tagForUnderAgeOfConsent 同时设置为 true。如果同时设置为 true,则以“面向儿童的设置”为准。

广告内容过滤

应用可以使用 GADRequestConfigurationmaxAdContentRating 属性为所有广告请求设置广告内容分级上限。此设置适用于该会话余下部分未来的所有广告请求。此属性可能的值依数字内容标签分类而定,并应该是以下常量之一:

  • GADMaxAdContentRatingGeneral
  • GADMaxAdContentRatingParentalGuidance
  • GADMaxAdContentRatingTeen
  • GADMaxAdContentRatingMatureAudience

以下代码会配置所有广告请求,以指定返回的广告内容所对应的数字内容标签不应高于 GADMaxAdContentRatingGeneral

Swift

GADMobileAds.sharedInstance().requestConfiguration.maxAdContentRating =
    GADMaxAdContentRatingGeneral

Objective-C

GADMobileAds.sharedInstance.requestConfiguration.maxAdContentRating =
    GADMaxAdContentRatingGeneral;

发布商隐私保护处理(Beta 版)

发布商隐私权处理 (PPT) API 是一款可选工具,可让应用使用 GADRequestConfigurationpublisherPrivacyPersonalizationState 属性指示是否针对所有广告请求关闭广告个性化。使用此功能时,发布商隐私保护处理 (PPT) 参数将包含在相应会话剩余时长的所有未来广告请求中。

默认情况下,系统会向 Google 发出的广告请求投放个性化广告。以下代码会为所有广告请求关闭广告个性化功能:

Swift

GADMobileAds.sharedInstance().requestConfiguration.publisherPrivacyPersonalizationState =
    .disabled

Objective-C

GADMobileAds.sharedInstance.requestConfiguration.publisherPrivacyPersonalizationState =
    GADPublisherPrivacyPersonalizationStateDisabled;

GAMRequest

GAMRequest 对象可收集随广告请求一起发送的定位信息。

内容网址

在请求广告时,应用可以传递其正在投放的内容的网址。这样就能进行关键字定位,从而将广告与内容进行匹配。

例如,如果您的应用在显示来自 https://www.example.com 的内容时请求广告,您可以传递此网址来定位相关的关键字:

Swift

let request = GAMRequest()
request.contentURL = "https://www.example.com"

Objective-C

GAMRequest *request = [GAMRequest request];
request.contentURL = @"https://www.example.com";

自定义定位

在 Ad Manager 界面中配置键值对后,即可使用广告请求中的键值对设置自定义定位。然后,定位到这些键值对的订单项就能够针对该广告请求进行投放。如需定位一个键的多个值,请以英文逗号分隔的字符串输入值。

Swift

let request = GAMRequest()
request.customTargeting = ["gender" : "male", "section" : "health,fitness"];

Objective-C

GAMRequest *request = [GAMRequest request];
request.customTargeting = @{@"gender" : @"male", @"section" : @"health,fitness"};

品牌保障(Beta 版)

针对不同受众群体显示动态内容的应用可以通过 neighboringContentURLs 属性提供一个简短的网址列表。相邻内容网址与 contentURL 属性的不同之处在于,它们仅用于品牌保障。

假设您的应用在 Feed 中显示来自 4 个网址的内容,其中还包含广告的 Feed。您可以请求与这些网址具有相似内容分级的广告,具体传递方式如下:

Swift

let request = GAMRequest()
request.neighboringContentURLs =
    ["https://www.example1.com", "https://www.example2.com",
    "https://www.example3.com", "https://www.example4.com"]

Objective-C

GAMRequest *request = [GAMRequest request];
request.neighboringContentURLs =
    @[@"https://www.example1.com", @"https://www.example2.com",
    @"https://www.example3.com", @"https://www.example4.com"];

发布商提供的标识符 (PPID)

您可以设置发布商提供的标识符 (PPID),以用于跨设备实现频次上限、受众群细分和定位、依序广告轮播以及基于受众群体的其他广告投放控制。

PPID 的设置是通过 GAMRequest 完成的:

Swift

let request = GAMRequest()
request.publisherProvidedID = "AB123456789"

Objective-C

GAMRequest *request = [GAMRequest request];
request.publisherProvidedID = @"AB123456789";

有关 iOS API Demo 应用中发布商提供的标识符 (PPID) 的实现方式,请参阅 Ad Manager PPID 示例:

Swift Objective-C

发布商提供的信号

您可以在广告请求中将受众群体和情境数据作为发布商提供的信号 (PPS) 发送。借助 PPS,您可以利用标准分类向所有交易类型的出价方传达受众群体特征,从而使用用户数据来提升程序化变现效果,而无需共享用户标识符。您的受众群体特征可能包括行为数据和基于兴趣的数据(IAB 受众群体类目 1.1)和情境数据(IAB 内容类目 2.2)。

Swift

let extras = GADExtras()
extras.additionalParameters = [
    // Set the demographic to an audience with an "Age Range" of 30-34 and an
    // interest in mergers and acquisitions.
    "IAB_AUDIENCE_1_1": [6, 284],
    // Set the content to sedan, station wagon and SUV automotive values.
    "IAB_CONTENT_2_2": [4, 5, 6]
]

let request = GAMRequest()()
request.register(extras)

Objective-C

GADExtras *extras = [[GADExtras alloc] init];
extras.additionalParameters = @{
    // Set the demographic to an audience with an "Age Range" of 30-34 and an
    // interest in mergers and acquisitions.
    @"IAB_AUDIENCE_1_1":@[@6, @284],
    // Set the content to sedan, station wagon and SUV automotive values.
    @"IAB_CONTENT_2_2":@[@4,@5,@6]
};

GAMRequest *request = [GAMRequest request];
[request registerAdNetworkExtras:extras];

常见问题解答

广告自动刷新时,系统会使用什么定位条件?
广告刷新时,之前指定的 GAMRequest 对象会再次用于定位。如需设置新的定位条件,请使用新的 GAMRequest 对象明确调用 GAMBannerView 中的 loadRequest
如何将额外的定位参数传递到中介广告联盟?
有关如何将定位信息发送到中介广告联盟的详情,请参阅中介