Divulga información para los usuarios en el EEE

Según la Política de Consentimiento de Usuarios de la UE de Google, debes divulgar determinada información a los usuarios del Espacio Económico Europeo (EEE), el Reino Unido y Suiza, y obtener su consentimiento para usar cookies o algún otro tipo de almacenamiento local cuando esto sea un requisito legal, así como para usar datos personales (como el AdID) para publicar anuncios.

Esta política refleja los requisitos de la Directiva de Privacidad Electrónica y el Reglamento General de Protección de Datos (RGPD) de la UE.

En esta guía, se describen los pasos necesarios para admitir el mensaje del MTC v2 de IAB del RGPD como parte del SDK de UMP. Está diseñada para usarse junto con la guía Primeros pasos, que ofrece una descripción general de cómo ejecutar tu app con el SDK de UMP y los aspectos básicos para configurar tu mensaje. La siguiente orientación es específica para el mensaje del MTC v2 de IAB del RGPD. Para obtener más información, consulta Cómo afectan los requisitos de IAB a los mensajes de consentimiento de la UE.

Requisitos previos

El RGPD requiere la revocación del consentimiento para permitir que los usuarios retiren sus opciones de consentimiento en cualquier momento. Consulta Opciones de privacidad para implementar una manera en que los usuarios puedan retirar sus opciones de consentimiento.

Para indicar si un usuario no alcanzó la edad de consentimiento, establece setTagForUnderAgeOfConsent (TFUA). Cuando estableces TFUA en true, el SDK de UMP no solicita el consentimiento del usuario. Si tu app tiene un público mixto, establece este parámetro para los usuarios menores de edad para asegurarte de que no se solicite el consentimiento.

En el siguiente ejemplo, se establece TFUA en true en una solicitud de consentimiento de UMP:

Java

ConsentRequestParameters params =
    new ConsentRequestParameters.Builder()
        // Indicate the user is under age of consent.
        .setTagForUnderAgeOfConsent(true)
        .build();

Kotlin

val params =
  ConsentRequestParameters.Builder()
    // Indicate the user is under age of consent.
    .setTagForUnderAgeOfConsent(true)
    .build()

Para configurar el consentimiento en la Mediación de AdMob, completa los pasos que se indican en las siguientes secciones.

Agrega socios publicitarios a los mensajes del RGPD

Sigue los pasos que se indican en Cómo agregar socios de anuncios a los Mensajes del RGPD publicados para agregar tus socios de mediación a la lista de socios publicitarios. De lo contrario, es posible que los socios no publiquen anuncios en tu app.

En la siguiente tabla, se muestra el nombre del socio de tecnología publicitaria para cada fuente de anuncios:

Fuente del anuncio Nombre del socio de tecnología publicitaria
AppLovin AppLovin Corp.
BidMachine BidMachine
SDK de anuncios de BIGO Empathy Technology Pte.Ltd. (BIGO Ads)
Chartboost Chartboost
DT Exchange DT Exchange (Fyber Monetization)
i-mobile i-mobile
InMobi InMobi
ironSource Ads ironSource Mobile
Liftoff Monetize Liftoff
LY Ads Network LY Ads Network
maio maio
Meta Audience Network Meta
Mintegral Mobvista/Mintegral
SDK de Moloco Ads Moloco Ads
myTarget Mail.ru
Pangle Pangle DSP
SDK de PubMatic OpenWrap PubMatic
Unity Ads Unity Ads
SDK de Verve HyBid Verve Group

En la siguiente tabla, se muestran las fuentes de anuncios que admiten el paso de indicadores de consentimiento del RGPD desde las plataformas de administración de consentimiento que se integran con el Marco de Transparencia y Consentimiento (TCF) de IAB y la especificación de Consentimiento adicional de Google al SDK de las fuentes de anuncios:

Fuente del anuncio Versión mínima compatible
AppLovin 12.0.0.0
BidMachine 3.3.0.0
SDK de anuncios de BIGO 5.5.2.0
Chartboost 9.13.0.0
DT Exchange 8.3.0.0
i-mobile N/A1
InMobi 10.7.5.0
ironSource Ads 7.7.0.0
Liftoff Monetize 7.4.1.0
LY Ads Network N/A1
maio N/A1
Meta Audience Network N/A2
Mintegral 17.1.61.1
SDK de Moloco Ads 3.5.0.0
myTarget 5.51.2.0
Pangle 7.9.0.9.0
SDK de PubMatic OpenWrap 4.7.0.0
Unity Ads 4.19.0.1
SDK de Verve HyBid 3.7.1.0

1 La fuente de anuncios no publica tráfico del EEE.

2 Para obtener más detalles, comunícate con tu administrador de socios de Meta.

Después de recopilar el consentimiento según el RGPD, puedes leer las opciones de consentimiento del almacenamiento local siguiendo la especificación del TCF v2. La clave IABTCF_PurposeConsents indica el consentimiento para cada uno de los propósitos del TCF.

En el siguiente fragmento de código, se muestra cómo verificar el consentimiento para el Propósito 1:

Java

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "1111111111"
String purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "");
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isEmpty()) {
  String purposeOneString = String.valueOf(purposeConsents.charAt(0));
  boolean hasConsentForPurposeOne = purposeOneString.equals("1");
}

Kotlin

val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "1111111111"
val purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isNullOrEmpty()) {
  val purposeOneString = purposeConsents.first().toString()
  val hasConsentForPurposeOne = purposeOneString == "1"
}

Preguntas frecuentes

¿Qué sucede si no tomo ninguna medida para cumplir con los Requisitos relativos a las plataformas de administración de consentimiento para publicar anuncios en el EEE, el Reino Unido y Suiza?

A partir del 16 de enero de 2024, si un socio no adopta una CMP certificada por Google, solo los anuncios limitados serán aptos para publicarse en el tráfico del EEE y del Reino Unido.

La aplicación forzosa comenzará el 16 de enero de 2024 para un pequeño porcentaje del tráfico del EEE y el Reino Unido, y se irá ampliando hasta abarcar todo el tráfico de estas dos regiones a fines de febrero de 2024. Implementa una CMP certificada a más tardar el 16 de enero de 2024 para asegurarte de que tu monetización no se vea afectada.

¿Cómo puedo comprobar si el usuario dio su consentimiento?

El consentimiento no está representado por un solo bit, sino por un conjunto de propósitos y proveedores, según se define en la especificación del TCF de IAB. Consulta Políticas de consentimiento: anuncios personalizados y no personalizados para conocer los criterios de personalización de anuncios de Google Ads.

Además, las tecnologías publicitarias que figuran en la lista de proveedores de tecnología publicitaria (ATP) de Google y que no están registradas en lalista de proveedores del TCF usan laespecificación técnica de Consentimiento adicional de Google para la recopilación del consentimiento. Google publica la lista de proveedores de tecnología publicitaria que no están registrados en IAB y sus IDs en la siguiente ubicación: https://storage.googleapis.com/tcfac/additional-consent-providers.csv.

Para depurar una solicitud de anuncio individual, usa la función Solucionar problemas de configuración de privacidad en el inspector de anuncios para ver los siguientes indicadores de privacidad que se pasan en la solicitud de anuncio como parte de la Integración de los publicadores con el TCF de IAB Europe:

Etiqueta del inspector de anuncios Parámetro de consulta de la solicitud de anuncio Significado
Se aplica el GDPR (IABTCF_gdprApplies) gdpr Indica si se aplica el RGPD a esta solicitud de anuncio.
Cadena de TC (IABTCF_TCString) gdpr_consent Es la cadena de TC. IAB proporciona una herramienta web en la que puedes decodificar el valor de forma manual. decode
Cadena de AC (IABTCF_AddtlConsent) addtl_consent Es la cadena de AC de la especificación técnica de Consentimiento adicional de Google.

Para leer las opciones de consentimiento de forma programática, consulta Cómo leer las opciones de consentimiento para obtener más información.

¿Debo usar el SDK de UMP de Google para cumplir con el requisito de la CMP?

No, puedes usar cualquier CMP de la Lista de CMPs certificadas por Google para publicar anuncios.

¿Cómo puedo volver a mostrar el formulario de consentimiento con el SDK de UMP, incluso si el usuario ya dio su consentimiento?

Si un usuario ya tomó una decisión de consentimiento, la solución de administración de consentimiento de Google no solicitará que se recopile un nuevo consentimiento hasta que la cadena de TC venza o se vuelva no válida.

El RGPD requiere la modificación del consentimiento para permitir que los usuarios retiren sus opciones de consentimiento en cualquier momento. Consulta Opciones de privacidad para implementar una manera en que los usuarios puedan retirar sus opciones de consentimiento. Para volver a mostrar un formulario de consentimiento, llama a showPrivacyOptionsForm().

Integré una CMP certificada por Google, pero no veo que se realicen solicitudes de anuncios a los socios de mediación, incluso de los usuarios que dieron su consentimiento. ¿Cuál es el motivo?

Según el TCF, Google verifica que los proveedores de tecnología publicitaria y otras fuentes de demanda programática no incumplan la política de Google y que tengan al menos una base jurídica para procesar datos antes de incluirlos en la cascada de mediación. Navega a la sección de mediación para obtener más información.

Algunos socios de mediación de la lista de proveedores de tecnología publicitaria (ATP) de Google no están registrados en la lista de proveedores del TCF. En cambio, estos socios usan la especificación técnica de Consentimiento adicional de Google para la recopilación del consentimiento. Google publica la lista de proveedores de tecnología publicitaria que no están registrados en IAB y sus IDs en la siguiente ubicación: https://storage.googleapis.com/tcfac/additional-consent-providers.csv

El SDK de UMP admite el almacenamiento de la cadena de AC, lo que te permite agregar socios publicitarios a los Mensajes del RGPD publicados sin necesidad de saber si los socios están registrados en el TCF. Cuando uses una CMP externa, debes hacer lo siguiente:

  1. Confirma que la CMP externa admita el almacenamiento de la cadena de AC.
  2. Incluye a cada socio de mediación en la lista de proveedores de tecnología publicitaria que usa la CMP externa para recopilar el consentimiento.
¿Puedo cambiar el funcionamiento de mi app si los usuarios no dan su consentimiento? ¿La política lo permite?

Los publicadores pueden leer la cadena del TCF de IAB en sus apps. Consulta Cómo leer las opciones de consentimiento para obtener información sobre cómo leer las opciones de consentimiento de forma programática. Los publicadores deben revisar sus obligaciones en virtud de las reglamentaciones pertinentes con un asesor legal.

Cuando selecciono Administrar opciones y doy mi consentimiento para todos los propósitos, no veo ningún anuncio. ¿Cuál es el motivo?

Además de recopilar el consentimiento para los propósitos, también debes recopilar el consentimiento para los proveedores. Se requiere el consentimiento para los propósitos y para los proveedores para que cualquier proveedor, como Google, publique anuncios adecuados.

¿Cómo implemento la versión 2 de la cadena de AC para los usuarios que ya dieron su consentimiento para la versión 1?

Consulta la clave IABTCF_AddtlConsent en el almacenamiento local según la especificación técnica de Consentimiento adicional de Google para determinar si un usuario dio su consentimiento para la versión 2 de la cadena de AC y si necesitas volver a mostrar el formulario de consentimiento.

Java

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "2~1.35.41.101~dv.9.21.81"
String additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "");
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  String specACVersion = additionalConsent.charAt(0);
  boolean isACVersion2 = purposeOneString.equals("2");
}

Kotlin

val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "2~1.35.41.101~dv.9.21.81"
val additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "")
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  val specACVersion = additionalConsent.first()
  val isACVersion2 = specACVersion == "2"
}