本指南介绍了如何向 Google 移动广告 SDK 提供定位信息。
如需查看实际示例,请下载 Android 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_GMAX_AD_CONTENT_RATING_PGMAX_AD_CONTENT_RATING_TMAX_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);