টার্গেটিং

本指南介绍如何向广告请求提供定位信息。对于 请下载 Android API Demo 应用

下载 API 演示

前提条件

RequestConfiguration

RequestConfiguration 是一个对象,用于收集通过 一个MobileAds 静态方法。

要更新请求配置,请从现有的 执行任何所需的更新,并按如下所示进行设置:

Java

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

Kotlin

var requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

“面向儿童”的设置

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

作为应用开发者,您可以指明是否希望 Google 将您的 则将其指定为面向儿童的内容。如果您表明 希望 Google 将您的内容视为面向儿童的内容,我们会采取措施 停用针对该广告请求的针对用户兴趣投放广告和再营销广告。

此设置可用于所有版本的 Google Play 服务 SDK (通过 RequestConfiguration.Builder.setTagForChildDirectedTreatment(int)):

  • 使用以下号码致电 setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE,以表明您想要 根据 COPPA 的规定将内容视为面向儿童的内容。这可防止 Android 广告标识符的传输 (AAID)

  • 使用以下号码致电 setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE,以表明您不希望 根据 COPPA 的规定将内容视为面向儿童的内容。

  • 使用以下号码致电 setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED(如果您不想指明) 在广告请求中,您希望如何根据《儿童在线隐私保护法》(COPPA) 的规定来认定您的内容。

以下示例表明您希望将自己的内容视为 是否属于面向儿童的内容:

Java

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

Kotlin

var 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() 以表明您希望广告请求按照 欧洲经济区 (EEA) 内的用户,未达到同意年龄。这也 会阻止传输 Android 广告标识符 (AAID)

  • TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE联系:setTagForUnderAgeOfConsent() 指明您不按用户的需求处理该广告请求 欧洲经济区 (EEA) 内的用户,未达到同意年龄。

  • 使用以下号码致电 setTagForUnderAgeOfConsent()TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED,表明您 指明了广告请求是否应该按照 未达到同意年龄的欧洲经济区 (EEA)。

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

Java

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

Kotlin

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

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

广告内容过滤

遵守 Google Play 的“不恰当的广告”政策 其中包括广告内的相关优惠、所有广告及其相关 应用中展示的优惠必须适合 评分(共 即使内容本身在其他方面符合 Google 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

Java

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

Kotlin

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

不妨查看以下内容了解详情:

发布商隐私权处理方式(Beta 版)

通过 发布商隐私保护处理 (PPT) API 是一个可选工具,可让应用指明是否关闭广告 针对使用 setPublisherPrivacyPersonalizationState() 方法。 使用此功能时,发布商隐私保护处理 (PPT) 参数 包含在此会话剩余时间内的所有后续广告请求中

默认情况下,系统会向 Google 发送个性化广告请求。以下 会针对所有广告请求关闭广告个性化功能:

Java

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

Kotlin

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

广告请求

AdManagerAdRequest 对象会收集定位信息 与广告请求一起发送的信息。

自定义定位

您可以通过传递自定义键值对来定位 Google Ad Manager 广告系列(第 项)至 AdManagerAdRequest.Builder.addCustomTargeting()

Java

// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCustomTargeting("age", "25")
    .build();

Kotlin

// Example: Pass custom targeting "age=25".
var newRequest = AdManagerAdRequest.Builder()
  .addCustomTargeting("age", "25")
  .build()

您可以将一个键的多个值作为字符串列表传递。例如, 定位二十多岁中间年龄段的受众群体,而不只是 25 岁的用户。

.addCustomTargeting("age", Arrays.asList("24", "25", "26"))

请参阅 Ad Manager 自定义定位示例 了解 Android API Demo 应用中自定义定位的实现。

类别排除

您可以使用 addCategoryExclusion() 方法(由 AdManagerAdRequest.Builder 提供):

Java

// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCategoryExclusion("automobile")
    .addCategoryExclusion("boat")
    .build();

Kotlin

// Example: Exclude "automobile" and "boat" categories.
var newRequest = AdManagerAdRequest.Builder()
  .addCategoryExclusion("automobile")
  .addCategoryExclusion("boat")
  .build()

请参阅 Ad Manager 类别排除示例 了解 Android API Demo 应用中类别排除的实现方式。

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

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

以下是设置 PPID 的示例:

Java

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setPublisherProvidedId("AB123456789")
    .build();

Kotlin

var adRequest = AdManagerAdRequest.Builder()
  .setPublisherProvidedId("AB123456789")
  .build()

请参阅 Ad Manager PPID 示例 Android 中发布商提供的标识符 (PPID) 的实现 API 演示版应用。

发布商提供的信号

您可以将受众群体和情境数据作为 发布商提供的信号 (PPS)。借助 PPS,您可以利用自己的用户数据来 通过向广告主传达您的受众群体特征 所有出价方 交易类型,使用 标准类目,无需共享用户标识符。你的观众 可能包括基于行为和兴趣的数据(IAB 受众群体 分类 1.1)和上下文相关 数据(IAB 内容类目 2.2)。

Java

Bundle extras = new Bundle();
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter.class, extras)
  .build()

Kotlin

val extras = Bundle()
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284))
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6))

val request = AdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
  .build()

内容网址

要为内容定位广告和品牌保障提供内容网址,您可以调用 setContentUrl() 构建 AdManagerAdRequest 时:

Java

AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();

Kotlin

val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()

品牌保障(Beta 版)

针对不同受众显示动态内容的应用程序包括: 使用 setNeighboringContentUrls() 方法:AdManagerAdRequest

Java

ArrayList<String> urls = new ArrayList<String>();
urls.add("https://www.mycontenturl1.com");
urls.add("https://www.mycontenturl2.com");
urls.add("https://www.mycontenturl3.com");
urls.add("https://www.mycontenturl4.com");
AdManagerAdRequest requestWithContent = new AdManagerAdRequest.Builder()
    .setNeighboringContentUrls(urls)
    .build();

Kotlin

var urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
                         "https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
var requestWithContent = AdManagerAdRequest.Builder()
  .setNeighboringContentUrls(urls)
  .build()

.setNeighboringContentUrls().setContentUrl() 的不同之处在于, 用于品牌保障。