Targeting

请选择平台: Android iOS Unity Flutter

本指南介绍了如何向 Google 移动广告 SDK 提供定位信息。

如需查看实际示例,请下载 Android API 演示版应用。

下载 API 演示版

前提条件

在继续操作之前,请设置 Google Mobile Ads SDK

RequestConfiguration

RequestConfiguration 用于收集在全局范围内应用于每个广告请求的定位信息。如需查看可用的定位标记,请参阅 RequestConfiguration.Builder 文档。

若要更新请求配置,请从现有配置中获取构建器,执行任何所选的更新,然后按如下所示进行设置:

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration();
MobileAds.setRequestConfiguration(requestConfiguration);

为了确保请求配置的更改能应用到所有广告请求中,请在初始化 Google Mobile Ads SDK 之前完成请求配置的设置。

面向儿童的设置

为了遵守《儿童在线隐私保护法》(COPPA) 的规定,我们提供了一项名为“面向儿童的内容”标记的设置。设置此标记,即表示您确认此通知准确无误,且您有权代表应用的所有者行事。您了解,滥用此设置可能会导致您的 Google 账号被终止。

作为应用开发者,您可以在发送广告请求时指明是否希望 Google 将您的内容视为面向儿童的内容。如果您指明要进行此类处理,我们便会采取相应措施,针对该广告请求停用针对用户兴趣投放广告和再营销广告。

您可以通过 setTagForChildDirectedTreatment() 应用面向儿童的设置:

  • 使用 TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE 调用 setTagForChildDirectedTreatment,即表明您希望根据《儿童在线隐私保护法》的规定将您的内容视为面向儿童的内容。这会阻止传输 Android 广告标识符 (AAID)

  • 使用 TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE 调用 setTagForChildDirectedTreatment,即表明您不希望根据《儿童在线隐私保护法》的规定将您的内容视为面向儿童的内容。

  • 如果您不希望在广告请求中表明您想如何根据《儿童在线隐私保护法》的规定来认定您的内容,请使用 TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED 调用 setTagForChildDirectedTreatment

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

Kotlin

val requestConfiguration =
  MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration =
    MobileAds.getRequestConfiguration().toBuilder()
        .setTagForChildDirectedTreatment(
            RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
        .build();
MobileAds.setRequestConfiguration(requestConfiguration);

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

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

与面向儿童的设置一样,RequestConfiguration.Builder 中也提供了一个用于设置 TFUA 参数的 setTagForUnderAgeOfConsent() 方法,其中包含以下选项。

  • 使用 TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE 调用 setTagForUnderAgeOfConsent(),即表明您希望针对欧洲经济区未达到同意年龄的用户,对广告请求进行相应处理。这也会阻止传输 Android 广告标识符 (AAID)

  • 使用 TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE 调用 setTagForUnderAgeOfConsent(),即表明您不希望针对欧洲经济区未达到同意年龄的用户,对广告请求进行相应处理。

  • 使用 TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED 调用 setTagForUnderAgeOfConsent(),即表明您未明确是否针对欧洲经济区未达到同意年龄的用户,对广告请求进行相应处理。

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

Kotlin

val requestConfiguration =
  MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration =
    MobileAds.getRequestConfiguration().toBuilder()
        .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
        .build();
MobileAds.setRequestConfiguration(requestConfiguration);

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

广告内容过滤

为遵守 Google Play 的“不当广告”政策(该政策涵盖广告中的相关优惠),应用中展示的所有广告及其相关优惠都必须符合应用的内容分级,即使广告内容本身在其他方面符合 Google Play 的政策。

“广告内容分级上限”等工具可让您更好地控制向用户展示的广告内容。设置内容分级上限可帮助您遵守平台政策。

通过使用 setMaxAdContentRating 方法,应用可为其广告请求设置广告内容分级上限。配置此方法后,返回的 AdMob 广告的内容分级将不高于该上限。此广告联盟额外信息的可选值取决于数字内容标签分类,并且必须是以下字符串之一:

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

下面的代码会配置一个 RequestConfiguration 对象,以指定返回的广告内容所对应的数字内容标签不应高于 G

Kotlin

val requestConfiguration =
  MobileAds.getRequestConfiguration()
    .toBuilder()
    .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration =
    MobileAds.getRequestConfiguration().toBuilder()
        .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
        .build();
MobileAds.setRequestConfiguration(requestConfiguration);

您可以详细了解:

Publisher Privacy Treatment(Beta 版)

Publisher Privacy Treatment (PPT) API 是一种可选工具,可让应用使用 setPublisherPrivacyPersonalizationState() 方法指明是否针对所有广告请求关闭广告个性化设置。使用这项功能时,在当前会话的剩余时间内,后续的所有广告请求中都会包含一个 PPT 参数。

默认情况下,对于向 Google 发送的广告请求,系统会返回个性化广告。以下代码会针对所有广告请求关闭广告个性化设置:

Kotlin

val requestConfiguration =
  MobileAds.getRequestConfiguration()
    .toBuilder()
    .setPublisherPrivacyPersonalizationState(
      RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED
    )
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration =
    MobileAds.getRequestConfiguration().toBuilder()
        .setPublisherPrivacyPersonalizationState(
            RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
        .build();
MobileAds.setRequestConfiguration(requestConfiguration);

广告请求

AdRequest 对象用于收集随广告请求一起发送的定位信息。

添加广告联盟额外信息

广告联盟额外信息是指随广告请求一起发送的额外详细信息,专属于单个广告来源。

以下代码段为 Google 设置了一个额外的参数键 collapsible(值为 bottom):

Kotlin

val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
  AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()
adView.loadAd(adRequest)

Java

Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
AdRequest adRequest =
    new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();
adView.loadAd(adRequest);