Notas de la versión

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Privacy Sandbox en Android ofrece programas de versión beta y una Versión preliminar para desarrolladores. Incorporaremos nuevas APIs y funciones en la Vista previa para desarrolladores con el tiempo y promoveremos las API estabilizadas en el programa de versión beta. Recomendamos compartir cualquier comentario pertinente.

Si aún no estás familiarizado con Privacy Sandbox en Android, consulta la Descripción general del programa. Para comenzar a compilar Privacy Sandbox en tu proyecto, configura tu entorno de desarrollo y obtén Privacy Sandbox en Android en tu dispositivo de prueba o emulador.

Versión actual

Privacy Sandbox en Android beta 1

Privacy Sandbox en Android en la versión beta 1 representa la primera disponibilidad de las APIs de Privacy Sandbox en dispositivos públicos y agrega mejoras a las áreas que se enumeran a continuación.

General

  • Privacy Sandbox en Android versión beta 1 es equivalente en términos funcionales a la Versión preliminar para desarrolladores 5, con algunas funciones y limitaciones adicionales que se detallan a continuación.
  • Los desarrolladores deben completar un proceso de inscripción para usar las APIs relacionadas con los anuncios (incluidas Topics, FLEDGE y Attribution Reporting). El proceso de inscripción verifica la identidad del desarrollador y recopila los datos específicos del desarrollador que necesitan las APIs.
  • Con la versión beta 1 de Privacy Sandbox en Android, los desarrolladores que se hayan inscrito y enviado detalles a la lista de entidades permitidas tendrán la oportunidad de probarla en sus propios dispositivos físicos. Para desarrollar en función de las APIs estables en la versión, descarga la nueva Extensiones de servicios de anuncios de SDK 4.

API de Topics

API de Attribution Reporting

  • Se agregan claves de depuración para permitir que los desarrolladores reciban informes sin cambios junto con los informes de privacidad mejorada de la API de Attribution Reporting. Las claves de depuración proporcionan la oportunidad de obtener una mayor visibilidad de cómo se estructuran los informes durante la transición con Privacy Sandbox.

Entorno de ejecución de SDK

Se espera que las siguientes limitaciones se corrijan en la próxima versión importante de la plataforma de Android:

  • Actualmente, la renderización de anuncios dentro de una vista desplazable como RecyclerView no funciona correctamente. Es posible que se produzca un bloqueo si se cambia el tamaño del elemento. Los eventos de desplazamiento del usuario táctiles no se pasan correctamente al entorno de ejecución.
  • El procesamiento de WebView no está disponible en el proceso del entorno de ejecución de SDK.
  • El almacenamiento por SDK no está disponible.
  • La compatibilidad con las APIs de getAdId y getAppSetId aún no está activada.

Versiones anteriores

Versión preliminar para desarrolladores 6

Privacy Sandbox en la Versión preliminar para desarrolladores de Android 6 agrega mejoras en las siguientes áreas:

General

  • Como preparación para el lanzamiento a producción, la Versión preliminar para desarrolladores 6 introdujo una marca a fin de inhabilitar el acceso a la API que preserva la privacidad de forma predeterminada. A fin de realizar pruebas, habilita el acceso a la API que preserva la privacidad en la Versión preliminar para desarrolladores mediante la ejecución del siguiente comando:
adb shell device_config put adservices global_kill_switch false
  • Las APIs de AdIdManager y AppSetIdManager requieren la versión 22.36.16 o una posterior de los Servicios de Google Play.
    • En un dispositivo Android, verifica que la versión correcta aparezca en Configuración > Apps > Servicios de Google Play.
    • Si necesitas actualizar los Servicios de Google Play a la versión adecuada, accede al emulador o al dispositivo de prueba de Android con una Cuenta de Google. Luego, ve a Google Play Store > ícono de perfil > Configuración > Acerca de. Debajo del encabezado Versión de Play Store, presiona Actualizar Play Store.
    • Este paso solo es aplicable para el desarrollo y las pruebas, y no será necesario después de que se haya implementado Privacy Sandbox en los usuarios públicos.

API de Topics

  • Se agregó una API de Preview para activar o desactivar si getTopics se registra como observador.
  • Se realizaron cambios menores en el código de inicialización para la clase GetTopicsRequest.
  • Lanzamiento de la Guía de integración de temas.

FLEDGE en la API de Android

  • Si realizas pruebas en servidores reales, ahora se habilita la API. Sigue estos pasos para configurar tu dispositivo. Estos pasos no son necesarios si usas las anulaciones remotas presentes en la app de ejemplo.
  • Cambios rotundos:
    • Se reemplazó Url en los parámetros por Uri. Esto se aplica a todas las APIs de FLEDGE y JavaScript personalizado para las ofertas y la lógica de puntuación.
    • Se quitó el campo owner de las entradas de la API de Custom Audience.
  • Los públicos personalizados incompletos ahora son aptos de inmediato para la actualización en segundo plano.
  • El límite de memoria de JavaScript ahora está configurado en 10 MB. Esto se aplica a la lógica de las ofertas y la puntuación.

API de Attribution Reporting

  • Las AdTech deben inscribirse para poder usar la API de Attribution Reporting en la Versión preliminar para desarrolladores 6. Consulta Inscríbete para obtener una cuenta de Privacy Sandbox a fin de obtener más información.
  • En esta versión, se presentan claves de depuración, que permitirán a los desarrolladores recibir informes sin cambios junto con informes de privacidad mejorada de la API de Attribution Reporting. Las claves de depuración proporcionan la oportunidad de obtener una mayor visibilidad de cómo se estructuran los informes durante la transición con Privacy Sandbox.

Versión preliminar para desarrolladores 5

General

  • Antes de acceder a las APIs de Privacy Sandbox en la Versión preliminar para desarrolladores 5, primero debes habilitar las APIs y configurar los permisos específicos de la API.
    • Los diseños para Privacy Sandbox en Android permiten a los usuarios controlar si sus APIs que preservan la privacidad y el entorno de ejecución del SDK están activos en sus dispositivos. Estos parámetros se configuran como inhabilitados de forma predeterminada en la Versión preliminar para desarrolladores 5. Puedes habilitar el acceso a la API mediante un comando adb.
    • La app que realiza la llamada debe especificar permisos específicos de la API en el manifiesto y las configuraciones de AdServices relacionadas que controlen el acceso de los SDKs incorporados.
  • Las apps deben llamar a las API que preservan la privacidad cuando se ejecutan en primer plano.
  • AdIdManager y AppSetIdManager no están funcionando en este momento. Se habilitarán en una versión posterior.

Entorno de ejecución de SDK

  • sendData() dejará de estar disponible en una versión futura.
  • loadSdk() ahora muestra un objeto IBinder para facilitar la comunicación bidireccional entre el SDK habilitado para el entorno de ejecución y las apps definidas en AIDL.
  • Las apps tienen acceso a eventos de ciclo de vida del SDK adicionales habilitados para el entorno de ejecución, como cuando finaliza el proceso del SDK.

API de Attribution Reporting

En esta versión, se presentan funciones adicionales en la API de Attribution Reporting, incluidas las siguientes:

  • Compatibilidad con informes de agregación encriptados.
  • Compatibilidad con mediciones web y entre aplicaciones.
  • Encabezados consolidados en las respuestas de registro de la fuente y el activador:
    • Fuente: Attribution-Reporting-Register-Aggregatable-Source ahora es parte de Attribution-Reporting-Register-Source.
    • Activador: Consolidamos Attribution-Reporting-Register-Event-Trigger, Attribution-Reporting-Register-Aggregatable-Trigger-Data y Attribution-Reporting-Register-Aggregatable-Values en un solo encabezado llamado Attribution-Reporting-Register-Event-Trigger.
    • Attribution-Reporting-Redirects sigue siendo un encabezado independiente.

FLEDGE en la API de Android

Esta versión incluye varias funciones y mejoras nuevas, además de cambios rotundos:

  • Cambios rotundos:
    • Se cambió el nombre de runAdSelection() por selectAds().
    • Se reemplazó el parámetro de AdSelectionConfig.Builder.setAdSelectionSignals() por AdSelectionSignals, que representa un objeto JSON.
    • Se reemplazó el uso de String para representar a un comprador o vendedor de AdTech con el objeto AdTechIdentifier.
    • Se agregaron las clases TestCustomAudienceManager y TestAdSelectionManager para anular la recuperación remota de JavaScript.
    • El propietario de un público personalizado debe ser el nombre del paquete de la app que realiza la llamada.
  • Las APIs de FLEDGE ahora validan la app que realiza la llamada con un conjunto de restricciones y limitaciones que se describen en la guía para desarrolladores. A continuación, se muestran algunos ejemplos notables.
    • selectAds y reportImpression ahora tienen límites de tiempo de ejecución. Después de esa fecha, se finalizará la llamada.
    • selectAds y reportImpression ahora tienen un límite para la memoria consumida durante la ejecución de JavaScript. Las APIs mostrarán un error si el consumo de memoria supera los límites configurados.
    • selectAds y reportImpression ahora validan el objeto AdSelectionConfig para garantizar que los campos sean sintácticamente válidos y que las URLs estén en el eTLD+1 que se usa en el campo del vendedor.
    • AdServices ahora valida los públicos personalizados en el momento de la creación. Parte de esta validación incluye garantizar que la hora de vencimiento sea válida y aplicar un límite a la cantidad de públicos personalizados que puede crear una app y el tamaño total de los anuncios que se proporcionan en la llamada joinCustomAudience. La validación también implica que los URIs proporcionados para la recuperación de la lógica de ofertas y de los indicadores y la recuperación en segundo plano se encuentran en el dominio del comprador.
  • Los metadatos de público personalizados se actualizan a diario con un proceso de recuperación en segundo plano.
  • Los públicos personalizados se quitan cuando se desinstala la app de "propietario".
  • Se agregó compatibilidad para especificar indicadores de puntuación y datos de ofertas de confianza durante la selección de anuncios. Consulta la muestra de código para conocer el formato de respuesta.
  • FLEDGE para las APIs de Android depende de la versión de WebView 105.0.5195.58 o una posterior. A fin de obtener más información, consulta la información de configuración en la guía para desarrolladores.
  • Problemas conocidos:

    • Por el momento, cuando te unes a un público personalizado, la plataforma no realiza actualizaciones en segundo plano de inmediato si alguno de los metadatos o los valores de AdData está vacío o es null. El público personalizado no será apto para las selecciones de anuncios hasta que se actualice un día después. Una versión futura hará que los públicos personalizados incompletos sean aptos de inmediato para actualizaciones en segundo plano. El límite de memoria predeterminado actual para la ejecución de JavaScript es demasiado bajo y puede provocar que las cargas de trabajo normales fallen en JavascriptEngine en los dispositivos. Tu ejecución de JavaScript puede terminar de forma inesperada con el mensaje de error "Fatal javascript OOM in CALL_AND_RETRY_LAST".

      Puedes resolver esto de manera manual si configuras el umbral de memoria adecuado con el siguiente comando:

      adb shell "device_config put adservices fledge_js_isolate_enforce_max_heap_size 10485760"
      
    • Los anuncios de público personalizados que no coinciden con la estructura JSON requerida se actualizan durante la recuperación en segundo plano.

API de Topics

  • Se actualizó la taxonomía a fin de clasificar las apps para dispositivos móviles.
  • Se actualizaron la propuesta de diseño y las apps de ejemplo con el lanzamiento de la IU de configuración para ver los temas asignados.

Actualizaciones de herramientas

Android Studio Canary es compatible con la compilación de APKs de SDK con un nuevo tipo de módulo. Se actualizó la Guía para desarrolladores del entorno de ejecución del SDK, y las apps de ejemplo de Privacy Sandbox en GitHub reflejan esta actualización.

Versión preliminar para desarrolladores 4

Fecha de lanzamiento: 14 de julio de 2022

Privacy Sandbox en la Vista previa para desarrolladores de Android 4 agrega mejoras a las siguientes áreas:

Entorno de ejecución de SDK

  • Las apps ahora pueden comunicarse con los SDK habilitados para el entorno de ejecución (SDK) mediante la adición de sendData().
  • El almacenamiento local ahora está disponible en el proceso del entorno de ejecución de SDK.
  • Un SDK también puede renderizar anuncios o contenido de video independientes en el entorno de ejecución del SDK.
  • Se agregaron aclaraciones sobre el uso de reflejo para incluir la capacidad de usar la reflexión, siempre que el contenido no esté en otro SDK de RE.

API de Attribution Reporting

Esta versión introduce cambios para mejorar la claridad en lo que respecta al uso de la API de Attribution Reporting, como los siguientes:

  • Cambios en el formato de informe agregado para mejorar la legibilidad
  • Campos actualizados de encabezado de las funciones de filtrado de conversiones y ofertas
  • Aclaraciones añadidas en la referencia de la API de WebApp para explicar el registro fuente y de activación, así como la disponibilidad y privacidad de la API de consentimiento.

FLEDGE en la API de Android

Esta versión incluye nuevas funciones para ayudar en las pruebas y la depuración, así como mejoras internas:

  • Agregamos compatibilidad con la anulación de URL remotas para recuperar la lógica de JavaScript durante el desarrollo.
  • Mejoramos los informes de errores generados durante la selección de anuncios.
  • Los públicos personalizados inactivos ahora se filtran durante la selección de anuncios.

API de Topics

Esta versión incluye varios cambios significativos en la API de Topics, el más importante:

  • El tipo de datos que se muestra de la API de getTopics() se cambió al nuevo tipo de objeto Topic, que encapsula IDs enteros que corresponden a Topics en la taxonomía, la información sobre las versiones del clasificador y la taxonomía. Debes actualizar cualquier app existente con esta API.
  • La API de Topics ahora requiere un nuevo permiso normal.
  • Se agregó el sistema "Clasificador integrado en dispositivo" para asignar Topics de forma dinámica según la información disponible públicamente en la app.

Problemas conocidos

  • La versión inicial de estas imágenes de dispositivos (revisión 6) no se carga en la versión 31.2.10 del emulador de Android. Las imágenes de dispositivos actualizadas que abordan el problema están disponibles desde el 27 de julio de 2022.

Vista preliminar para desarrolladores 3

Fecha de lanzamiento: 9 de junio de 2022

Privacy Sandbox en Android de la Vista previa para desarrolladores 3 agrega funcionalidad para la API de Attribution Reporting y FLEDGE en Android.

API de Attribution Reporting

La API de Attribution Reporting mejora la privacidad del usuario, ya que quita la dependencia de los identificadores de usuario entre varias partes y admite casos de uso clave para la medición de atribución y conversión en apps.

Esta versión incluye recursos para desarrolladores que te ayudarán a probar las siguientes funciones de la API de Attribution Reporting:

  • Registrar la fuente de atribución y los eventos del activador
  • Ejercer una atribución priorizada por la fuente y posterior a la instalación
  • Recibir informes de eventos
  • Recibir informes agregables, que no estén encriptados en esta versión

Se proporcionan una app de ejemplo y un servidor de AdTech de referencia para ayudar en las pruebas.

Problemas conocidos:

FLEDGE en Android

FLEDGE en Android presenta una nueva forma de mostrar anuncios en función de públicos personalizados definidos por los desarrolladores de apps y las interacciones dentro de ellas. Esta solución almacena la información y los anuncios asociados de forma local, y proporciona un framework para organizar los flujos de trabajo de selección de anuncios.

Esta versión incluye recursos para desarrolladores que te ayudarán a probar las siguientes funciones de FLEDGE en Android:

  • Unirse a un público personalizado o abandonarlo y observar cómo los valores de los parámetros pueden afectar los resultados de la subasta
  • Obtener el código de subasta de JavaScript desde extremos remotos
  • Configurar e iniciar subastas de anuncios en el dispositivo
  • Controlar los informes de impresiones
  • Se proporcionan una app de ejemplo y parámetros de configuración de un servidor simulado para ayudar con las pruebas.

Problemas conocidos:

  • Un público personalizado puede participar en la selección de anuncios incluso antes de su "hora de activación".

Vista previa para desarrolladores 2

Fecha de lanzamiento: 17 de mayo de 2022

La Vista previa para desarrolladores 2 incluye vistas previas de las API de Informes de atribución de MeasurementManager.

  • Puedes llamar a registerSource() y registerTrigger() a fin de registrar eventos de anuncios de aplicación y recibir datos de informes a nivel del evento para la atribución entre apps. Nuestra implementación actual usa la atribución de último contacto. Los informes están programados para enviarse según lo definido por las ventanas de informes. Consulta la referencia de la API de MeasurementManager para obtener más información.
  • La carga real del informe se produce al final de intervalos fijos y no en la hora programada exacta. El intervalo para subir informes es de 4 horas de forma predeterminada, pero se puede anular con el siguiente comando adb:

    adb shell device_config put adservices measurement_main_reporting_job_period_ms <duration in milliseconds>
    
  • Se publicará una app de ejemplo y un servidor de tecnología publicitaria para probar las APIs en una versión futura.

  • Otras funciones de la API de Attribution Reporting de MeasurementManager, como los informes agregados, la atribución posterior a la instalación y los redireccionamientos, estarán disponibles en una versión posterior.

Vista previa para desarrolladores 1

Fecha de lanzamiento: 28 de abril de 2022

La Vista previa para desarrolladores 1 incluye vistas previas iniciales de la API de Topics y el entorno de ejecución del SDK. La funcionalidad para FLEDGE en Android y las API de Attribution Reporting estarán disponibles en una versión futura.

  • API de Topics
    • Por el momento, la API de getTopics() muestra valores de prueba basados en la clasificación sin conexión de un conjunto limitado de apps. Todavía no se implementaron las clasificaciones integradas en el dispositivo.
    • Puedes usar comandos adb para anular los intervalos de época y forzar o activar el cálculo de la época.
    • Consulta la Guía para desarrolladores de Topics a fin de obtener más detalles.
  • Entorno de ejecución del SDK
    • Puedes empaquetar y compilar SDK habilitados para el entorno de ejecución (SDK de RE) mediante el nuevo elemento <sdk-library> en el archivo de manifiesto de tu app del SDK. Instala los SDK de RE en un emulador o dispositivo de prueba compatible, de la misma forma que lo harías normalmente en una app durante el desarrollo.
    • Puedes integrar una app con los SDK de RE, cargarlos en el entorno de ejecución del SDK y realizar pruebas del impacto del acceso restringido en el código del SDK (permisos, memoria y comunicaciones de la app al SDK). Todavía no se implementaron las APIs de Storage para los SDK de RE, pero estarán disponibles en una versión futura.
    • Un SDK puede renderizar anuncios de banner basados en WebView o contenido en el entorno de ejecución del SDK.
    • Si deseas obtener más información, consulta la guía para desarrolladores del entorno de ejecución del SDK.
  • Verificaciones de lint de Android
    • Las verificaciones de lint de Android pueden mostrar advertencias incorrectas en proyectos compilados con el nivel de API TiramisuPrivacySandbox. Por ejemplo, es posible que veas el mensaje de advertencia "La llamada requiere el nivel de API 33". Puedes solucionar de forma temporal este problema mediante la anotación @SuppressLint("NewApi").