Privacidad del SDK para Android

El SDK de Android incluye compatibilidad de cliente con la plataforma de privacidad global (GPP), el Reglamento General de Protección de Datos (RGPD), la Ley de Protección al Consumidor de California (CCPA) y la Ley de Servicios Digitales (DSA).

La Plataforma Global de Privacidad (GPP) permite a anunciantes, editores y proveedores de tecnología adaptarse a las demandas regulatorias en todos los mercados. El RGPD proporciona normativas para el procesamiento, el movimiento y la protección de datos personales dentro de la Unión Europea. La CCPA crea nuevos derechos de consumidor relacionados con el acceso, la eliminación y el uso compartido de la información personal recopilada por las organizaciones. La DSA es una medida legislativa clave de la Unión Europea destinada a mejorar la transparencia en la publicidad digital, con el objetivo principal de promover la transparencia, la responsabilidad y la protección del usuario en los servicios en línea.

Advertencia

Este recurso no debe interpretarse como asesoramiento legal y Microsoft no garantiza el cumplimiento de ninguna ley o reglamento. Tenga en cuenta que, dado que cada empresa y su recopilación, uso y almacenamiento de datos personales son diferentes, también debe buscar asesoramiento legal independiente en relación con las obligaciones derivadas de la normativa europea, incluido el RGPD y la Directiva de privacidad electrónica existente. Solo un abogado puede brindarle asesoramiento legal específicamente adaptado a su situación. Nada de lo dispuesto en esta guía pretende proporcionarte ni sustituirte asesoramiento jurídico adaptado a tu empresa.

Nota:

  • Los publicadores son responsables de proporcionar aviso, transparencia y elección, y de recopilar el consentimiento de sus usuarios de acuerdo con las directivas del marco, ya sea mediante su propio proveedor de administración de consentimiento o trabajando con un proveedor. > - Registre su propio CMP> - Lista de CMP registrados

  • Nuestras directivas de servicio (para comprar, vender y proveedores de datos) incluyen obligaciones específicas de privacidad que debe tener en cuenta.

  • Todos los SDK de proveedores (incluidos los SDK de mediación) son responsables de buscar información de consentimiento y proveedores aprobados por su cuenta; Microsoft Monetize no pasa esta información a estos SDK.

Reglamento general de protección de datos (RGPD)

Con el fin de que nuestros clientes cumplan con sus requisitos de transparencia, notificación y elección/consentimiento en virtud del RGPD y la Directiva de privacidad electrónica existente, Microsoft Monetize admite el Marco de Transparencia & Consentimiento de IAB Europe (el "Marco").

Esta es una referencia para los editores de aplicaciones móviles que usan el SDK de Android para mostrar la notificación, la transparencia y la elección a los usuarios finales ubicados en el EEE y señalar a los proveedores aprobados y, cuando sea necesario, pasar el consentimiento a Microsoft Monetize y a los orígenes de demanda y sus proveedores a través de la plataforma Monetize.

El SDK de Android proporciona tres API para que los editores de aplicaciones móviles usen el marco. Estas API le permiten:

  • Definir si el usuario se encuentra en el Espacio Económico Europeo (el "EEE") y si debe aplicarse la normativa europea de privacidad
  • Establece la cadena de consentimiento de IAB Europe (IAB)
  • Establece los consentimientos de propósito de IAB Europa (IAB)

El SDK conservará esta información y se agregará a cada llamada de anuncios para aplicar controles de plataforma.

Los editores/plataformas de administración de consentimiento (CMP) son libres de almacenar estos valores en una interfaz SharedPreferences (como se define en Mobile In-App CMP API v2.0: Transparency & Consent Framework) en lugar de pasarlos a través de las nuevas API, y el SDK leerá los valores como respaldo.

Utilice los métodos siguientes en ANGDPRSettings:

Método Descripción
public static void setConsentRequired(Context context, boolean subjectToGDPR) Establezca si el usuario está sujeto a las regulaciones del RGPD.
public static void setConsentString(Context context, String consentString) Establece la cadena de consentimiento codificada en Base 64 de la IAB.
public static void setPurposeConsents(Context context, String purposeConsents) Establece la cadena binaria de consentimientos de propósito de IAB. '0' o '1' en la posición n (indexación desde 0) indica el estado de consentimiento para el identificador de n+1propósito.
// Set whether the user is subject to GDPR regulations
ANGDPRSettings.setConsentRequired(context, true)

// Set the IAB Base64-encoded consent string
ANGDPRSettings.setConsentString(context, "BOMyQRvOMyQRvABABBAAABAAAAAAEA")

// Set the IAB purpose consents (binary string; '1' at index n = consent for purpose ID n+1)
ANGDPRSettings.setPurposeConsents(context, "101010001")

Nota:

Para garantizar una monetización adecuada y una segmentación relevante, el SDK debe estar habilitado para enviar la información del dispositivo. Establecer la marca y purposeConsents correctamente ayudará a garantizar que se envíe la información adecuada del consentRequired dispositivo. Consulte la tabla siguiente para determinar si se pasarán o no los detalles del dispositivo.

En la tabla siguiente se describe el comportamiento del SDK basado en diferentes purposeConsents valores en combinación con consentRequired valores:

deviceAccessConsent true false undefined
consentRequired=false El SDK pasará la información del dispositivo. El SDK pasará la información del dispositivo. El SDK pasará la información del dispositivo.
consentRequired=true El SDK pasará la información del dispositivo. El SDK no pasará la información del dispositivo. El SDK no pasará la información del dispositivo.
consentRequired=undefined El SDK pasará la información del dispositivo. El SDK no pasará la información del dispositivo. El SDK pasará la información del dispositivo.

Ley de privacidad del consumidor de California (CCPA)

El SDK de Android proporciona tres API que permiten a los usuarios del SDK establecer, recuperar y borrar los controles del Mecanismo de señal de usuario de privacidad de EE. UU. El IAB Tech Lab ha formalizado y adoptado la "us_privacy" cadena como mecanismo para codificar datos sobre la información divulgada al usuario y las elecciones de usuarios en virtud de varias leyes de privacidad de EE. UU., comenzando con la CCPA.

El SDK conservará esta información y se agregará a cada llamada de anuncios para aplicar controles de plataforma.  

Los editores/plataformas de gestión de consentimiento (CMP) son libres de almacenar estos valores en una interfaz SharedPreferences (según lo definido por el mecanismo de cumplimiento de la CCPA de IAB) en lugar de pasarlos a través de las nuevas API, y el SDK leerá los valores como respaldo.

Utilice los métodos siguientes en ANUSPrivacySettings:

Método Descripción
public static void setUSPrivacyString(Context context, String privacyString) Establece la cadena de privacidad de IAB US en el SDK.
public static String getUSPrivacyString(Context context) Obtenga la cadena de privacidad de IAB US actualmente en el SDK.
public static void reset(Context context) Borre la cadena de privacidad de EE. UU. de IAB establecida anteriormente.
// Set the IAB US Privacy String in the SDK
ANUSPrivacySettings.setUSPrivacyString(context, "1YNN")

// Get the IAB US Privacy String that will be sent in the request
val privacyString: String? = ANUSPrivacySettings.getUSPrivacyString(context)

// Clear the previously set IAB US Privacy String
ANUSPrivacySettings.reset(context)

Ley de protección de la privacidad infantil en línea (COPPA)

La Ley de Protección de la Privacidad en Línea de los Niños (COPPA) de EE. UU. se aplica cuando las solicitudes de anuncios de tu aplicación se dirigen a niños menores de 13 años. Cuando COPPA está habilitado, el SDK envía user.coppa = true la solicitud de anuncio para que los sistemas intermedios puedan restringir la recopilación de información personal para esos usuarios.

Use la SDKSettings.setCOPPA(boolean) API para indicar que la sesión actual está sujeta a COPPA. El valor se aplica a cada solicitud de anuncio subsiguiente hasta que se cambie. El valor predeterminado es false.

Utilice los métodos siguientes en SDKSettings:

Método Descripción
public static void setCOPPA(boolean coppa) Indica que la sesión actual está sujeta a la COPPA. El valor predeterminado es false.
public static boolean getCOPPA() Devuelve true si COPPA está habilitado actualmente, false en caso contrario.
// Enable or disable COPPA for the current session
SDKSettings.setCOPPA(true)

// Check whether COPPA is currently enabled
val coppa: Boolean = SDKSettings.getCOPPA()

Plataforma de privacidad global (GPP)

La Plataforma de privacidad global es un protocolo único diseñado para simplificar la transmisión de señales de privacidad, consentimiento y elección del consumidor desde sitios web y aplicaciones a proveedores de tecnología publicitaria. Estas señales se empaquetan en una carga útil estandarizada y de fácil comunicación llamada cadena GPP. Los datos GPP analizados previamente, así como la cadena GPP se almacenarán en SharedPreferences (Android). Esto permitirá lo siguiente:

  • proveedores para acceder fácilmente a los datos de GPP.
  • Los datos GPP se conserven en las sesiones de la aplicación.
  • Los datos de GPP deben ser portátiles entre plataformas de administración de consentimiento (CMPs) para proporcionar flexibilidad a un editor para intercambiar un SDK de CMP por otro.
  • proveedores dentro de una aplicación para evitar la duplicación de código, al no requerir incluir un decodificador de cadenas GPP y al mismo tiempo habilitar todos los casos de uso típicos.

Nota:

Si un editor decide quitar un SDK de CMP de su aplicación, es responsable de borrar todos los valores vestigiales IABGPP_* para los usuarios para que los proveedores no continúen utilizando los datos de GPP que contienen.

A continuación, el SDK de Android leerá los valores de SharedPreferences que se pasarán a la llamada del anuncio. Estas son las cadenas desde las que el SDK consultará:

Nombre de la clave Tipo de datos Descripción
IABGPP_HDR_GppString string Cadena de consentimiento completo en su forma codificada. p.ej. "DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN"
IABGPP_GppSID string La Sección ID (s) se considera que está en vigor. Varias identificaciones se separan mediante un carácter de subrayado, por ejemplo, “2_3”

Ley de servicios digitales (DSA)

La Ley de Servicios Digitales (DSA) supervisa a los intermediarios y plataformas en línea, donde su objetivo principal es frenar las actividades ilegales y dañinas en Internet y mitigar la difusión de desinformación. La DSA es una medida legislativa clave de la Unión Europea destinada a mejorar la transparencia en la publicidad digital, con el objetivo principal de promover la transparencia, la responsabilidad y la protección del usuario en los servicios en línea.

Establecer y recuperar valores DSA en el SDK

El SDK pasa estos valores a la llamada del anuncio.

Utilice los métodos siguientes en ANDSASettings:

Método Descripción
public static void setDSARequired(int dsaRequired) Establezca el requisito de información de DSA. 0 = No requerida, 1 = Compatible, 2 = Requerida, 3 = Requerida + Publisher es una plataforma en línea.
public static int getDSARequired() Devuelve el requisito de información de DSA actual.
public static void setPubRender(int pubRender) Establece si el publicador representa la información de transparencia de DSA. 0 = Publisher no puede procesar, 1 = Publisher podría representar en función de adrender, 2 = Publisher representará.
public static int getPubRender() Devuelve la configuración actual de representación del editor.
public static void setTransparencyList(ArrayList<ANDSATransparencyInfo> transparencyList) Establecer la lista de transparencia mediante ANDSATransparencyInfo entradas.
public static ArrayList<ANDSATransparencyInfo> getTransparencyList() Devuelve la lista de transparencia actual.
// Set DSA information requirement (0=Not required, 1=Supported, 2=Required, 3=Required + Online Platform)
ANDSASettings.setDSARequired(1)

// Set publisher render behavior (0=Can't render, 1=Depends on adrender, 2=Will render)
ANDSASettings.setPubRender(0)

// Set the transparency list
ANDSASettings.setTransparencyList(arrayListOf(
    ANDSATransparencyInfo("example.com", arrayListOf(1, 2, 3)),
    ANDSATransparencyInfo("example.net", arrayListOf(4, 5, 6))
))

Recuperar valores de respuesta de DSA

Utilice los métodos siguientes en ANDSAResponseInfo:

Método Descripción
public String getBehalf() En nombre de quién se muestra el anuncio.
public String getPaid() Quién pagó el anuncio.
public ArrayList<ANDSATransparencyInfo> getTransparencyList() Información de parámetros de usuario de transparencia.
public int getAdRender() Si el comprador o anunciante va a representar la información de transparencia de DSA. 0 = no se procesará, 1 = se procesará.
val banner = BannerAdView(this)
banner.placementID = "1"
banner.setAdSize(300, 250)
banner.adListener = this
banner.loadAd()

override fun onAdLoaded(ad: AdView?) {
    //   The example uses `banner`. For other ad units, use:
    //   videoAd.adResponseInfo.dsaResponseInfo
    //   nativeAdResponse.adResponseInfo.dsaResponseInfo  (in NativeAdRequestListener.onAdLoaded)
    //   interstitial.adResponseInfo.dsaResponseInfo
    banner.adResponseInfo.dsaResponseInfo?.let { info ->
        val behalf: String? = info.behalf          // Advertised on behalf of
        val paid: String? = info.paid              // Paid by
        val adRender: Int = info.adRender          // 0 = won't render, 1 = will render
        for (t in info.transparencyList) {
            val domain: String = t.domain
            val params: ArrayList<Int> = t.getDSAParams()
        }
    }
}