定位

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

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

下载 API Demo

前提条件

完成入门指南。

GADRequestConfiguration

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

Swift

let requestConfiguration = GADMobileAds.sharedInstance().requestConfiguration

Objective-C

GADRequestConfiguration requestConfiguration = GADMobileAds.sharedInstance.requestConfiguration;

为确保所有广告请求都应用请求配置更改,请在初始化移动广告 SDK 之前设置请求配置。

面向儿童的设置

为了遵守《儿童在线隐私保护法》(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
如何将更多定位参数传递到中介广告联盟?
如需了解如何将定位信息发送到中介广告联盟,请参阅中介