IU de privacysandbox
| 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.
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
minSdkpredeterminado de la API 21 a la API 23 (Ibdfca, b/380448311, b/435705964, b/435705223). - Se agregó compatibilidad con
PoolingContainera la administración de sesiones deSharedUiContainer: La sesión de IU compartida no se cierra si el contenedor está dentro de unPoolingContainer. (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á enSessionObserver.onUiContainerChanged()siSandboxedUiAdapterSignalOptions.OBSTRUCTIONSse incluye en elSessionObserverFactory.signalOptionsasociado. Los obstáculos se informan en relación con la vista.
Cambios en la API
- Se movió
SandboxedSdkUide 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
SandboxedSdkViewySandboxedSdkUien "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 recibaMotionEventsen este modo después de que la ventana del cliente lo reciba. - Se agregó un campo
signalOptionsa la interfaz deSessionObserverFactory. Se puede usar para definir un conjunto de opciones de String que se usarán para determinar qué indicadores se recopilan para elSessionObserverasociado. El conjunto inicial de indicadores se define enSandboxedUiAdapterSignalOptions. Si no se configuran opciones de señales, solo se llamará aSessionObserver.onSessionOpened()ySessionObserver.onSessionClosed().
Cambios en la API
- Se cambió el nombre de
SessionConstantsaSessionDataenSandboxedUiAdapter.openSession().
Errores conocidos
- Cuando el SDK se carga en el entorno de ejecución del SDK y el orden Z de
SandboxedSdkViewoSandboxedSdkUies “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 extiendeViewGroup. Las nuevas APIs utilizan el concepto de administración de sesiones de manera similar aSandboxedSdkViewySandboxedUiAdapter. - 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 conSharedUiAdapter, 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ó
SharedUiAdapterpara 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 deSandboxedUiAdapter. (I501f6)
Correcciones de errores
- Calcula la visibilidad cuando se llama a
onVisibilityAggregated. (I91c69)
Errores conocidos
- Cuando se coloca dentro de un
PoolingContainer,SharedUiContainercierra 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
SandboxedSdkUique se puede usar para mostrar contenido remoto dentro de una IU de Compose. Este objeto utiliza conceptos deSandboxedSdkViewexistentes para la administración de sesiones y los objetos de escucha de eventos. (I009cf) - Se cambió la firma de
SandboxedUiAdapter.openSessionpara incluir un nuevo parámetroSessionConstantsque reemplaza elwindowInputTokenanterior. Este parámetro se usa para pasar valores que serán constantes durante la vida útil del objetoSandboxedUiAdapter.Session. (Ibc0df, I28435)
Errores conocidos
- No se envían eventos
SessionObserverparaSandboxedSdkUicuando se desplaza. SandboxedSdkUino se recorta con las vistas principales cuando está en modo Z-above.
Cambios en la API
- Se quitó el código
SDKActivityLauncherobsoleto (I49a4f). - Se separó la lógica de registro de la fábrica de observadores de
SandboxedUiAdapteragregando una nueva interfazSessionObserverFactoryRegistry. (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ó
StateChangedListenerconSandboxedSdkViewEventListener. 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ó
SandboxedSdkViewEventListenerpara escuchar eventos de la IU dentro deSandboxedSdkView. Esta versión también quitaStateChangedListener. (Id71ea)
Correcciones de errores
- Se quitó la lógica de límites de recorte de
SandboxedSdkView. Esto causará problemas de UX siSandboxedSdkViewse coloca en un contenedor desplazable y no se llamó aorderProviderUiAboveClientUi(false)(hasta que se corrija el error subyacente del framework). (Id420d) - Se corrigió el
RemoteExceptionque podía producirse si el proceso remoto se bloqueaba mientras se usabaDelegatingSandboxedUiAdapter.
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 extiendeSandboxedUiAdaptery se puede usar para delegar entre diferentesSandboxedUiAdapters. Cuando este adaptador se configura en un contenedor de cliente, comoSandboxedSdkView, el adaptador de delegación puede cambiar el adaptador delegado conupdateDelegate. Esto cerrará la sesión existente y creará un nuevoSandboxedUiAdapter.Sessionpara el nuevo delegado. Esto permite transiciones fluidas entre los delegados. (I5f1c5, I9e3e7) - Se mejoró la compatibilidad de
SandboxedSdkViewcon el padding. (Ic414f)
Correcciones de errores
- Se corrigió el error
NullPointerExceptionque 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
SandboxedSdkViewsi la ventana que contiene elSandboxedSdkViewestá visible. - Se actualizó la lógica de
SessionObserverpara enviaronUiContainerChangedcuando cambia la visibilidad de la ventana que contiene elSandboxedSdkView.
Correcciones de errores
- Invoca
onUiContainerChangedcuando 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
AbstractSandboxedUiAdapteryAbstractSandboxedUiAdapter.AbstractSessionque los proveedores de IU pueden usar para evitar implementar todas las interfacesSandboxedUiAdapteroSession. Se recomienda que los proveedores de la IU usen estas clases abstractas. - Se agregó la lógica de
registerObserverFactoryque permite que unSessionObserverFactoryse adjunte a unSandboxedUiAdapter. Cuando se adjunta unSessionObserverFactorya un adaptador, se crea unSessionObserverpara cada sesión de IU nueva que se cree para ese adaptador. El objetoSessionObservercreado recibirá una devolución de llamadaonSessionOpenedcuando se abra la sesión de la IU. Se llamará aSessionObserver.onUiContainerChangedcuando cambie la presentación de la IU de la vista deSession.onUiContainerChangedse limita y se llamará como máximo cada 200 ms. - Se agregó
SandboxedSdkViewUiInfo, que se puede crear a partir delBundleenviado enSessionObserver.onUiContainerChanged. Este objeto representa el estado de la IU delSandboxedSdkViewque aloja la sesión de la IU. Contiene información de altura y ancho, unRectque 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.onUiContainerChangedySandboxedSdkViewUiInfo. (Ie98bc) - Se agregaron la interfaz de
SessionObservery la lógica de registro. (I047dc) - Agrega
AbstractSandboxedUiAdapteryAbstractSession. (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.onUiContainerChangedcuando 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
SandboxedSdkViewdentro de unPoolingContainer, como unRecyclerView. Cuando unSandboxedSdkViewtiene un elemento superior que es unPoolingContainer, el ciclo de vida de sus sesiones de IU se alineará con el delPoolingContainerpara 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
ViewGroupsen el modo de retrocompatibilidad. (I8de92) - Cuando uno de los elementos superiores de
SandboxedSdkViewes unPoolingContainer, cierra la sesión de IU cuando elPoolingContainerindica que se pueden liberar recursos, en lugar de hacerlo cuando se desconecta la ventana. (I2046b)
Contribución externa
GestureDetectorCompatahora es una función obsoleta, ya queGestureDetectorestá disponible enminSdk. (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
SandboxedSdkViewen la vista “principal de límite” dentro de la cual se puede desplazar. Esto garantiza que el contenido deSandboxedSdkViewno 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.setZOrderOnTopAndEnableUserInteractionpororderProviderUiAboveClientUi(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
windowInputTokenaSandboxedUiAdapter(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
windowInputTokenaSandboxedUiAdapter. Esto es necesario para garantizar que el token deSurfaceControlViewHostesté asociado correctamente al host de la jerarquía integrada. (Ief578) - Ejecuta
notifyResizeddentro 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 deSandboxedSdkViewantes 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
StateChangedListenerinforma a la aplicación sobre los cambios en la sesión de la IU.
Cambios en la API
- Se agregó
StateChangedListenerpara reemplazarErrorConsumer(Icd5d3).
Correcciones de errores
- Se corrigió la condición de carrera de
notifyZOrderChangedpara 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).