Este guia explica como fornecer informações de segmentação ao SDK dos anúncios para dispositivos móveis do Google.
Para um exemplo funcional, faça o download do app Android API Demo.Pré-requisito
- Leia o guia para iniciantes.
RequestConfiguration
RequestConfiguration
coleta informações de segmentação aplicadas globalmente a todas as solicitações de anúncio. Para
ver as tags de segmentação disponíveis, consulte a
documentação
RequestConfiguration.Builder
.
Para atualizar a configuração da solicitação, extraia um builder da configuração atual, faça as atualizações desejadas e defina-o da seguinte maneira:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Para que as mudanças na configuração sejam aplicadas a todas as solicitações de anúncio, faça isso antes de inicializar o SDK dos anúncios para dispositivos móveis do Google.
Configuração voltada para crianças
De acordo com a Lei de Proteção da Privacidade On-line das Crianças (COPPA), há uma configuração chamada "Tag de tratamento para direcionamento a crianças". Ao configurar essa tag, você certifica que essa notificação está correta e que você tem autorização para agir em nome do proprietário do app. Você está ciente de que o abuso dessa configuração poderá resultar no encerramento da sua Conta do Google.
Como desenvolvedor de apps, você pode indicar se quer que o Google trate seu conteúdo como feito para crianças quando fizer uma solicitação de anúncio. Se você indicar que quer que o Google trate seu conteúdo como direcionado a crianças, vamos tomar medidas para desativar a IBA e os anúncios de remarketing nessa solicitação.
Você pode aplicar a configuração voltada para crianças em
setTagForChildDirectedTreatment()
:
Chame
setTagForChildDirectedTreatment
comTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE
para indicar que seu conteúdo deve ser tratado como direcionado a crianças para fins da COPPA. Isso impede a transmissão do identificador de publicidade do Android (AAID).Chame
setTagForChildDirectedTreatment
comTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE
para indicar que seu conteúdo não deve ser tratado como feito para crianças para fins da COPPA.Chame
setTagForChildDirectedTreatment
comTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED
se não quiser indicar como tratar seu conteúdo em relação à COPPA nas solicitações de anúncio.
O exemplo a seguir indica que seu conteúdo deve ser tratado como direcionado a crianças para fins da COPPA:
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);
Usuários abaixo da idade de consentimento
Você pode marcar suas solicitações de anúncios para receber o tratamento destinado aos usuários no Espaço Econômico Europeu (EEE) abaixo da idade de consentimento. Esse recurso foi desenvolvido para ajudar a obedecer ao Regulamento geral de proteção de dados (GDPR). Talvez você tenha outras obrigações legais de acordo com o GDPR. Leia as orientações da União Europeia e consulte sua assessoria jurídica. Com as ferramentas do Google, é mais fácil obedecer às diretrizes, mas os publishers ainda precisam seguir as obrigações legais. Saiba mais sobre como o GDPR afeta os publishers.
Quando você usa esse recurso, um parâmetro TFUA (Tag para usuários abaixo da idade de consentimento na Europa) é incluído na solicitação de anúncio. Ele desativará a publicidade personalizada, incluindo o remarketing, para todas as solicitações. As solicitações para fornecedores de anúncio terceirizados também serão desativadas, como pixels de medição de anúncios e servidores de anúncios de terceiros.
Assim como as configurações voltadas a crianças, há um método em
RequestConfiguration.Builder
para definir o parâmetro TFUA:
setTagForUnderAgeOfConsent()
,
com as opções a seguir.
Chame
setTagForUnderAgeOfConsent()
comTAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
para indicar que a solicitação de anúncio deve receber tratamento aos usuários no Espaço Econômico Europeu (EEE) abaixo da idade de consentimento. Isso também impede a transmissão do identificador de publicidade do Android (AAID).Chame
setTagForUnderAgeOfConsent()
comTAG_FOR_UNDER_AGE_OF_CONSENT_FALSE
para indicar que a solicitação de anúncio não deve ser tratada assim.Chame
setTagForUnderAgeOfConsent()
comTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED
se não quiser indicar como tratar a solicitação de anúncio em relação à idade de consentimento no Espaço Econômico Europeu (EEE).
O exemplo a seguir indica que a TFUA deve ser incluída nas suas solicitações de anúncio:
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);
As tags para ativar a configuração de direcionamento a crianças
e setTagForUnderAgeOfConsent()
não podem ser definidas ao mesmo tempo como true
.
Se isso acontecer, a configuração voltada para crianças terá precedência.
Filtragem de conteúdo do anúncio
Para obedecer à política de anúncios inadequados do Google Play, que inclui ofertas associadas em um anúncio, todos os anúncios e ofertas associadas exibidos no app precisam ser adequados à classificação do conteúdo dele, mesmo que o conteúdo em si esteja de acordo com as políticas do Google Play.
Ferramentas como a classificação máxima do conteúdo do anúncio ajudam a ter mais controle sobre o que é exibido nos anúncios. Você pode definir uma classificação máxima do conteúdo para estar de acordo com as políticas da plataforma.
Os apps podem definir uma classificação máxima do conteúdo do anúncio para as solicitações usando o
método
setMaxAdContentRating
. Os anúncios da AdMob retornados quando essa configuração está definida têm uma classificação de conteúdo igual ou
inferior a esse nível. Os valores possíveis para esse extra de rede consideram as
classificações de conteúdo digital e podem ser uma das seguintes
strings:
MAX_AD_CONTENT_RATING_G
MAX_AD_CONTENT_RATING_PG
MAX_AD_CONTENT_RATING_T
MAX_AD_CONTENT_RATING_MA
O código a seguir configura um objeto RequestConfiguration
para especificar que
o conteúdo do anúncio retornado precisa corresponder a uma classificação de rótulo de conteúdo digital
inferior a 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);
Saiba como definir a classificação máxima do conteúdo para cada solicitação de anúncio.
Tratamento de privacidade do publisher (Beta)
A
API Publisher Privacy Treatment
(PPT) é uma ferramenta opcional que permite aos apps indicar se a personalização
de anúncios precisa ser desativada para todas as solicitações usando o método
setPublisherPrivacyPersonalizationState()
. Ao usar esse recurso, um parâmetro de tratamento de privacidade do publisher (PPT)
é incluído em todas as solicitações de anúncio futuras pelo restante da sessão.
Por padrão, as solicitações de anúncios ao Google veiculam anúncios personalizados. O código a seguir desativa a personalização de anúncios para todas as solicitações:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Solicitação de anúncio
O objeto
AdManagerAdRequest
coleta informações de segmentação que serão enviadas
com uma solicitação de anúncio.
Adicionar extras de rede
Os extras de rede são detalhes adicionais enviados com uma solicitação de anúncio, específicos a uma única origem de anúncio.
O snippet de código a seguir define uma chave de parâmetro extra do collapsible
com
um valor de bottom
para o Google:
Kotlin
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest = AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
adLoader.loadAd(adRequest)
Java
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
AdRequest adRequest = new AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
adLoader.loadAd(adRequest);
Segmentação personalizada
É possível transmitir pares de chave-valor personalizados para segmentar campanhas (itens de linha) do Google Ad Manager. O exemplo a seguir transmite um par de chave-valor personalizado em uma solicitação de anúncio:
Kotlin
// Example: Pass custom targeting "age=25".
val newRequest = AdManagerAdRequest.Builder()
.addCustomTargeting("age", "25")
.build()
Java
// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
.addCustomTargeting("age", "25")
.build();
É possível transmitir vários valores para uma chave como uma lista de strings. Por exemplo, para segmentar pessoas na faixa dos 25 anos em vez de apenas pessoas de 25 anos.
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))
Exclusões de categoria
É possível adicionar a uma solicitação um nível de exclusão de categoria no nível do espaço usando o método
addCategoryExclusion()
:
Kotlin
// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build()
Java
// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build();
Confira o exemplo de exclusões de categoria do Ad Manager para uma implementação de exclusões de categoria no app de demonstração da API Android.
Identificadores fornecidos pelo publisher
É possível definir um identificador fornecido pelo publisher (PPID) para uso em limite de frequência, segmentação de público-alvo, rotação de anúncio sequencial e outros controles de exibição de anúncios com base no público-alvo em vários dispositivos.
Veja um exemplo de como definir o PPID:
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build()
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build();
Confira o exemplo de PPID do Ad Manager para saber como implementar identificadores fornecidos pelo editor (PPID) no app de demonstração da API Android.
Indicadores fornecidos pelo publisher
É possível enviar dados contextuais e de público-alvo como indicadores fornecidos pelo publisher (PPS) em solicitações de anúncio. Com os PPS, você pode usar seus dados de usuário para aprimorar a monetização programática comunicando as características do seu público-alvo aos bidders em todos os tipos de transação, com as taxonomias padrão, sem precisar compartilhar identificadores de usuário. As características do público-alvo podem incluir dados comportamentais e baseados em interesses (Taxonomia de público-alvo 1.1 do IAB) e dados contextuais (Taxonomia de conteúdo 2.2 do IAB).
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 = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
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();
URL de conteúdo
Para fornecer um URL de conteúdo para anúncios segmentados por conteúdo e brand safety, adicione o seguinte:
Kotlin
val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()
Java
AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();
Brand safety (Beta)
Os aplicativos que mostram conteúdo dinâmico destinado a públicos variados podem fornecer uma lista curta de URLs:
Kotlin
val urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
"https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
val requestWithContent = AdManagerAdRequest.Builder()
.setNeighboringContentUrls(urls)
.build()
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();
.setNeighboringContentUrls()
difere de .setContentUrl()
porque é usado apenas para brand safety.