Segmentação

Este guia explica como fornecer informações de segmentação a uma solicitação de anúncio. Para um exemplo funcional, faça o download do app de demonstração da API do Android.

Fazer o download da demonstração da API

Pré-requisitos

RequestConfiguration

RequestConfiguration é um objeto que coleta informações de segmentação para serem aplicadas globalmente com um método estático MobileAds.

Para atualizar a configuração da solicitação, consiga um builder da configuração atual, faça as atualizações desejadas e defina-o da seguinte maneira:

Java

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

Kotlin

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

Configuração direcionada a crianças

Para fins de conformidade com a Lei de Proteção da Privacidade On-line das Crianças (COPPA), há uma configuração chamada "tag para tratamento para direcionamento a crianças". Ao configurar essa tag, você certifica que a notificação é precisa e que tem autorização para agir em nome do proprietário do app. Você entende que o abuso dessa configuração pode 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 direcionado ao público infantil quando for fazer uma solicitação de anúncio. Se você indicar que quer que o Google trate seu conteúdo como direcionado a crianças, seguiremos etapas para desativar o IBA e os anúncios de remarketing nessa solicitação de anúncio.

A configuração pode ser usada com todas as versões do SDK do Google Play Services pelo RequestConfiguration.Builder.setTagForChildDirectedTreatment(int):

  • Chame setTagForChildDirectedTreatment com TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE para indicar que você quer que seu conteúdo seja tratado como voltado para crianças de acordo com a COPPA. Isso impede a transmissão do identificador de publicidade do Android (AAID, na sigla em inglês).

  • Chame setTagForChildDirectedTreatment com TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE para indicar que você não quer que seu conteúdo seja tratado como direcionado a crianças para os fins da COPPA.

  • Chame setTagForChildDirectedTreatment com TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED se não quiser indicar como você quer que seu conteúdo seja tratado em relação à COPPA em solicitações de anúncios.

O exemplo a seguir indica que você quer que seu conteúdo seja tratado como direcionado a crianças de acordo com a 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)

Você pode marcar suas solicitações de anúncios para que sejam tratadas como direcionadas a usuários no Espaço Econômico Europeu (EEE) abaixo da idade de consentimento. Esse recurso foi projetado para ajudar a cumprir o Regulamento geral de proteção de dados (GDPR). É possível que 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. As ferramentas do Google foram criadas para facilitar a conformidade e não livram os editores das obrigações legais. Saiba mais sobre como o GDPR afeta os editores.

Ao usar esse recurso, uma tag para usuários abaixo da idade de consentimento na Europa (TFUA, na sigla em inglês) é incluída na solicitação de anúncio. Ele desativa a publicidade personalizada, incluindo o remarketing, para todas as solicitações de anúncios. As solicitações a fornecedores de anúncios terceirizados também serão desativadas, como pixels de medição de anúncios e servidores de anúncios de terceiros.

Assim como nas configurações direcionadas 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() com TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE para indicar que você quer que a solicitação de anúncio seja tratada para 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() com TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE para indicar que você quer que a solicitação de anúncio não seja tratada para usuários no Espaço Econômico Europeu (EEE) abaixo da idade de consentimento.

  • Chame setTagForUnderAgeOfConsent() com TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED para indicar que você não especifica se a solicitação de anúncio deve ser tratada para usuários no Espaço Econômico Europeu (EEE) abaixo da idade de consentimento.

O exemplo a seguir indica que você quer incluir o TFUA nas solicitações de anúncios:

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)

As tags para ativar a configuração para direcionamento a crianças e setTagForUnderAgeOfConsent() não devem ser definidas simultaneamente como true. Se forem, a configuração 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 para a classificação do conteúdo do app, mesmo que o conteúdo esteja em conformidade com as políticas do Google Play.

Ferramentas como a classificação máxima do conteúdo do anúncio ajudam você a ter mais controle sobre o conteúdo dos anúncios mostrados aos usuários. Você pode definir uma classificação máxima para ajudar na conformidade 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 de anúncios usando o método setMaxAdContentRating. Os anúncios da AdMob retornados quando esse recurso é configurado têm uma classificação do conteúdo igual ou inferior a esse nível. Os valores possíveis para esse extra de rede são baseados em classificações de conteúdo digital e precisam 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 designação de classificação de conteúdo digital não maior que 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)

Saiba mais sobre:

.

Tratamento de privacidade do editor (Beta)

A Tratamento de privacidade do editor (PPT) é uma ferramenta opcional que permite que os apps indiquem se a personalização de anúncios é desativada para todas as solicitações usando o método setPublisherPrivacyPersonalizationState(). Ao usar esse recurso, um parâmetro de tratamento de privacidade do editor (PPT, na sigla em inglês) é incluído em todas as solicitações de anúncios futuras no restante da sessão.

Por padrão, as solicitações de anúncios ao Google recebem anúncios personalizados. O código a seguir desativa a personalização de anúncios para todas as solicitações de anúncios:

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)

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.

Segmentação personalizada

É possível transmitir pares de chave-valor personalizados para segmentar campanhas do Google Ad Manager (itens de linha) usando 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()

É possível transmitir diversos valores para uma chave como uma lista de strings. Por exemplo, segmentar indivíduos na faixa dos 25 anos, em vez de apenas 25 anos.

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

Confira o exemplo de segmentação personalizada do Ad Manager para uma implementação de segmentação personalizada no app API Demo para Android.

Exclusões de categorias

É possível adicionar a uma solicitação um nível de exclusão de categoria no nível do slot usando o método addCategoryExclusion() fornecido por 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()

Confira o exemplo de exclusões de categoria do Ad Manager para ver uma implementação de exclusões de categoria no app de demonstração da API do Android.

Identificadores fornecidos pelo editor

É possível definir um identificador fornecido pelo editor (PPID, na sigla em inglês) para uso em limite de frequência, segmentação de público-alvo, rotação sequencial de anúncios e outros controles de exibição de anúncios com base no público-alvo em vários dispositivos.

Veja um exemplo de configuração do PPID:

Java

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

Kotlin

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

Confira o exemplo de PPID do Ad Manager para uma implementação de identificadores fornecidos pelo editor (PPID) no app de demonstração da API do Android.

Indicadores fornecidos pelo editor

Você pode enviar dados contextuais e de público-alvo como indicadores fornecidos pelo editor (PPS, na sigla em inglês) em solicitações de anúncios. Com o PPS, é possível usar os dados do usuário para melhorar a monetização programática, comunicando as características do público-alvo aos proponentes em todos os tipos de transação usando taxonomias padrão, sem precisar compartilhar identificadores de usuários. As características do público-alvo podem incluir dados comportamentais e baseados em interesses (Taxonomia de público-alvo do IAB 1.1) e dados contextuais (taxonomia de conteúdo 2.2 do IAB).

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()

URL de conteúdo

Para fornecer um URL de conteúdo para anúncios segmentados por conteúdo e brand safety, você pode chamar setContentUrl() ao criar um 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()

Brand safety (Beta)

Os apps que exibem conteúdo dinâmico destinado a públicos variados podem fornecer uma pequena lista de URLs usando o método setNeighboringContentUrls() ao criar um 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()

A .setNeighboringContentUrls() difere de .setContentUrl() porque é usada apenas para brand safety.