IU de privacysandbox
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 20 de mayo de 2025 | - | - | - | 1.0.0-alpha16 |
Cómo declarar dependencias
Para agregar una dependencia en privacysandbox-ui, debes agregar 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-alpha16" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha16" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha16" }
Kotlin
dependencies { // Use to implement privacysandbox ui-client implementation("androidx.privacysandbox.ui:ui-client:1.0.0-alpha16") // Use to implement privacysandbox ui-core implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha16") // Use to implement privacysandbox ui-provider implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha16") }
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-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án enSessionObserver.onUiContainerChanged()si se incluyeSandboxedUiAdapterSignalOptions.OBSTRUCTIONSen elSessionObserverFactory.signalOptionsasociado. Las obstrucciones se informan en relación con la vista.
Cambios en la API
- Se trasladó
SandboxedSdkUide ui-client a una nueva biblioteca ui-client-compose. - Se agregó lógica para medir obstrucciones en contenedores de IU. (I34bea).
Correcciones de errores
- Se corrigió
SandboxedSdkView.setAlpha(), que ahora actualiza la versión 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 en 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 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 indicadores, 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 de SDK y el orden en Z de
SandboxedSdkViewoSandboxedSdkUies "arriba", la ventana del proveedor recibe exclusivamente el gesto 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 similar al deSandboxedSdkViewySandboxedUiAdapter. - Todas las APIs agregadas en esta versión están detrás de la marca
@RequiresOptInSharedUiPresentationApi.
Cambios en la API
- Se agregaron las APIs de administración de sesiones y registro de recursos a
SharedUiContainer. La administración de sesiones se implementa conSharedUiAdapter, que se presentó en la misma versión. (Ic60b0). - Se agregó
SharedUiContainerque puede alojar la IU 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 de 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 componible llamado
SandboxedSdkUique se puede usar para mostrar contenido remoto dentro de una IU de Compose. Este objeto utiliza conceptosSandboxedSdkViewexistentes 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 debe usar para pasar valores que serán constantes durante el ciclo de vida deSandboxedUiAdapter.Session. (Ibc0df, I28435)
Errores conocidos
- Los eventos
SessionObserverno se envían paraSandboxedSdkUicuando se desplaza. SandboxedSdkUino se recorta con las vistas superiores cuando está en el modo Z-above.
Cambios en la API
- Se quitó el código
SDKActivityLauncherobsoleto (I49a4f). - Se agregó una nueva interfaz
SessionObserverFactoryRegistrypara separar la lógica de registro de la fábrica de observadores deSandboxedUiAdapter. (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 eventos de IU que se muestra, sesión cerrada y error de sesión.
Cambios en la API
- Se agregó
SandboxedSdkViewEventListenerpara escuchar eventos de 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 solucione el error subyacente del framework). (Id420d). - Se corrigió el error
RemoteExceptionque podía ocurrir si el proceso remoto fallaba 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á unSandboxedUiAdapter.Sessionnuevo para el delegado nuevo. Esto permite transiciones fluidas entre delegados. (I5f1c5, I9e3e7). - Se agregó una mejor compatibilidad con
SandboxedSdkViewpara el padding. (Ic414f).
Correcciones de errores
- Se corrigió el
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 sesión para que solo se abra una sesión dentro de un
SandboxedSdkViewsi la ventana que contiene elSandboxedSdkViewes 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 de acceso a las nuevas APIs de la plataforma, ya que esto se realiza automáticamente a través del modelado de API 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 usen AGP que actualicen a la versión 8.1 de D8 o una posterior. 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 IU usen estas clases abstractas. - Se agregó una lógica
registerObserverFactoryque permite que unSessionObserverFactoryse adjunte a unSandboxedUiAdapter. Cuando se conecta unSessionObserverFactorya un adaptador, se crea unSessionObserverpara cada sesión de IU nueva que se crea para ese adaptador. ElSessionObservercreado recibirá una devolución de llamada deonSessionOpenedcuando se abra la sesión de la IU. Cuando cambie la presentación de la IU de la vista deSession, se llamará aSessionObserver.onUiContainerChanged.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 es visible 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 agregó la interfaz y la lógica de registro de
SessionObserver. (I047dc). - Agrega
AbstractSandboxedUiAdapteryAbstractSession. (I3617a)
Errores conocidos
- Cuando el proveedor de la IU está 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 dePoolingContainerpara garantizar que la sesión pueda persistir a través de la separación de la ventana.
Cambios en la API
- APIs de actividad de Privacy Sandbox obsoletas Ahora, estas APIs se pueden encontrar en la biblioteca de Activity
androidx.privacysandbox.activitydedicada. (I68beb).
Correcciones de errores
- Se corrigió el error de renderización cuando se mostraba contenido remoto dentro de contenedores de agrupación. (I804df).
- Se corrigió un error que causaba 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 la IU cuandoPoolingContainerindique que se pueden liberar los recursos, en lugar de hacerlo cuando se desconecta la ventana. (I2046b)
Contribución externa
GestureDetectorCompatdejó de estar disponible, 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ó una lógica que permite que el cambio de tamaño de los contenedores de host y proveedor se confirme en el mismo marco para evitar bloqueos visibles de la IU. (Ic2cd9)
Cambios en la API
- Se actualizó el nivel de API mínimo de la biblioteca a la versión 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 "superior de límite" en la que puede desplazarse. Esto garantiza que el contenido deSandboxedSdkViewno oculte otras vistas ni componentes 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 correcto del orden en Z al host. (Ib0ddf).
- Solo transfiere el enfoque táctil para los desplazamientos o deslizamientos verticales. (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 arrastre que se originan en
SandboxedSdkView. Esto permite que la IU del proveedor de host de contenedor desplazable del cliente responda correctamente a los desplazamientos y deslizamientos.
Cambios en la API
- Se agregó el parámetro
windowInputTokenaSandboxedUiAdapter(Ief578).
Correcciones de errores
- Se estableció el estado de la sesión como activo después del primer sorteo (I36f3f).
- Se solucionó el 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 con el host de la jerarquía incorporada. (Ief578). - Ejecuta
notifyResizeddentro del subproceso principal. (I62440). - Se corrigió la 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 para permitir 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 en Z. No se notificará explícitamente al proveedor de la IU si se cambia el orden en 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 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
notifyZOrderChangedpara que se notifique al proveedor de la IU sobre todos los cambios de orden en 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 inconsistencias de 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 bibliotecas de Jetpack nuevas 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 que proporcione el SDK (proveedor).