本指南介绍如何向广告请求提供定位信息。您可下载 Android API Demo 应用,查看实际示例。
前提条件
- 通读入门指南。
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 将您的内容视为面向儿童的内容,我们便会采取相应措施,针对该广告请求停用针对用户兴趣投放广告和再营销广告。
通过使用 RequestConfiguration.Builder.setTagForChildDirectedTreatment(int)
,该设置可用于所有版本的 Google Play 服务 SDK:
使用
TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE
调用setTagForChildDirectedTreatment
,即表明您希望根据《儿童在线隐私保护法》(COPPA) 的规定将您的内容视为面向儿童的内容。使用
TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE
调用setTagForChildDirectedTreatment
,即表明您不希望根据《儿童在线隐私保护法》(COPPA) 的规定将您的内容视为面向儿童的内容。如果您不希望在广告请求中表明您想如何根据《儿童在线隐私保护法》(COPPA) 的规定来认定您的内容,请使用
TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED
调用setTagForChildDirectedTreatment
。
以下示例表明您希望根据《儿童在线隐私保护法》(COPPA) 的规定将您的内容视为面向儿童的内容:
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration() .toBuilder() .setTagForChildDirectedTreatment(TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE) .build();
Kotlin
var requestConfiguration = MobileAds.getRequestConfiguration() .toBuilder() .setTagForChildDirectedTreatment(TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE) .build()
未达到法定承诺年龄的用户
您可以对广告请求进行标记,确保针对未达到法定承诺年龄的欧洲经济区 (EEA) 用户投放的是合适的广告。这项功能旨在帮助您遵守一般数据保护条例 (GDPR)。需要说明的是,您可能还须承担 GDPR 规定的其他法定义务。具体请查看欧盟发布的指导原则,并咨询您自己的法律顾问。另外请注意,Google 的工具旨在协助发布商遵守法规,但并不能免除任何特定发布商按照法律规定所需承担的义务。详细了解 GDPR 给发布商带来了哪些影响。
使用这项功能时,广告请求中会包含一个 TFUA(用于表示用户位于欧洲且未达到法定承诺年龄的标记)参数。此参数会禁止针对所有广告请求投放个性化广告,包括再营销广告。它还禁止向第三方广告供应商(例如广告衡量像素和第三方广告服务器)发送请求。
与面向儿童的设置一样,RequestConfiguration.Builder
中有用于设置 TFUA 参数的 setTagForUnderAgeOfConsent
方法,其中包括以下选项。
使用
TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
调用setTagForUnderAgeOfConsent
,即表明您希望按适合未达到法定承诺年龄的欧洲经济区 (EEA) 用户的方式处理该广告请求。使用
TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE
调用setTagForUnderAgeOfConsent
,即表明您不希望按适合未达到法定承诺年龄的欧洲经济区 (EEA) 用户的方式处理该广告请求。使用
TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED
调用setTagForUnderAgeOfConsent
,即表明您未明确是否按适合未达到法定承诺年龄的欧洲经济区 (EEA) 用户的方式处理该广告请求。
以下示例表明您希望广告请求中包含 TFUA 标记:
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration() .toBuilder() .setTagForUnderAgeOfConsent(TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE) .build();
Kotlin
var requestConfiguration = MobileAds.getRequestConfiguration() .toBuilder() .setTagForUnderAgeOfConsent(TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE) .build()
不应将用于启用面向儿童的设置的标记和 setTagForUnderAgeOfConsent
同时设置为 true
。如果同时设置为 true,则以“面向儿童的设置”为准。
广告内容过滤
通过使用 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(MAX_AD_CONTENT_RATING_G) .build();
Kotlin
var requestConfiguration = MobileAds.getRequestConfiguration() .toBuilder() .setMaxAdContentRating(MAX_AD_CONTENT_RATING_G) .build()
广告请求
AdRequest
对象可收集随广告请求一起发送的定位信息。
地理位置
如果用户已为您的应用授予位置权限,则 AdMob 会自动将此位置数据传递给 SDK。SDK 会使用此数据来改进广告定位,而不需更改应用中的任何代码。当然,您可以为广告启用或停用位置数据。
自动填充的地理位置信息不会转发到中介广告联盟,而且还可能会被完全停用。因此,SDK 提供了手动设置地理位置的功能。您可以在 AdRequest 中指定地理位置定位信息,如下所示:
Java
AdRequest request = new AdRequest.Builder() .setLocation(location) .build();
Kotlin
val request = AdRequest.Builder() .setLocation(location) .build()
出于对用户隐私权的尊重,Google 要求所指定的地理位置必须来自您的应用已在使用的信息。
利用定位加载广告
设置请求定位信息后,请使用 AdRequest
实例在广告视图上调用 loadAd()
。
Java
AdRequest request = new AdRequest.Builder() .setLocation(location) .build(); adView.loadAd(request);
Kotlin
val request = AdRequest.Builder() .setLocation(location) .build() adView.loadAd(request)
有关 Android API Demo 应用中广告定位的实现方式,请参阅广告定位示例。