privacysandbox ui
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
20 maja 2025 r. | - | - | - | 1.0.0-alpha16 |
Deklarowanie zależności
Aby dodać zależność od privacysandbox-ui, musisz dodać repozytorium Maven Google do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
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") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.0
Wersja 1.0.0-alpha16
20 maja 2025 r.
Element androidx.privacysandbox.ui:ui-*:1.0.0-alpha16
został zwolniony. Wersja 1.0.0-alpha16 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano logikę do pomiaru przeszkód na
SandboxedSdkView
, która będzie wysyłana w ramachSessionObserver.onUiContainerChanged()
, jeśliSandboxedUiAdapterSignalOptions.OBSTRUCTIONS
jest uwzględniona w powiązanymSessionObserverFactory.signalOptions
. Przeszkody są raportowane w stosunku do widoku.
Zmiany w interfejsie API
- Komponent
SandboxedSdkUi
został przeniesiony z biblioteki ui-client do nowej biblioteki ui-client-compose. - Dodaliśmy logikę do pomiaru przeszkód w kontenerach interfejsu. (I34bea)
Poprawki błędów
- Naprawiono błąd
SandboxedSdkView.setAlpha()
, który teraz aktualizuje przezroczystość widoku treści.
Wersja 1.0.0-alpha15
26 marca 2025 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha15
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha15
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15
są dostępne. Wersja 1.0.0-alpha15 zawiera te komity.
Nowe funkcje
- Ustaw domyślne uporządkowanie w orientacji Z elementów
SandboxedSdkView
iSandboxedSdkUi
na „poniżej”, co oznacza, że powierzchnia dostawcy jest teraz umieszczona pod oknem klienta. Dodano obsługę dostawcy interfejsu użytkownika, aby w tym trybie otrzymywał onMotionEvents
po otrzymaniu go przez okno klienta. - Dodano pole
signalOptions
do interfejsuSessionObserverFactory
. Możesz użyć tego do zdefiniowania zestawu opcji ciągu znaków, które posłużą do określenia, które sygnały są zbierane w powiązaniu z powiązanymSessionObserver
. Początkowy zestaw sygnałów jest zdefiniowany wSandboxedUiAdapterSignalOptions
. Jeśli nie ustawisz żadnych opcji sygnału, wywoływane będą tylkoSessionObserver.onSessionOpened()
iSessionObserver.onSessionClosed()
.
Zmiany w interfejsie API
- Zmieniono nazwę
SessionConstants
naSessionData
wSandboxedUiAdapter.openSession()
.
Znane problemy
- Gdy pakiet SDK jest wczytany w środowisku wykonawczym SDK, a wartość Z-rzędu
SandboxedSdkView
lubSandboxedSdkUi
to „above”, gest jest odbierany wyłącznie przez okno dostawcy i nie jest już przenoszony do okna klienta.
Wersja 1.0.0-alpha14
26 lutego 2025 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha14
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha14
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14
są dostępne. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.
Nowe funkcje
- Możesz teraz tworzyć „wspólny interfejs użytkownika”, czyli interfejs, który może zawierać elementy należące do klienta i dostawcy. Udostępnione UI można hostować za pomocą
SharedUiContainer
, który rozszerzaViewGroup
. Nowe interfejsy API wykorzystują koncepcję zarządzania sesją podobną do tej stosowanej w interfejsachSandboxedSdkView
iSandboxedUiAdapter
. - Wszystkie interfejsy API dodane w tej wersji są dostępne pod flagą
SharedUiPresentationApi
@RequiresOptIn
.
Zmiany w interfejsie API
- Do interfejsu
SharedUiContainer
dodano interfejsy API do zarządzania sesjami i rejestracji zasobów. Zarządzanie sesją jest realizowane za pomocąSharedUiAdapter
wprowadzonego w tej samej wersji. (Ic60b0) - Dodano
SharedUiContainer
, które może hostować interfejs użytkownika należący do klienta i dostawcy. Wszystkie widoki podrzędne umieszcza w lewym górnym rogu. (Ia7310) - Dodano obsługę zgodności wstecznej dla
SharedUiAdapter
. (I56d7a) - Dodano
SharedUiAdapter
do zarządzania sesjami kontenerów View, które mogą hostować interfejs użytkownika należący do klienta lub dostawcy. Logika zarządzania sesjami jest podobna do logikiSandboxedUiAdapter
. (I501f6)
Poprawki błędów
- Oblicz widoczność podczas wywołania funkcji
onVisibilityAggregated
. (I91c69)
Znane problemy
- Gdy
PoolingContainer
jest umieszczony wSharedUiContainer
,SharedUiContainer
zamyka sesję po odłączeniu okna.
Wersja 1.0.0-alpha13
29 stycznia 2025 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha13
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha13
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13
są dostępne. Wersja 1.0.0-alpha13 zawiera te komity.
Nowe funkcje
- Dodano obiekt Composable o nazwie
SandboxedSdkUi
, który można wykorzystać do wyświetlania treści zewnętrznych w interfejsie Compose. Obiekt ten korzysta z dotychczasowych koncepcjiSandboxedSdkView
dotyczących zarządzania sesją i detektorów zdarzeń. (I009cf) - Zmieniliśmy podpis
SandboxedUiAdapter.openSession
, aby zawierał nowy parametrSessionConstants
, który zastępuje poprzedniwindowInputToken
. Ten parametr służy do przekazywania wartości, które będą stałe przez cały czas działaniaSandboxedUiAdapter.Session
. (Ibc0df, I28435)
Znane problemy
- Gdy użytkownik przewija element
SandboxedSdkUi
, nie są wysyłane zdarzeniaSessionObserver
. SandboxedSdkUi
nie jest przycinany przez widoki nadrzędne, gdy jest w trybie Z-above.
Zmiany w interfejsie API
- Usuń przestarzały kod
SDKActivityLauncher
(I49a4f) - Logikę rejestracji fabryki obserwatorów oddzielono od
SandboxedUiAdapter
, dodając nowy interfejsSessionObserverFactoryRegistry
. (I245cc)
Wersja 1.0.0-alpha12
11 grudnia 2024 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha12
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha12
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12
są dostępne. Wersja 1.0.0-alpha12 zawiera te komity.
Nowe funkcje
- Zawartość komórki
StateChangedListener
została zastąpiona tekstemSandboxedSdkViewEventListener
. Ten detektor zdarzeń może być używany do nasłuchiwania zdarzeń wyświetlania interfejsu użytkownika, zamykania sesji i błędów sesji.
Zmiany w interfejsie API
- Dodaje
SandboxedSdkViewEventListener
do nasłuchiwania zdarzeń interfejsu użytkownika w komponencieSandboxedSdkView
. Ta wersja usuwa teżStateChangedListener
. (Id71ea)
Poprawki błędów
- Usunięto z
SandboxedSdkView
logikę ograniczania zakresu. Jeśli elementSandboxedSdkView
zostanie umieszczony w przewijanym kontenerze, a funkcjaorderProviderUiAboveClientUi(false)
nie zostanie wywołana (do czasu naprawienia błędu w podstawowym frameworku), może to spowodować problemy z UX. (Id420d) - Naprawiono błąd
RemoteException
, który mógł wystąpić, jeśli proces zdalny uległ awarii podczas korzystania z funkcjiDelegatingSandboxedUiAdapter
.
Wersja 1.0.0-alpha11
13 listopada 2024 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha11
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11
są dostępne. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadziliśmy eksperymentalny interfejs API
DelegatingSandboxedUiAdapter
, który rozszerza interfejsSandboxedUiAdapter
i może służyć do delegowania zadań między różnymiSandboxedUiAdapters
. Gdy ten adapter jest ustawiony w kontenerze klienta, np.SandboxedSdkView
, adapter delegujący może zmienić adapter delegowany za pomocąupdateDelegate
. Spowoduje to zamknięcie bieżącej sesji i utworzenie nowejSandboxedUiAdapter.Session
dla nowego delegata. Dzięki temu można płynnie przechodzić między delegatami. (I5f1c5, I9e3e7) - Dodano lepszą obsługę
SandboxedSdkView
dla wypełnień. (Ic414f)
Poprawki błędów
- Rozwiązano błąd
NullPointerException
, który mógł występować w przypadku zdarzenia globalnego układu.
Wersja 1.0.0-alpha10
18 września 2024 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha10
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10
są dostępne. Wersja 1.0.0-alpha10 zawiera te komity.
Nowe funkcje
- Zmieniliśmy logikę otwierania sesji, aby otwierać sesję w
SandboxedSdkView
tylko wtedy, gdy okno zSandboxedSdkView
jest widoczne. - Zaktualizowano logikę
SessionObserver
, aby wysyłaćonUiContainerChanged
, gdy widoczność okna zawierającegoSandboxedSdkView
się zmienia.
Poprawki błędów
- Wywołanie
onUiContainerChanged
po zmianie widoczności okna (I541cf) - Usunięto ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API, gdy korzystasz z R8 z AGP 7.3 lub nowszej wersji (np. R8 w wersji 3.3) oraz we wszystkich wersjach kompilacji, gdy korzystasz z AGP 8.1 lub nowszej wersji (np. D8 w wersji 8.1). Klienci, którzy nie korzystają z AGP, powinni zaktualizować D8 do wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (If6b4c, b/345472586)
Wersja 1.0.0-alpha09
26 czerwca 2024 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha09
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha09
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09
są dostępne. Wersja 1.0.0-alpha09 zawiera te komity.
Nowe funkcje
- Wprowadziliśmy abstrakcyjne klasy
AbstractSandboxedUiAdapter
iAbstractSandboxedUiAdapter.AbstractSession
, których dostawcy interfejsu użytkownika mogą używać, aby uniknąć implementowania całych interfejsówSandboxedUiAdapter
lubSession
. Dostawcom interfejsu użytkownika zalecamy używanie tych abstrakcyjnych klas. - Dodano logikę
registerObserverFactory
, która umożliwia dołączenieSessionObserverFactory
doSandboxedUiAdapter
. GdySessionObserverFactory
zostanie podłączony do adaptera, dla każdej nowej sesji interfejsu użytkownika utworzonej dla tego adaptera zostanie utworzonySessionObserver
. Po utworzeniuSessionObserver
zostanie wywołana funkcjaonSessionOpened
, gdy otworzysz sesję interfejsu użytkownika. Gdy widok interfejsuSession
ulegnie zmianie, zostanie wywołana funkcjaSessionObserver.onUiContainerChanged
. FunkcjaonUiContainerChanged
jest ograniczana i będzie wywoływana najwyżej co 200 ms. - Dodano
SandboxedSdkViewUiInfo
, które można utworzyć na podstawieBundle
wysłanego wSessionObserver.onUiContainerChanged
. Ten obiekt reprezentuje stan interfejsuSandboxedSdkView
, który hostuje sesję interfejsu. Zawiera informacje o wysokości i szerokości,Rect
reprezentujący geometrię widoku widocznego na ekranie oraz wskazówkę dotyczącą przezroczystości, która reprezentuje przezroczystość widoku.
Zmiany w interfejsie API
- Dodaj podpowiedź dotyczącą przezroczystości do
SandboxedSdkViewUiInfo
. (I093ac) - Dodaj
SessionObserver.onUiContainerChanged
iSandboxedSdkViewUiInfo
. (Ie98bc) - Dodaj interfejs
SessionObserver
i logikę rejestracji. (I047dc) - Dodaj
AbstractSandboxedUiAdapter
iAbstractSession
. (I3617a)
Znane problemy
- Gdy dostawca interfejsu użytkownika jest w tym samym procesie co aplikacja klienta,
SessionObserver.onUiContainerChanged
nie jest wysyłany podczas przewijania kontenera.
Wersja 1.0.0-alpha08
14 maja 2024 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha08
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha08
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08
są dostępne. Wersja 1.0.0-alpha08 zawiera te komity.
Nowe funkcje
- Dodaliśmy obsługę korzystania z elementu
SandboxedSdkView
w elementachPoolingContainer
, takich jakRecyclerView
. JeśliSandboxedSdkView
ma element nadrzędny, który jest elementemPoolingContainer
, cykl życia sesji interfejsu użytkownika będzie zgodny z cyklem życia elementuPoolingContainer
, aby zapewnić, że sesja będzie trwała pomimo odłączenia okna.
Zmiany w interfejsie API
- Wycofane interfejsy API Piaskownicy prywatności dotyczące aktywności. Te interfejsy API można teraz znaleźć w specjalnej bibliotece Aktywność
androidx.privacysandbox.activity
. (I68beb)
Poprawki błędów
- Naprawiliśmy błąd związany z renderowaniem podczas wyświetlania treści zdalnych w kontenerach z pulą. (I804df)
- Naprawiono błąd, który powodował problemy z renderowaniem
ViewGroups
w trybie zgodności wstecznej. (I8de92) - Jeśli jeden z rodziców
SandboxedSdkView
toPoolingContainer
, zamknij sesję interfejsu użytkownika, gdyPoolingContainer
wskaże, że zasoby mogą zostać zwolnione, a nie w momencie odłączenia okna. (I2046b)
Darowizna zewnętrzna
- Środowisko wykonawcze
GestureDetectorCompat
zostało wycofane, ponieważ środowiskoGestureDetector
jest dostępne wminSdk
. (Icc4cd)
Wersja 1.0.0-alpha07
18 października 2023 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha07
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha07
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07
są dostępne. Wersja 1.0.0-alpha07 zawiera te commity.
Nowe funkcje
- Dodano obsługę zgodności wstecznej biblioteki. W wersji 33 i starszych interfejsu API widok dostawcy będzie renderowany w ramach procesu aplikacji w ramach innego ładowarki klas. (If0b7a)
- Dodaliśmy logikę, która pozwala na zmianę rozmiaru kontenerów hosta i dostawcy w tym samym okienku, aby uniknąć widocznych zakłóceń interfejsu. (Ic2cd9)
Zmiany w interfejsie API
- MinSdk dla biblioteki został podniesiony do poziomu API 21. (I474b8)
Wersja 1.0.0-alpha06
20 września 2023 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha06
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha06
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06
są dostępne. Wersja 1.0.0-alpha06 zawiera te commity.
Nowe funkcje
- Dodano logikę do przycinania
SandboxedSdkView
do „ograniczającego” widoku, w którym może się ona przewijać. Dzięki temu zawartośćSandboxedSdkView
nie zasłania innych widoków ani żadnych elementów interfejsu poza widokiem treści wyższego poziomu. (I9ea94)
Zmiany w interfejsie API
- Zmień nazwę
SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction
naorderProviderUiAboveClientUi
(Iecb7e)
Poprawki błędów
- Prześlij hostowi prawidłową wartość kolejności Z. (Ib0ddf)
- Przenoszenie punktu dotykowego tylko w przypadku przewijania lub przesuwania w pionie. (I0528c)
Wersja 1.0.0-alpha05
9 sierpnia 2023 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha05
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05
są dostępne. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano logikę przenoszenia punktu dotykowego do hosta podczas przewijania i gestyk gestu z
SandboxedSdkView
. Dzięki temu interfejs użytkownika dostawcy hostingu kontenera z przewijaniem klienta może prawidłowo reagować na przewijanie i gesty przesuwania.
Zmiany w interfejsie API
- Dodano parametr
windowInputToken
do kolekcjiSandboxedUiAdapter
(Ief578)
Poprawki błędów
- Ustaw stan sesji na Aktywna po pierwszym losowaniu (I36f3f)
- Rozwiąż problem z układem w przypadku
SandboxedSdkView
. (I09cb8) - Dodano logikę przenoszenia punktu dotykowego na hosta. (I33b54)
- Dodaj parametr
windowInputToken
doSandboxedUiAdapter
. Jest to konieczne, aby tokenSurfaceControlViewHost
był prawidłowo powiązany z hostem zaimplementowanej hierarchii. (Ief578) - Uruchom
notifyResized
w wątku głównym. (I62440) - Napraw błędy powodujące awarię w procesie
Session.close()
. (I5392e)
Wersja 1.0.0-alpha04
21 czerwca 2023 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha04
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04
są dostępne. Wersja 1.0.0-alpha04 zawiera te commity.
Nowe funkcje
- Przedstaw
SdkActivityLauncher
. Interfejs umożliwiający uruchamianie działań przez pakiety SDK używanych w czasie działania. (I5b3dc)
Poprawki błędów
- Napraw sytuację wyścigu
notifyZOrderChanged
. Zapewnienie dostawcy interfejsu powiadomień o wszystkich zmianach w kolejności Z. Dostawca interfejsu użytkownika nie zostanie wyraźnie powiadomiony, jeśli kolejność Z elementuSandboxedSdkView
zostanie zmieniona przed wywołaniem openSession.
Wersja 1.0.0-alpha03
24 maja 2023 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha03
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha03
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03
są dostępne. Wersja 1.0.0-alpha03 zawiera te commity.
Nowe funkcje
StateChangedListener
informuje aplikację o zmianach w sesji interfejsu użytkownika
Zmiany w interfejsie API
- Dodano
StateChangedListener
, aby zastąpićErrorConsumer
(Icd5d3).
Poprawki błędów
- Usunięto warunek wyścigu
notifyZOrderChanged
, aby dostawca interfejsu użytkownika był powiadamiany o wszystkich zmianach w kolejności Z.
Wersja 1.0.0-alpha02
19 kwietnia 2023 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha02
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha02
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02
są dostępne. Wersja 1.0.0-alpha02 zawiera te commity.
Poprawki błędów
- Wyłączony test z niepewnym wynikiem ChangingSandboxedSdkViewLayoutChangesChildLayout
Wersja 1.0.0-alpha01
8 marca 2023 r.
Funkcje androidx.privacysandbox.ui:ui-client:1.0.0-alpha01
, androidx.privacysandbox.ui:ui-core:1.0.0-alpha01
i androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01
są dostępne. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
- Są to nowe biblioteki Jetpacka, których mogą używać aplikacje i pakiety SDK z włączonym środowiskiem wykonawczym (Piaskownicą prywatności), aby umożliwić aplikacji (klientowi) hostowanie dowolnego interfejsu użytkownika udostępnianego przez pakiet SDK (dostawca).