UI de privacysandbox
| Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
|---|---|---|---|---|
| 20 mai 2025 | - | - | - | 1.0.0-alpha16 |
Déclarer des dépendances
Pour ajouter une dépendance sur privacysandbox-ui, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :
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") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.0
Version 1.0.0-alpha16
20 mai 2025
Publication d'androidx.privacysandbox.ui:ui-*:1.0.0-alpha16. La version 1.0.0-alpha16 contient ces commits.
Nouvelles fonctionnalités
- Ajout d'une logique pour mesurer les obstacles sur
SandboxedSdkView, qui seront envoyés dansSessionObserver.onUiContainerChanged()siSandboxedUiAdapterSignalOptions.OBSTRUCTIONSest inclus dans leSessionObserverFactory.signalOptionsassocié. Les obstacles sont signalés par rapport à la vue elle-même.
Modifications apportées à l'API
SandboxedSdkUia été déplacé de ui-client vers une nouvelle bibliothèque ui-client-compose.- Ajout d'une logique pour mesurer les obstructions sur les conteneurs d'UI. (I34bea)
Correction de bugs
- Correction de
SandboxedSdkView.setAlpha(), qui met désormais à jour l'alpha de sa vue de contenu.
Version 1.0.0-alpha15
26 mars 2025
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha15, androidx.privacysandbox.ui:ui-core:1.0.0-alpha15 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15. La version 1.0.0-alpha15 contient ces commits.
Nouvelles fonctionnalités
- Définissez l'ordre Z par défaut de
SandboxedSdkViewetSandboxedSdkUisur "below" (En dessous), ce qui indique que la surface du fournisseur est désormais placée sous la fenêtre du client. Ajout de la prise en charge du fournisseur d'UI pour recevoirMotionEventsdans ce mode après avoir été reçu par la fenêtre cliente. - Ajout d'un champ
signalOptionsà l'interfaceSessionObserverFactory. Cela permet de définir un ensemble d'options de chaîne qui seront utilisées pour déterminer les signaux collectés pour leSessionObserverassocié. L'ensemble initial de signaux est défini dansSandboxedUiAdapterSignalOptions. Si aucune option de signal n'est définie, seulsSessionObserver.onSessionOpened()etSessionObserver.onSessionClosed()sont appelés.
Modifications apportées à l'API
SessionConstantsa été renomméSessionDatadansSandboxedUiAdapter.openSession().
Problèmes connus
- Lorsque le SDK est chargé dans le SDK Runtime et que l'ordre de plan de
SandboxedSdkViewouSandboxedSdkUiest défini sur "au-dessus", le geste est reçu exclusivement par la fenêtre du fournisseur et n'est plus transféré vers la fenêtre cliente.
Version 1.0.0-alpha14
26 février 2025
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha14, androidx.privacysandbox.ui:ui-core:1.0.0-alpha14 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14. La version 1.0.0-alpha14 contient ces commits.
Nouvelles fonctionnalités
- Vous pouvez désormais créer une "UI partagée", c'est-à-dire une UI pouvant comporter des éléments appartenant au client et au fournisseur. L'UI partagée peut être hébergée à l'aide de
SharedUiContainer, qui étendViewGroup. Les nouvelles API utilisent le concept de gestion de session semblable à celui deSandboxedSdkViewetSandboxedUiAdapter. - Toutes les API ajoutées dans cette version sont derrière l'indicateur
@RequiresOptInSharedUiPresentationApi.
Modifications apportées à l'API
- Ajout des API de gestion des sessions et d'enregistrement des éléments à
SharedUiContainer. La gestion des sessions est implémentée à l'aide deSharedUiAdapter, introduit dans la même version. (Ic60b0) - Ajout de
SharedUiContainerpouvant héberger une UI appartenant au client et au fournisseur. Elle place toutes ses vues enfants en haut à gauche. (Ia7310) - Ajout de la rétrocompatibilité pour
SharedUiAdapter. (I56d7a) - Ajout de
SharedUiAdapterpour la gestion des sessions des conteneurs de vue pouvant héberger une UI appartenant au client et au fournisseur. La logique de gestion des sessions est semblable à celle deSandboxedUiAdapter. (I501f6)
Correction de bugs
- Calculez la visibilité lorsque
onVisibilityAggregatedest appelé. (I91c69)
Problèmes connus
- Lorsqu'il est placé dans une
PoolingContainer,SharedUiContainerferme la session lors de la dissociation de la fenêtre.
Version 1.0.0-alpha13
29 janvier 2025
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha13, androidx.privacysandbox.ui:ui-core:1.0.0-alpha13 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13. La version 1.0.0-alpha13 contient ces commits.
Nouvelles fonctionnalités
- Ajout d'un objet composable appelé
SandboxedSdkUi, qui permet d'afficher du contenu distant dans une UI Compose. Cet objet utilise les conceptsSandboxedSdkViewexistants pour la gestion des sessions et les écouteurs d'événements. (I009cf) - Modification de la signature
SandboxedUiAdapter.openSessionpour inclure un nouveau paramètreSessionConstantsqui remplace l'ancienwindowInputToken. Ce paramètre doit être utilisé pour transmettre des valeurs qui seront constantes pendant toute la durée de vie de l'SandboxedUiAdapter.Session. (Ibc0df, I28435)
Problèmes connus
- Les événements
SessionObserverne sont pas envoyés pourSandboxedSdkUilors du défilement. SandboxedSdkUin'est pas rogné par les vues parent lorsqu'il est en mode Z-above.
Modifications apportées à l'API
- Suppression du code
SDKActivityLauncherobsolète (I49a4f) - Séparation de la logique d'enregistrement de l'usine d'observateur de
SandboxedUiAdapteren ajoutant une nouvelle interfaceSessionObserverFactoryRegistry. (I245cc)
Version 1.0.0-alpha12
11 décembre 2024
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha12, androidx.privacysandbox.ui:ui-core:1.0.0-alpha12 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12. La version 1.0.0-alpha12 contient ces commits.
Nouvelles fonctionnalités
StateChangedListenera été remplacé parSandboxedSdkViewEventListener. Cet écouteur d'événements peut être utilisé pour écouter les événements d'UI affichée, de session fermée et d'erreur de session.
Modifications apportées à l'API
- Ajoute
SandboxedSdkViewEventListenerpour écouter les événements d'interface utilisateur dansSandboxedSdkView. Cette version supprime égalementStateChangedListener. (Id71ea)
Correction de bugs
- Suppression de la logique de limites de découpage de
SandboxedSdkView. Cela entraînera des problèmes d'expérience utilisateur siSandboxedSdkViewest placé dans un conteneur à faire défiler et queorderProviderUiAboveClientUi(false)n'a pas été appelé (jusqu'à ce que le bug du framework sous-jacent soit corrigé). (Id420d) - Correction d'une exception
RemoteExceptionqui pouvait se produire si le processus distant s'arrêtait lors de l'utilisation deDelegatingSandboxedUiAdapter.
Version 1.0.0-alpha11
13 novembre 2024
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha11, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11. La version 1.0.0-alpha11 contient ces commits.
Nouvelles fonctionnalités
- Introduction d'une API expérimentale,
DelegatingSandboxedUiAdapter, qui étendSandboxedUiAdapteret peut être utilisée pour déléguer entre différentsSandboxedUiAdapters. Lorsque cet adaptateur est défini sur un conteneur client tel queSandboxedSdkView, l'adaptateur délégué peut modifier l'adaptateur délégué à l'aide deupdateDelegate. La session existante est alors fermée, et unSandboxedUiAdapter.Sessionest créé pour le nouveau délégué. Cela permet des transitions fluides entre les délégués. (I5f1c5, I9e3e7) - Amélioration de la prise en charge de la marge intérieure par
SandboxedSdkView. (Ic414f)
Correction de bugs
- Correction d'une exception
NullPointerExceptionpouvant se produire lors d'un événement de mise en page global.
Version 1.0.0-alpha10
18 septembre 2024
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha10, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10. La version 1.0.0-alpha10 contient ces commits.
Nouvelles fonctionnalités
- Mise à jour de la logique d'ouverture de session pour n'ouvrir une session dans un
SandboxedSdkViewque si la fenêtre contenant leSandboxedSdkViewest visible. - Mise à jour de la logique
SessionObserverpour envoyeronUiContainerChangedlorsque la visibilité de la fenêtre contenantSandboxedSdkViewchange.
Correction de bugs
- Appeler
onUiContainerChangedlorsque la visibilité de la fenêtre change (I541cf) - Suppression de la description manuelle de l'accès aux nouvelles API de la plate-forme, car cela se produit automatiquement via la modélisation d'API lorsque vous utilisez R8 avec AGP 7.3 ou version ultérieure (par exemple, R8 version 3.3) et pour tous les builds lorsque vous utilisez AGP 8.1 ou version ultérieure (par exemple, D8 version 8.1). Les clients qui n'utilisent pas AGP sont invités à passer à la version 8.1 de D8 ou ultérieure. Consultez cet article pour en savoir plus. (If6b4c, b/345472586)
Version 1.0.0-alpha09
26 juin 2024
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha09, androidx.privacysandbox.ui:ui-core:1.0.0-alpha09 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09. La version 1.0.0-alpha09 contient ces commits.
Nouvelles fonctionnalités
- Ajout des classes abstraites
AbstractSandboxedUiAdapteretAbstractSandboxedUiAdapter.AbstractSession, qui peuvent être utilisées par les fournisseurs d'UI pour éviter d'implémenter l'ensemble des interfacesSandboxedUiAdapterouSession. Nous recommandons aux fournisseurs d'UI d'utiliser ces classes abstraites. - Ajout d'une logique
registerObserverFactorypermettant d'associer unSessionObserverFactoryà unSandboxedUiAdapter. Lorsqu'unSessionObserverFactoryest associé à un adaptateur, unSessionObserverest créé pour chaque nouvelle session d'interface utilisateur créée pour cet adaptateur. LeSessionObservercréé recevra un rappelonSessionOpenedlorsque la session d'interface utilisateur sera ouverte. Lorsque la présentation de l'UI de la vue deSessionchange,SessionObserver.onUiContainerChangedest appelé.onUiContainerChangedest limité et sera appelé au maximum toutes les 200 ms. - Ajout de
SandboxedSdkViewUiInfo, qui peut être créé à partir duBundleenvoyé dansSessionObserver.onUiContainerChanged. Cet objet représente l'état de l'UI deSandboxedSdkViewqui héberge la session d'UI. Il contient des informations sur la hauteur et la largeur, unRectreprésentant la géométrie de la vue visible à l'écran et un indice d'opacité représentant l'opacité de la vue.
Modifications apportées à l'API
- Ajoutez une indication d'opacité à
SandboxedSdkViewUiInfo. (I093ac) - Ajoutez
SessionObserver.onUiContainerChangedetSandboxedSdkViewUiInfo. (Ie98bc) - Ajout de l'interface
SessionObserveret de la logique d'enregistrement. (I047dc) - Ajoutez
AbstractSandboxedUiAdapteretAbstractSession. (I3617a)
Problèmes connus
- Lorsque le fournisseur d'UI se trouve dans le même processus que l'application cliente,
SessionObserver.onUiContainerChangedn'est pas envoyé lorsque le conteneur défile.
Version 1.0.0-alpha08
14 mai 2024
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha08, androidx.privacysandbox.ui:ui-core:1.0.0-alpha08 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08. La version 1.0.0-alpha08 contient ces commits.
Nouvelles fonctionnalités
- Ajout de la prise en charge de l'utilisation de
SandboxedSdkViewdans unePoolingContainer, telle qu'uneRecyclerView. Lorsqu'unSandboxedSdkViewa un parent qui est unPoolingContainer, le cycle de vie de ses sessions d'UI est aligné sur celui duPoolingContainerpour s'assurer que la session peut persister lors de la dissociation de la fenêtre.
Modifications apportées à l'API
- API Activity de la Privacy Sandbox obsolètes Ces API sont désormais disponibles dans la bibliothèque d'activités dédiée
androidx.privacysandbox.activity. (I68beb)
Correction de bugs
- Correction d'un bug de rendu lors de l'affichage de contenu distant dans des conteneurs de mise en pool. (I804df)
- Correction d'un bug qui entraînait des problèmes de rendu pour
ViewGroupsen mode rétrocompatibilité. (I8de92) - Lorsqu'un des parents de
SandboxedSdkViewest unPoolingContainer, fermez la session d'interface utilisateur lorsquePoolingContainerindique que les ressources peuvent être libérées, au lieu de la dissocier de la fenêtre. (I2046b)
Contribution externe
GestureDetectorCompatest désormais obsolète, carGestureDetectorest disponible depuisminSdk. (Icc4cd)
Version 1.0.0-alpha07
18 octobre 2023
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha07, androidx.privacysandbox.ui:ui-core:1.0.0-alpha07 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07.
Nouvelles fonctionnalités
- Ajout de la rétrocompatibilité pour la bibliothèque. Avec l'API 33 et les versions antérieures, la vue du fournisseur est affichée dans le processus de l'application, dans un autre chargeur de classe. (If0b7a)
- Ajout d'une logique permettant de valider le redimensionnement des conteneurs hôte et du fournisseur dans le même frame afin d'éviter les à-coups visibles dans l'UI. (Ic2cd9)
Modifications apportées à l'API
- MinSdk de la bibliothèque remplacé par l'API 21. (I474b8)
Version 1.0.0-alpha06
20 septembre 2023
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha06, androidx.privacysandbox.ui:ui-core:1.0.0-alpha06 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06.
Nouvelles fonctionnalités
- Ajout d'une logique pour découper
SandboxedSdkViewdans la vue "parente englobante" dans laquelle il peut défiler. Cela garantit que le contenu deSandboxedSdkViewn'obstrue pas d'autres vues ni aucun composant d'UI en dehors de la vue de contenu racine. (I9ea94)
Modifications apportées à l'API
SandboxedSdkView.setZOrderOnTopAndEnableUserInteractiona été renomméorderProviderUiAboveClientUi. (Iecb7e)
Correction de bugs
- Envoyez la valeur d'ordre Z correcte à l'hôte. (Ib0ddf)
- Ne transférez le focus tactile que pour les défilements/glisses verticaux. (I0528c)
Version 1.0.0-alpha05
9 août 2023
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha05, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05
Nouvelles fonctionnalités
- Ajout d'une logique pour transférer la sélection tactile vers l'hôte lors des gestes de défilement et de balayage à partir de
SandboxedSdkView. Cela permet à l'UI du fournisseur d'hébergement de conteneur à faire défiler du client de répondre correctement aux défilements et aux balayages.
Modifications apportées à l'API
- Ajout du paramètre
windowInputTokenàSandboxedUiAdapter(Ief578)
Correction de bugs
- Définir l'état de la session sur "Active" après le premier tirage (I36f3f)
- Correction d'un problème de mise en page avec
SandboxedSdkView. (I09cb8) - Ajout d'une logique pour transférer la sélection tactile vers l'hôte. (I33b54)
- Ajout du paramètre
windowInputTokenàSandboxedUiAdapter. Cette étape est nécessaire pour vous assurer que le jeton deSurfaceControlViewHostest correctement associé à l'hôte de la hiérarchie intégrée. (Ief578) - Exécutez
notifyResizeddans le thread principal. (I62440) - Correction d'un plantage dans le flux
Session.close(). (I5392e)
Version 1.0.0-alpha04
21 juin 2023
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha04, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04
Nouvelles fonctionnalités
- Présentez
SdkActivityLauncher. Interface permettant aux SDK compatibles avec l'environnement d'exécution de lancer des activités. (I5b3dc)
Correction de bugs
- Correction de la condition de concurrence
notifyZOrderChanged. S'assure que le fournisseur d'UI est informé de toutes les modifications d'ordre Z. Le fournisseur d'UI n'est pas explicitement informé si l'ordre Z de l'SandboxedSdkViewest modifié avant l'appel de openSession.
Version 1.0.0-alpha03
24 mai 2023
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha03, androidx.privacysandbox.ui:ui-core:1.0.0-alpha03 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03
Nouvelles fonctionnalités
StateChangedListenerinforme l'application des modifications apportées à la session de l'UI.
Modifications apportées à l'API
- Ajout de
StateChangedListenerpour remplacerErrorConsumer. (Icd5d3)
Correction de bugs
- Correction de la condition de course
notifyZOrderChangedafin que le fournisseur d'UI soit informé de toutes les modifications de l'ordre Z
Version 1.0.0-alpha02
19 avril 2023
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha02, androidx.privacysandbox.ui:ui-core:1.0.0-alpha02 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02
Correction de bugs
- Test de non-régularité désactivéChangingSandboxedSdkViewLayoutChangesChildLayout
Version 1.0.0-alpha01
8 mars 2023
Publication d'androidx.privacysandbox.ui:ui-client:1.0.0-alpha01, androidx.privacysandbox.ui:ui-core:1.0.0-alpha01 et androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
- Il s'agit de nouvelles bibliothèques Jetpack que les applications et les SDK compatibles avec l'environnement d'exécution (Privacy Sandbox) peuvent utiliser pour permettre à l'application (client) d'héberger n'importe quelle UI fournie par le SDK (fournisseur).