En esta guía, se explica cómo proporcionar información de segmentación al SDK de anuncios de Google para dispositivos móviles.
Requisitos
Antes de continuar, configura el GMA Next-Gen SDK.
RequestConfiguration
RequestConfiguration recopila información de segmentación que se aplica de forma global a todas las solicitudes de anuncios. Para conocer las etiquetas de segmentación que están disponibles, consulta la documentación de RequestConfiguration.Builder.
Crea un objeto RequestConfiguration con las etiquetas de segmentación que necesitas usando su compilador y, luego, establece la configuración llamando a MobileAds.setRequestConfiguration().
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Para aplicar etiquetas de segmentación desde la primera solicitud de anuncio, proporciona la configuración de la solicitud durante la inicialización del SDK:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
CoroutineScope(Dispatchers.IO).launch {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(
this@MainActivity,
InitializationConfig
// Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
.Builder("SAMPLE_APP_ID")
.setRequestConfiguration(requestConfiguration)
.build()
) {
// Adapter initialization is complete.
}
// Other methods on MobileAds can now be called.
}
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
new Thread(
() -> {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(
this,
// Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
new InitializationConfig
.Builder("SAMPLE_APP_ID")
.setRequestConfiguration(requestConfiguration)
.build(),
initializationStatus -> {
// Adapter initialization is complete.
});
// Other methods on MobileAds can now be called.
})
.start();
Configura el tratamiento de contenido según la edad
Para ayudarte a administrar el cumplimiento de las reglamentaciones de privacidad aplicables relacionadas con niños y adolescentes, el GMA Next-Gen SDK proporciona un parámetro de configuración de tratamiento de contenido según la edad. El parámetro de configuración de tratamiento por edad te permite indicar si GMA Next-Gen SDK debe aplicar restricciones publicitarias específicas para la protección de niños o adolescentes. Cuando se usa este parámetro de configuración, GMA Next-Gen SDK incluye un parámetro tfat en las solicitudes de anuncios. Comunícate con tu asesor legal para determinar cuál es el tratamiento de contenido según la edad correspondiente para tus usuarios en función de tus obligaciones legales y reglamentarias.
Puedes configurar el tratamiento de contenido según la edad con el método setAgeRestrictedTreatment() de la API de RequestConfiguration.Builder.
Configura el tratamiento de contenido para niños
En el siguiente ejemplo, se indica que las solicitudes de anuncios deben recibir el tratamiento de contenido para niños:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have child age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have child age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Configura el tratamiento de contenido para adolescentes
En el siguiente ejemplo, se indica que las solicitudes de anuncios deben recibir el tratamiento de contenido para adolescentes:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have teenage treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.TEEN)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have teenage treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.TEEN)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Ninguna configuración de tratamiento específico de contenido específico según la edad
En el siguiente ejemplo, se indica que las solicitudes de anuncios no deben recibir ningún tratamiento específico de contenido según la edad:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have unspecified age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.UNSPECIFIED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have unspecified age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.UNSPECIFIED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Migra el tratamiento de contenido según la edad desde TFCD y TFUA
El parámetro de configuración del tratamiento de contenido según la edad reemplaza los parámetros de configuración obsoletos .setTagForChildDirectedTreatment() (TFCD) y .setTagForUnderAgeOfConsent() (TFUA).
En la siguiente tabla, se muestran los parámetros de configuración de TFCD y TFUA, y sus equivalentes del tratamiento de contenido según la edad:
TFCD
TFCD |
Tratamiento de contenido según la edad |
|---|---|
TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE |
AgeRestrictedTreatment.CHILD |
TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE |
AgeRestrictedTreatment.UNSPECIFIED |
TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED |
AgeRestrictedTreatment.UNSPECIFIED |
No se asignó ningún valor .setTagForChildDirectedTreatment() |
AgeRestrictedTreatment.UNSPECIFIED |
| Sin equivalente | AgeRestrictedTreatment.TEEN |
TFUA
TFUA |
Tratamiento de contenido según la edad |
|---|---|
TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE |
AgeRestrictedTreatment.CHILD |
TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE |
AgeRestrictedTreatment.UNSPECIFIED |
TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED |
AgeRestrictedTreatment.UNSPECIFIED |
No se asignó ningún valor .setTagForUnderAgeOfConsent() |
AgeRestrictedTreatment.UNSPECIFIED |
| Sin equivalente | AgeRestrictedTreatment.TEEN |
Principios básicos de las interacciones del tratamiento de contenido según la edad con TFCD y TFUA
Si estableces los parámetros de configuración de tratamiento de contenido según la edad y de TFCD o TFUA, Google aplicará el tratamiento más conservador.
Parámetro de configuración de contenido dirigido a niños
A los efectos de la Ley de Protección de la Privacidad de Menores en Internet (COPPA), hay un parámetro de configuración llamado "etiqueta de contenido dirigido a niños". Si configuras esta etiqueta, certificas que esta notificación es correcta y que tienes autorización para actuar en nombre del propietario de la app. A su vez, declaras que comprendes que el abuso de este parámetro de configuración puede dar lugar al cierre de tu Cuenta de Google.
Como desarrollador de apps, puedes indicar si deseas que Google trate tu contenido como dirigido a niños cuando envías una solicitud de anuncio. Si indicas que deseas que Google trate tu contenido como dirigido a niños, tomaremos medidas para inhabilitar la IBA y los anuncios de remarketing en esa solicitud de anuncio.
Puedes aplicar el parámetro de configuración de contenido dirigido a niños a través de setTagForChildDirectedTreatment():
Llama a
setTagForChildDirectedTreatmentconTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUEpara indicar que deseas que tu contenido se considere como dirigido a niños a los efectos de la COPPA. Esto evita la transmisión del identificador de publicidad de Android (AAID).Llama a
setTagForChildDirectedTreatmentconTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSEpara indicar que no deseas que tu contenido se considere como dirigido a niños a los efectos de la COPPA.Llama a
setTagForChildDirectedTreatmentconTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIEDsi no quieres indicar cómo deseas que se procese tu contenido a los efectos de la COPPA en las solicitudes de anuncios.
En el siguiente ejemplo, se indica que deseas que tu contenido se considere como dirigido a niños a los efectos de la COPPA:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Usuarios que no alcanzan la edad de consentimiento
Puedes marcar tus solicitudes de anuncios para que se traten como contenido para usuarios del Espacio Económico Europeo (EEE) que no alcanzan la edad de consentimiento. Esta función está diseñada para facilitar el cumplimiento del Reglamento General de Protección de Datos (RGPD). Ten en cuenta que puedes tener otras obligaciones legales en virtud del RGPD. Revisa los lineamientos de la Unión Europea y consulta a tu asesor legal. Recuerda que las herramientas de Google están diseñadas para facilitar el cumplimiento y no eximen a ningún publicador de sus obligaciones legales. Obtén más información sobre cómo el RGPD afecta a los publicadores.
Cuando se usa esta función, se incluye un parámetro de Etiqueta para usuarios que no alcanzan la edad de consentimiento en Europa (TFUA) en la solicitud de anuncio. Este parámetro inhabilita la publicidad personalizada, incluido el remarketing, para todas las solicitudes de anuncios. También inhabilita las solicitudes a proveedores de anuncios externos, como los píxeles de medición de anuncios y los servidores de anuncios de terceros.
Al igual que con la configuración para contenido dirigido a niños, hay un método en RequestConfiguration.Builder para establecer el parámetro TFUA: setTagForUnderAgeOfConsent(), con las siguientes opciones.
Llama a
setTagForUnderAgeOfConsent()conTAG_FOR_UNDER_AGE_OF_CONSENT_TRUEpara indicar que deseas que la solicitud de anuncio reciba tratamiento para usuarios del Espacio Económico Europeo (EEE) que no alcanzan la edad de consentimiento. Esto también evita la transmisión del identificador de publicidad de Android (AAID).Llama a
setTagForUnderAgeOfConsent()conTAG_FOR_UNDER_AGE_OF_CONSENT_FALSEpara indicar que no deseas que la solicitud de anuncio se considere como contenido para usuarios del Espacio Económico Europeo (EEE) que no alcanzan la edad de consentimiento.Llama a
setTagForUnderAgeOfConsent()conTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIEDpara indicar que no especificaste si la solicitud de anuncio debe recibir tratamiento para usuarios del Espacio Económico Europeo (EEE) que no alcanzan la edad de consentimiento.
En el siguiente ejemplo, se indica que deseas que se incluya el parámetro TFUA en tus solicitudes de anuncios:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setTagForUnderAgeOfConsent(TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Las etiquetas para habilitar el parámetro de configuración de contenido dirigido a niños y setTagForUnderAgeOfConsent() no deben estar simultáneamente establecidas en true. De ser así, prevalecerá el parámetro de configuración de contenido dirigido a niños.
Filtrado del contenido de los anuncios
Para satisfacer la Política de Anuncios Inadecuados de Google Play, que incluye las ofertas asociadas dentro de un anuncio, todos los anuncios y sus ofertas asociadas que se muestren en tu app deben ser adecuados para la clasificación del contenido de tu app, incluso si el contenido en sí satisface las políticas de Google Play en otros aspectos.
Las herramientas como la clasificación máxima del contenido del anuncio pueden ayudarte a tener más control sobre el contenido de los anuncios que se muestran a tus usuarios. Puedes establecer una clasificación máxima del contenido para ayudar a garantizar el cumplimiento de las políticas de la plataforma.
Las apps pueden establecer una clasificación máxima del contenido del anuncio para sus solicitudes de anuncios con el método setMaxAdContentRating. Los anuncios de AdMob que se muestren cuando este parámetro se encuentre configurado tendrán una clasificación de contenido igual o inferior a ese nivel. Los valores posibles para este parámetro adicional de red se basan en las clasificaciones de etiquetas de contenido digital y deben ser una de las siguientes cadenas:
MAX_AD_CONTENT_RATING_GMAX_AD_CONTENT_RATING_PGMAX_AD_CONTENT_RATING_TMAX_AD_CONTENT_RATING_MA
El siguiente código establece un objeto RequestConfiguration para especificar que el contenido del anuncio que se muestre debe corresponder a una clasificación de etiqueta de contenido digital que no supere a G:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setMaxAdContentRating(RequestConfiguration.MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setMaxAdContentRating(MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Obtén más información para establecer la clasificación máxima del contenido para cada solicitud de anuncio.
Publisher Privacy Treatment (Beta)
La API de Publisher Privacy Treatment (PPT) es una herramienta opcional que permite que las apps indiquen si se debe desactivar la personalización de anuncios para todas las solicitudes de anuncios que usen el método setPublisherPrivacyPersonalizationState(). Cuando se usa esta función, se incluye un parámetro de tratamiento de privacidad del publicador (PPT) en todas las solicitudes de anuncios futuras durante el resto de la sesión.
De forma predeterminada, las solicitudes de anuncios a Google publican anuncios personalizados. El siguiente código desactiva la personalización de anuncios para todas las solicitudes de anuncios:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Solicitud de anuncio
El objeto AdRequest recopila información de segmentación para enviarla con una solicitud de anuncio.
Agrega parámetros adicionales de red
Los parámetros adicionales de red son detalles complementarios que se envían con una solicitud de anuncio y que son específicos para una fuente de anuncios determinada.
El siguiente fragmento de código establece una clave de parámetro adicional de collapsible con un valor de bottom para Google:
Kotlin
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
NativeAdRequest.Builder("AD_UNIT_ID", listOf(NativeAd.NativeAdType.NATIVE))
.setGoogleExtrasBundle(extras)
.build()
NativeAdLoader.load(adRequest, adCallback)
Java
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
NativeAdRequest adRequest =
new NativeAdRequest.Builder("AD_UNIT_ID", Arrays.asList(NativeAd.NativeAdType.NATIVE))
.setGoogleExtrasBundle(extras)
.build();
NativeAdLoader.load(adRequest, adCallback);
Segmentación personalizada
Puedes pasar pares clave-valor personalizados para segmentar las campañas (líneas de pedido) de Google Ad Manager. En el siguiente ejemplo, se pasa un par clave-valor personalizado en una solicitud de anuncio:
Kotlin
// Example: Pass custom targeting "age=25".
val newRequest = AdRequest.Builder("AD_UNIT_ID")
.putCustomTargeting("age", "25")
.build()
Java
// Example: Pass custom targeting "age=25".
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
.putCustomTargeting("age", "25")
.build();
Puedes pasar múltiples valores para una clave como una lista de cadenas. Por ejemplo, realizar la segmentación para personas de entre 24 y 26 años en lugar de solo personas de 25 años.
Kotlin
.putCustomTargeting("age", listOf("24", "25", "26"))
Java
.putCustomTargeting("age", Arrays.asList("24", "25", "26"));
Exclusiones de categorías
Puedes agregar a una solicitud un nivel de exclusión de categorías a nivel del espacio a través del método addCategoryExclusion():
Kotlin
// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdRequest.Builder("AD_UNIT_ID")
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build()
Java
// Example: Exclude "automobile" and "boat" categories.
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build();
Consulta el ejemplo de exclusiones de categorías de Ad Manager para ver una implementación de exclusiones de categorías en la app de demo de la API de Android.
Identificadores proporcionados por el publicador
Puedes establecer un identificador proporcionado por el publicador (PPID) para usarlo en la limitación de frecuencia, la segmentación por público y la definición de segmentos de públicos, la rotación secuencial de anuncios y otros controles de publicación de anuncios basados en el público en todos los dispositivos.
Este es un ejemplo de cómo establecer el PPID:
Kotlin
val adRequest = AdRequest.Builder("AD_UNIT_ID")
.setPublisherProvidedId("AB123456789")
.build()
Java
AdRequest adRequest = new AdRequest.Builder("AD_UNIT_ID")
.setPublisherProvidedId("AB123456789")
.build();
Consulta el ejemplo de PPID de Ad Manager para ver una implementación de identificadores proporcionados por el publicador (PPID) en la app de demo de la API de Android.
Indicadores proporcionados por el publicador
Puedes enviar datos contextuales y de público como indicadores proporcionados por el publicador (PPS) en las solicitudes de anuncios. Con los PPS, puedes usar tus datos de usuario para mejorar la monetización programática comunicando las características de tu público a los ofertantes en todos los tipos de transacciones, con taxonomías estándar y sin necesidad de compartir identificadores de usuario. Las características de tu público pueden incluir datos basados en intereses y comportamiento (Taxonomía de público de IAB 1.1), y datos contextuales (Taxonomía de contenido de IAB 2.2).
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("AD_UNIT_ID")
.setGoogleExtrasBundle(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));
AdRequest request = new AdRequest.Builder("AD_UNIT_ID")
.setGoogleExtrasBundle(extras)
.build();
URL de contenido
Si quieres proporcionar una URL de contenido para los anuncios segmentados por contenido y la seguridad de la marca, agrega lo siguiente:
Kotlin
val builder = AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com")
val request = builder.build()
Java
AdRequest.Builder builder = new AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com");
AdRequest request = builder.build();
Seguridad de la marca (beta)
Las aplicaciones que muestran contenido dinámico destinado a diferentes públicos pueden proporcionar una lista breve de URLs:
Kotlin
val urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
"https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
val requestWithContent = AdRequest.Builder("AD_UNIT_ID")
.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");
AdRequest requestWithContent = new AdRequest.Builder("AD_UNIT_ID")
.setNeighboringContentUrls(urls)
.build();
.setNeighboringContentUrls() difiere de .setContentUrl() en que solo se usa para la seguridad de la marca.