IU de privacysandbox

  
PENDIENTE
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
17 de diciembre de 2025 - - - 1.0.0-alpha17

Cómo declarar dependencias

Para agregar una dependencia en privacysandbox-ui, debes incorporar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    // Use to implement privacysandbox ui-client
    implementation "androidx.privacysandbox.ui:ui-client:1.0.0-alpha17"

    // Use to implement privacysandbox ui-core
    implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha17"

    // Use to implement privacysandbox ui-core
    implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha17"
}

Kotlin

dependencies {
    // Use to implement privacysandbox ui-client
    implementation("androidx.privacysandbox.ui:ui-client:1.0.0-alpha17")

    // Use to implement privacysandbox ui-core
    implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha17")

    // Use to implement privacysandbox ui-provider
    implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha17")

    
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.0

Versión 1.0.0-alpha17

17 de diciembre de 2025

Lanzamiento de androidx.privacysandbox.ui:ui-*:1.0.0-alpha17. La versión 1.0.0-alpha17 contiene estas confirmaciones.

  • Esta biblioteca dejó de estar disponible y no recibirá actualizaciones en el futuro.

Cambios en la API - Se marcaron como obsoletas las APIs de privacysandbox.ui (I858d5, b/452878636) - Se cambió minSdk de la API nivel 21 a 23 (Ifa120, b/380448311) - Se desacopló la SandboxedSdkUi experimental de la no experimental. (Ie9154, b/430118542) - SdkSandboxControllerCompat migró a sdkruntime-provider (Id99fb, b/426122358) - La app cliente no puede cambiar el nivel Z de la IU del proveedor en relación con la ventana del cliente con SandboxedSdkView o SandboxedSdkUi. (I87e9f, b/413659157)

Correcciones de errores

  • Se trasladó el minSdk predeterminado de la API 21 a la API 23 (Ibdfca, b/380448311, b/435705964, b/435705223).
  • Se agregó compatibilidad con PoolingContainer a la administración de sesiones de SharedUiContainer: La sesión de IU compartida no se cierra si el contenedor está dentro de un PoolingContainer. (Iabe16, b/352500350)

Versión 1.0.0-alpha16

20 de mayo de 2025

Lanzamiento de androidx.privacysandbox.ui:ui-*:1.0.0-alpha16. La versión 1.0.0-alpha16 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó lógica para medir las obstrucciones en SandboxedSdkView, que se enviará en SessionObserver.onUiContainerChanged() si SandboxedUiAdapterSignalOptions.OBSTRUCTIONS se incluye en el SessionObserverFactory.signalOptions asociado. Los obstáculos se informan en relación con la vista.

Cambios en la API

  • Se movió SandboxedSdkUi de ui-client a una nueva biblioteca ui-client-compose.
  • Se agregó lógica para medir las obstrucciones en los contenedores de la IU. (I34bea)

Correcciones de errores

  • Se corrigió SandboxedSdkView.setAlpha(), que ahora actualiza el valor alfa de su vista de contenido.

Versión 1.0.0-alpha15

26 de marzo de 2025

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha15, androidx.privacysandbox.ui:ui-core:1.0.0-alpha15 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15. La versión 1.0.0-alpha15 contiene estas confirmaciones.

Nuevas funciones

  • Establece el orden Z predeterminado de SandboxedSdkView y SandboxedSdkUi en "debajo", lo que indica que la superficie del proveedor ahora se coloca debajo de la ventana del cliente. Se agregó compatibilidad para que el proveedor de la IU reciba MotionEvents en este modo después de que la ventana del cliente lo reciba.
  • Se agregó un campo signalOptions a la interfaz de SessionObserverFactory. Se puede usar para definir un conjunto de opciones de String que se usarán para determinar qué indicadores se recopilan para el SessionObserver asociado. El conjunto inicial de indicadores se define en SandboxedUiAdapterSignalOptions. Si no se configuran opciones de señales, solo se llamará a SessionObserver.onSessionOpened() y SessionObserver.onSessionClosed().

Cambios en la API

  • Se cambió el nombre de SessionConstants a SessionData en SandboxedUiAdapter.openSession().

Errores conocidos

  • Cuando el SDK se carga en el entorno de ejecución del SDK y el orden Z de SandboxedSdkView o SandboxedSdkUi es “above”, la ventana del proveedor recibe el gesto de forma exclusiva y ya no se transfiere a la ventana del cliente.

Versión 1.0.0-alpha14

26 de febrero de 2025

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha14, androidx.privacysandbox.ui:ui-core:1.0.0-alpha14 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14. La versión 1.0.0-alpha14 contiene estas confirmaciones.

Nuevas funciones

  • Ahora puedes crear una "IU compartida", es decir, una IU que puede tener elementos que son propiedad del cliente y del proveedor. La IU compartida se puede alojar con SharedUiContainer, que extiende ViewGroup. Las nuevas APIs utilizan el concepto de administración de sesiones de manera similar a SandboxedSdkView y SandboxedUiAdapter.
  • Todas las APIs agregadas en esta versión se encuentran detrás de la marca SharedUiPresentationApi @RequiresOptIn.

Cambios en la API

  • Se agregaron APIs de administración de sesiones y registro de recursos a SharedUiContainer. La administración de sesiones se implementa con SharedUiAdapter, que se introdujo en la misma versión. (Ic60b0)
  • Se agregó SharedUiContainer, que puede alojar IU propiedad del cliente y del proveedor. Coloca todas sus vistas secundarias en la esquina superior izquierda. (Ia7310)
  • Se agregó compatibilidad con versiones anteriores para SharedUiAdapter. (I56d7a)
  • Se agregó SharedUiAdapter para la administración de sesiones de contenedores de View que pueden alojar IU propiedad del cliente y del proveedor. La lógica de administración de sesiones es similar a la de SandboxedUiAdapter. (I501f6)

Correcciones de errores

  • Calcula la visibilidad cuando se llama a onVisibilityAggregated. (I91c69)

Errores conocidos

  • Cuando se coloca dentro de un PoolingContainer, SharedUiContainer cierra la sesión cuando se desconecta la ventana.

Versión 1.0.0-alpha13

29 de enero de 2025

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha13, androidx.privacysandbox.ui:ui-core:1.0.0-alpha13 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13. La versión 1.0.0-alpha13 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó un objeto Composable llamado SandboxedSdkUi que se puede usar para mostrar contenido remoto dentro de una IU de Compose. Este objeto utiliza conceptos de SandboxedSdkView existentes para la administración de sesiones y los objetos de escucha de eventos. (I009cf)
  • Se cambió la firma de SandboxedUiAdapter.openSession para incluir un nuevo parámetro SessionConstants que reemplaza el windowInputToken anterior. Este parámetro se usa para pasar valores que serán constantes durante la vida útil del objeto SandboxedUiAdapter.Session. (Ibc0df, I28435)

Errores conocidos

  • No se envían eventos SessionObserver para SandboxedSdkUi cuando se desplaza.
  • SandboxedSdkUi no se recorta con las vistas principales cuando está en modo Z-above.

Cambios en la API

  • Se quitó el código SDKActivityLauncher obsoleto (I49a4f).
  • Se separó la lógica de registro de la fábrica de observadores de SandboxedUiAdapter agregando una nueva interfaz SessionObserverFactoryRegistry. (I245cc)

Versión 1.0.0-alpha12

11 de diciembre de 2024

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha12, androidx.privacysandbox.ui:ui-core:1.0.0-alpha12 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.

Nuevas funciones

  • Se reemplazó StateChangedListener con SandboxedSdkViewEventListener. Este objeto de escucha de eventos se puede usar para escuchar los eventos de IU mostrada, sesión cerrada y error de sesión.

Cambios en la API

  • Se agregó SandboxedSdkViewEventListener para escuchar eventos de la IU dentro de SandboxedSdkView. Esta versión también quita StateChangedListener. (Id71ea)

Correcciones de errores

  • Se quitó la lógica de límites de recorte de SandboxedSdkView. Esto causará problemas de UX si SandboxedSdkView se coloca en un contenedor desplazable y no se llamó a orderProviderUiAboveClientUi(false) (hasta que se corrija el error subyacente del framework). (Id420d)
  • Se corrigió el RemoteException que podía producirse si el proceso remoto se bloqueaba mientras se usaba DelegatingSandboxedUiAdapter.

Versión 1.0.0-alpha11

13 de noviembre de 2024

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha11, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.

Nuevas funciones

  • Se introdujo una API experimental, DelegatingSandboxedUiAdapter, que extiende SandboxedUiAdapter y se puede usar para delegar entre diferentes SandboxedUiAdapters. Cuando este adaptador se configura en un contenedor de cliente, como SandboxedSdkView, el adaptador de delegación puede cambiar el adaptador delegado con updateDelegate. Esto cerrará la sesión existente y creará un nuevo SandboxedUiAdapter.Session para el nuevo delegado. Esto permite transiciones fluidas entre los delegados. (I5f1c5, I9e3e7)
  • Se mejoró la compatibilidad de SandboxedSdkView con el padding. (Ic414f)

Correcciones de errores

  • Se corrigió el error NullPointerException que podía ocurrir en un evento de diseño global.

Versión 1.0.0-alpha10

18 de septiembre de 2024

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha10, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.

Nuevas funciones

  • Se actualizó la lógica de apertura de la sesión para que solo se abra una sesión dentro de un SandboxedSdkView si la ventana que contiene el SandboxedSdkView está visible.
  • Se actualizó la lógica de SessionObserver para enviar onUiContainerChanged cuando cambia la visibilidad de la ventana que contiene el SandboxedSdkView.

Correcciones de errores

  • Invoca onUiContainerChanged cuando cambia la visibilidad de la ventana (I541cf).
  • Se quitó el esquema manual del acceso a las nuevas APIs de la plataforma, ya que esto sucede automáticamente a través del modelado de APIs cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usan AGP actualizar a la versión 8.1 o posterior de D8. Consulta este artículo para obtener más detalles. (If6b4c, b/345472586)

Versión 1.0.0-alpha09

26 de junio de 2024

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha09, androidx.privacysandbox.ui:ui-core:1.0.0-alpha09 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.

Nuevas funciones

  • Se introdujeron las clases abstractas AbstractSandboxedUiAdapter y AbstractSandboxedUiAdapter.AbstractSession que los proveedores de IU pueden usar para evitar implementar todas las interfaces SandboxedUiAdapter o Session. Se recomienda que los proveedores de la IU usen estas clases abstractas.
  • Se agregó la lógica de registerObserverFactory que permite que un SessionObserverFactory se adjunte a un SandboxedUiAdapter. Cuando se adjunta un SessionObserverFactory a un adaptador, se crea un SessionObserver para cada sesión de IU nueva que se cree para ese adaptador. El objeto SessionObserver creado recibirá una devolución de llamada onSessionOpened cuando se abra la sesión de la IU. Se llamará a SessionObserver.onUiContainerChanged cuando cambie la presentación de la IU de la vista de Session. onUiContainerChanged se limita y se llamará como máximo cada 200 ms.
  • Se agregó SandboxedSdkViewUiInfo, que se puede crear a partir del Bundle enviado en SessionObserver.onUiContainerChanged. Este objeto representa el estado de la IU del SandboxedSdkView que aloja la sesión de la IU. Contiene información de altura y ancho, un Rect que representa la geometría de la vista que se ve en la pantalla y una sugerencia de opacidad que representa la opacidad de la vista.

Cambios en la API

  • Agrega una sugerencia de opacidad a SandboxedSdkViewUiInfo. (I093ac)
  • Agrega SessionObserver.onUiContainerChanged y SandboxedSdkViewUiInfo. (Ie98bc)
  • Se agregaron la interfaz de SessionObserver y la lógica de registro. (I047dc)
  • Agrega AbstractSandboxedUiAdapter y AbstractSession. (I3617a)

Errores conocidos

  • Cuando el proveedor de la IU se encuentra en el mismo proceso que la aplicación cliente, no se envía SessionObserver.onUiContainerChanged cuando se desplaza el contenedor.

Versión 1.0.0-alpha08

14 de mayo de 2024

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha08, androidx.privacysandbox.ui:ui-core:1.0.0-alpha08 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad para usar SandboxedSdkView dentro de un PoolingContainer, como un RecyclerView. Cuando un SandboxedSdkView tiene un elemento superior que es un PoolingContainer, el ciclo de vida de sus sesiones de IU se alineará con el del PoolingContainer para garantizar que la sesión pueda persistir a través de la separación de la ventana.

Cambios en la API

  • Se desaprobaron las APIs de Activity de Privacy Sandbox. Ahora, estas APIs se pueden encontrar en la biblioteca de actividades dedicada androidx.privacysandbox.activity. (I68beb)

Correcciones de errores

  • Se corrigió un error de renderización que se producía cuando se mostraba contenido remoto dentro de contenedores de pooling. (I804df)
  • Se corrigió un error que ocasionaba problemas de renderización para ViewGroups en el modo de retrocompatibilidad. (I8de92)
  • Cuando uno de los elementos superiores de SandboxedSdkView es un PoolingContainer, cierra la sesión de IU cuando el PoolingContainer indica que se pueden liberar recursos, en lugar de hacerlo cuando se desconecta la ventana. (I2046b)

Contribución externa

  • GestureDetectorCompat ahora es una función obsoleta, ya que GestureDetector está disponible en minSdk. (Icc4cd)

Versión 1.0.0-alpha07

18 de octubre de 2023

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha07, androidx.privacysandbox.ui:ui-core:1.0.0-alpha07 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con versiones anteriores para la biblioteca. En la API 33 y versiones anteriores, la vista del proveedor se renderizará dentro del proceso de la app, en un cargador de clases diferente. (If0b7a)
  • Se agregó lógica que permite confirmar el cambio de tamaño de los contenedores del host y del proveedor en el mismo fotograma para evitar bloqueos visibles en la IU. (Ic2cd9)

Cambios en la API

  • Se actualizó el valor de MinSdk de la biblioteca a la API 21. (I474b8)

Versión 1.0.0-alpha06

20 de septiembre de 2023

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha06, androidx.privacysandbox.ui:ui-core:1.0.0-alpha06 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó lógica para recortar SandboxedSdkView en la vista “principal de límite” dentro de la cual se puede desplazar. Esto garantiza que el contenido de SandboxedSdkView no obstruya otras vistas ni ningún componente de la IU fuera de la vista de contenido raíz. (I9ea94)

Cambios en la API

  • Se cambió el nombre de SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction por orderProviderUiAboveClientUi (Iecb7e).

Correcciones de errores

  • Envía el valor de orden Z correcto al host. (Ib0ddf)
  • Solo transfiere el enfoque táctil para los desplazamientos verticales o los movimientos rápidos. (I0528c)

Versión 1.0.0-alpha05

9 de agosto de 2023

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha05, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó lógica para transferir el enfoque táctil al host en los gestos de desplazamiento y arrastrar y soltar que se originan en SandboxedSdkView. Esto permite que la IU del proveedor de hosting del contenedor desplazable del cliente responda correctamente a los desplazamientos y los movimientos rápidos.

Cambios en la API

  • Se agregó el parámetro windowInputToken a SandboxedUiAdapter (Ief578).

Correcciones de errores

  • Establece el estado de la sesión como Activo después del primer dibujo (I36f3f).
  • Se solucionó un problema de diseño con SandboxedSdkView. (I09cb8)
  • Se agregó lógica para transferir el enfoque táctil al host. (I33b54)
  • Se agregó el parámetro windowInputToken a SandboxedUiAdapter. Esto es necesario para garantizar que el token de SurfaceControlViewHost esté asociado correctamente al host de la jerarquía integrada. (Ief578)
  • Ejecuta notifyResized dentro del subproceso principal. (I62440)
  • Se corrigió una falla en el flujo de Session.close(). (I5392e)

Versión 1.0.0-alpha04

21 de junio de 2023

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha04, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • Presenta el SdkActivityLauncher. Es una interfaz que permite que los SDKs habilitados para el entorno de ejecución inicien actividades. (I5b3dc)

Correcciones de errores

  • Se corrigió la condición de carrera de notifyZOrderChanged. Garantiza que se notifique al proveedor de la IU sobre todos los cambios en el orden Z. No se notificará explícitamente al proveedor de la IU si se cambia el orden Z de SandboxedSdkView antes de invocar openSession.

Versión 1.0.0-alpha03

24 de mayo de 2023

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha03, androidx.privacysandbox.ui:ui-core:1.0.0-alpha03 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • StateChangedListener informa a la aplicación sobre los cambios en la sesión de la IU.

Cambios en la API

  • Se agregó StateChangedListener para reemplazar ErrorConsumer (Icd5d3).

Correcciones de errores

  • Se corrigió la condición de carrera de notifyZOrderChanged para que se notifique al proveedor de la IU sobre todos los cambios en el orden Z.

Versión 1.0.0-alpha02

19 de abril de 2023

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha02, androidx.privacysandbox.ui:ui-core:1.0.0-alpha02 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Se inhabilitó la prueba de inestabilidad ChangingSandboxedSdkViewLayoutChangesChildLayout

Versión 1.0.0-alpha01

8 de marzo de 2023

Lanzamiento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha01, androidx.privacysandbox.ui:ui-core:1.0.0-alpha01 y androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Estas son nuevas bibliotecas de Jetpack que las aplicaciones y los SDKs habilitados para el entorno de ejecución (Privacy Sandbox) pueden usar para permitir que la aplicación (cliente) aloje cualquier IU proporcionada por el SDK (proveedor).