privacysandbox ui
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
29 stycznia 2025 r. | - | - | - | 1.0.0-alpha13 |
Deklarowanie zależności
Aby dodać zależność od privacysandbox-ui, musisz dodać repozytorium Google Maven 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:
Odlotowe
dependencies { // Use to implement privacysandbox ui implementation "androidx.privacysandbox.ui:ui:1.0.0-alpha09" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha09" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09" }
Kotlin
dependencies { // Use to implement privacysandbox ui implementation("androidx.privacysandbox.ui:ui:1.0.0-alpha09") // Use to implement privacysandbox ui-core implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha09") // Use to implement privacysandbox ui-provider implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09") }
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 oddać głos w sprawie istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.0
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ę ograniczeń 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 istnieją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łniania. (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 utworzonej dla tego adaptera zostanie utworzonySessionObserver
. Po utworzeniuSessionObserver
zostanie wywołana funkcjaonSessionOpened
, gdy otworzysz sesję interfejsu użytkownika. Gdy interfejsSession
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 interfejsu użytkownikaSandboxedSdkView
, 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, podczas przewijania kontenera nie jest wysyłana wartość
SessionObserver.onUiContainerChanged
.
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śli elementSandboxedSdkView
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ści
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 interfejsu API 33 i starszych 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” (ang. bounding parent), 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 do hosta 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 commity.
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 będzie poprawnie 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 głównym wątku. (I62440) - Naprawianie błędu 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 użytkownika powiadomienia 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).