interfejs Piaskownicy prywatności

  
DO ZROBIENIA
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja Alfa
17 grudnia 2025 r. - - - 1.0.0-alpha17

Deklarowanie zależności

Aby dodać zależność od privacysandbox-ui, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule Repozytorium Maven Google.

Dodaj zależności dotyczące potrzebnych artefaktów 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-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")

    
}

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 odkryjesz 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. Aby oddać głos na istniejący problem, kliknij przycisk gwiazdki.

Tworzenie nowego problemu

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.0

Wersja 1.0.0-alpha17

17 grudnia 2025 r.

Publikacja androidx.privacysandbox.ui:ui-*:1.0.0-alpha17 Wersja 1.0.0-alpha17 zawiera te zmiany.

  • Ta biblioteka została wycofana i nie będzie już aktualizowana.

Zmiany w interfejsie API - Wycofanie interfejsów API privacysandbox.ui (I858d5, b/452878636) - Zmiana minSdk z interfejsu API 21 na 23 (Ifa120, b/380448311) - Oddzielenie eksperymentalnego interfejsu SandboxedSdkUi od nieeksperymentalnego. (Ie9154, b/430118542) - SdkSandboxControllerCompat przeniesiono do sdkruntime-provider (Id99fb, b/426122358) - Aplikacja klienta nie może zmienić poziomu Z interfejsu dostawcy względem okna klienta za pomocą SandboxedSdkView ani SandboxedSdkUi. (I87e9f, b/413659157)

Poprawki błędów

  • Przeniesienie domyślnego minSdk z API 21 do API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
  • Dodaliśmy obsługę PoolingContainer w zarządzaniu sesjami: sesja udostępnionego interfejsu nie jest zamykana, jeśli kontener znajduje się w PoolingContainer.SharedUiContainer (Iabe16, b/352500350)

Wersja 1.0.0-alpha16

20 maja 2025 r.

Publikacja androidx.privacysandbox.ui:ui-*:1.0.0-alpha16 Wersja 1.0.0-alpha16 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy logikę pomiaru przeszkód na SandboxedSdkView, która będzie wysyłana w SessionObserver.onUiContainerChanged(), jeśli SandboxedUiAdapterSignalOptions.OBSTRUCTIONS jest uwzględniony w powiązanym SessionObserverFactory.signalOptions. Przeszkody są zgłaszane w odniesieniu do samego widoku.

Zmiany w interfejsie API

  • Przeniesiono SandboxedSdkUi z ui-client do nowej biblioteki ui-client-compose.
  • Dodaliśmy logikę pomiaru przeszkód w kontenerach interfejsu. (I34bea)

Poprawki błędów

  • Naprawiono SandboxedSdkView.setAlpha(), który teraz aktualizuje wartość alfa widoku treści.

Wersja 1.0.0-alpha15

26 marca 2025 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha15, androidx.privacysandbox.ui:ui-core:1.0.0-alpha15androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15 są zwalniane. Wersja 1.0.0-alpha15 zawiera te zmiany.

Nowe funkcje

  • Ustaw domyślne kolejność osi Z dla elementów SandboxedSdkViewSandboxedSdkUi na „below” (poniżej), co oznacza, że powierzchnia dostawcy jest teraz umieszczona poniżej okna klienta. Dodano obsługę dostawcy interfejsu, który w tym trybie otrzymuje wartość MotionEvents po jej otrzymaniu przez okno klienta.
  • Dodano pole signalOptions do interfejsu SessionObserverFactory. Można go użyć do zdefiniowania zestawu opcji typu String, które będą używane do określania, które sygnały są zbierane w przypadku powiązanego SessionObserver. Początkowy zestaw sygnałów jest zdefiniowany w SandboxedUiAdapterSignalOptions. Jeśli nie ustawisz żadnych opcji sygnałów, wywoływane będą tylko funkcje SessionObserver.onSessionOpened()SessionObserver.onSessionClosed().

Zmiany w interfejsie API

  • Zmieniono nazwę SessionConstants na SessionData w SandboxedUiAdapter.openSession().

Znane problemy

  • Gdy pakiet SDK jest wczytywany w środowisku wykonawczym SDK, a kolejność Z-ową SandboxedSdkView lub SandboxedSdkUi jest ustawiona na „powyżej”, gest jest odbierany wyłącznie przez okno dostawcy i nie jest już przekazywany do okna klienta.

Wersja 1.0.0-alpha14

26 lutego 2025 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha14, androidx.privacysandbox.ui:ui-core:1.0.0-alpha14androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14 są zwalniane. Wersja 1.0.0-alpha14 zawiera te zmiany.

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ępniony interfejs może być hostowany za pomocą SharedUiContainer, który rozszerza ViewGroup. Nowe interfejsy API wykorzystują koncepcję zarządzania sesjami podobną do tej w przypadku SandboxedSdkViewSandboxedUiAdapter.
  • Wszystkie interfejsy API dodane w tej wersji są oznaczone flagą SharedUiPresentationApi @RequiresOptIn.

Zmiany w interfejsie API

  • Dodano interfejsy API zarządzania sesjami i rejestracji komponentów do SharedUiContainer. Zarządzanie sesjami jest realizowane za pomocą interfejsu SharedUiAdapter wprowadzonego w tej samej wersji. (Ic60b0)
  • Dodano SharedUiContainer, które mogą hostować interfejs użytkownika należący do klienta i dostawcy. Umieszcza wszystkie widoki podrzędne w lewym górnym rogu. (Ia7310)
  • Dodaliśmy obsługę zgodności wstecznej z SharedUiAdapter. (I56d7a)
  • Dodano SharedUiAdapter do zarządzania sesjami kontenerów widoku, które mogą hostować interfejs użytkownika należący do klienta i dostawcy. Logika zarządzania sesjami jest podobna do logiki SandboxedUiAdapter. (I501f6)

Poprawki błędów

  • Oblicz widoczność, gdy wywoływana jest funkcja onVisibilityAggregated. (I91c69)

Znane problemy

  • Jeśli element PoolingContainer znajduje się wewnątrz elementu SharedUiContainer, sesja zostanie zamknięta po odłączeniu okna.

Wersja 1.0.0-alpha13

29 stycznia 2025 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha13, androidx.privacysandbox.ui:ui-core:1.0.0-alpha13androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13 są zwalniane. Wersja 1.0.0-alpha13 zawiera te zmiany.

Nowe funkcje

  • Dodano obiekt kompozycyjny o nazwie SandboxedSdkUi, który może służyć do wyświetlania treści zdalnych w interfejsie Compose. Ten obiekt wykorzystuje istniejące koncepcje SandboxedSdkView dotyczące zarządzania sesjami i detektorów zdarzeń. (I009cf)
  • Zmieniliśmy sygnaturę SandboxedUiAdapter.openSession, aby uwzględnić nowy parametr SessionConstants, który zastępuje poprzedni parametr windowInputToken. Ten parametr służy do przekazywania wartości, które będą stałe przez cały okres istnienia SandboxedUiAdapter.Session. (Ibc0df, I28435)

Znane problemy

  • Zdarzenia SessionObserver nie są wysyłane w przypadku SandboxedSdkUi, gdy jest on przewijany.
  • SandboxedSdkUi nie jest przycinany przez widoki nadrzędne, gdy jest w trybie Z-above.

Zmiany w interfejsie API

  • Usuwanie wycofanego kodu SDKActivityLauncher (I49a4f)
  • Oddzielono logikę rejestracji fabryki obserwatorów od SandboxedUiAdapter, dodając nowy interfejs SessionObserverFactoryRegistry. (I245cc)

Wersja 1.0.0-alpha12

11 grudnia 2024 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha12, androidx.privacysandbox.ui:ui-core:1.0.0-alpha12androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12 są zwalniane. Wersja 1.0.0-alpha12 zawiera te zmiany.

Nowe funkcje

  • Tekst StateChangedListener został zastąpiony tekstem SandboxedSdkViewEventListener. Ten detektor zdarzeń może służyć do nasłuchiwania zdarzeń związanych z wyświetlaniem interfejsu, zamknięciem sesji i błędami sesji.

Zmiany w interfejsie API

  • Dodaje SandboxedSdkViewEventListener do nasłuchiwania zdarzeń interfejsu w SandboxedSdkView. Ta wersja usuwa też StateChangedListener. (Id71ea)

Poprawki błędów

  • Usunięto logikę granic przycinania z SandboxedSdkView. Jeśli element SandboxedSdkView znajduje się w kontenerze z możliwością przewijania, a funkcja orderProviderUiAboveClientUi(false) nie została wywołana (do czasu naprawienia błędu w bazowej platformie), może to powodować problemy z UX. (Id420d)
  • Naprawiono RemoteException, które mogło wystąpić, jeśli proces zdalny zakończył się podczas korzystania z DelegatingSandboxedUiAdapter.

Wersja 1.0.0-alpha11

13 listopada 2024 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha11, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11 są zwalniane. Wersja 1.0.0-alpha11 zawiera te zmiany.

Nowe funkcje

  • Wprowadziliśmy eksperymentalny interfejs API DelegatingSandboxedUiAdapter, który rozszerza interfejs SandboxedUiAdapter i może być używany do delegowania między różnymi SandboxedUiAdapters. 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 dotychczasowej sesji i utworzenie nowego SandboxedUiAdapter.Session dla nowego pełnomocnika. Umożliwia to płynne przechodzenie między delegatami. (I5f1c5, I9e3e7)
  • Dodaliśmy lepszą obsługę SandboxedSdkView dopełnienia. (Ic414f)

Poprawki błędów

  • Naprawiono błąd NullPointerException, który mógł wystąpić w przypadku wydarzenia z układem globalnym.

Wersja 1.0.0-alpha10

18 września 2024 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha10, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10 są zwalniane. Wersja 1.0.0-alpha10 zawiera te zmiany.

Nowe funkcje

  • Zaktualizowano logikę otwierania sesji, aby otwierać sesję w SandboxedSdkView tylko wtedy, gdy okno zawierające SandboxedSdkView jest widoczne.
  • Zaktualizowano logikę SessionObserver, aby wysyłać onUiContainerChanged, gdy zmienia się widoczność okna zawierającego element SandboxedSdkView.

Poprawki błędów

  • Wywoływanie onUiContainerChanged, gdy zmienia się widoczność okna (I541cf)
  • Usunęliśmy ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API podczas korzystania z R8 z AGP 7.3 lub nowszym (np. R8 w wersji 3.3) oraz w przypadku wszystkich kompilacji podczas korzystania z AGP 8.1 lub nowszego (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z AGP, zalecamy przejście na D8 w 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.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha09, androidx.privacysandbox.ui:ui-core:1.0.0-alpha09androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09 są zwalniane. Wersja 1.0.0-alpha09 zawiera te zmiany.

Nowe funkcje

  • Wprowadzono klasy abstrakcyjne AbstractSandboxedUiAdapterAbstractSandboxedUiAdapter.AbstractSession, których dostawcy interfejsu użytkownika mogą używać, aby uniknąć implementowania całych interfejsów SandboxedUiAdapter lub Session. Dostawcy interfejsu użytkownika powinni korzystać z tych klas abstrakcyjnych.
  • Dodaliśmy logikę registerObserverFactory, która umożliwia dołączenie SessionObserverFactory do SandboxedUiAdapter. Gdy do adaptera zostanie dołączony element SessionObserverFactory, dla każdej nowej sesji interfejsu utworzonej dla tego adaptera zostanie utworzony element SessionObserver. Utworzony SessionObserver otrzyma wywołanie zwrotne onSessionOpened po otwarciu sesji interfejsu. Gdy zmieni się prezentacja interfejsu widoku Session, zostanie wywołana funkcja SessionObserver.onUiContainerChanged. onUiContainerChanged jest ograniczony i będzie wywoływany maksymalnie co 200 ms.
  • Dodano SandboxedSdkViewUiInfo, które można utworzyć na podstawie Bundle wysłanych w SessionObserver.onUiContainerChanged. Ten obiekt reprezentuje stan interfejsu SandboxedSdkView, który hostuje sesję interfejsu. Zawiera informacje o wysokości i szerokości, symbol 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ą krycia do elementu SandboxedSdkViewUiInfo. (I093ac)
  • Dodaj SessionObserver.onUiContainerChangedSandboxedSdkViewUiInfo. (Ie98bc)
  • Dodaj interfejs SessionObserver i logikę rejestracji. (I047dc)
  • Dodaj AbstractSandboxedUiAdapterAbstractSession. (I3617a)

Znane problemy

  • Gdy dostawca interfejsu 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.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha08, androidx.privacysandbox.ui:ui-core:1.0.0-alpha08androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08 są zwalniane. Wersja 1.0.0-alpha08 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy obsługę używania elementu SandboxedSdkView w elemencie PoolingContainer, np. w elemencie RecyclerView. Gdy SandboxedSdkView ma element nadrzędny, który jest PoolingContainer, cykl życia sesji interfejsu użytkownika będzie zgodny z cyklem życia PoolingContainer, aby sesja mogła być kontynuowana po odłączeniu okna.

Zmiany w interfejsie API

  • Wycofane interfejsy API Piaskownicy prywatności dotyczące aktywności. Te interfejsy API znajdziesz teraz w specjalnej bibliotece aktywności androidx.privacysandbox.activity. (I68beb)

Poprawki błędów

  • Naprawiliśmy błąd renderowania podczas wyświetlania treści zdalnych w kontenerach puli. (I804df)
  • Naprawiono błąd, który powodował problemy z renderowaniem znaku ViewGroups w trybie zgodności wstecznej. (I8de92)
  • Jeśli jednym z rodziców elementu SandboxedSdkView jest element PoolingContainer, zamknij sesję interfejsu, gdy element PoolingContainer wskaże, że można zwolnić zasoby, a nie po odłączeniu okna. (I2046b)

Wkład zewnętrzny

  • Usługa GestureDetectorCompat została wycofana, ponieważ usługa GestureDetector jest dostępna w minSdk. (Icc4cd)

Wersja 1.0.0-alpha07

18 października 2023 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha07, androidx.privacysandbox.ui:ui-core:1.0.0-alpha07androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07 są zwalniane. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę zgodności wstecznej biblioteki. Na interfejsie API w wersji 33 i starszych widok dostawcy będzie renderowany w procesie aplikacji w innym programie ładującym klasy. (If0b7a)
  • Dodaliśmy logikę, która umożliwia zatwierdzanie zmiany rozmiaru kontenerów hosta i dostawcy w tej samej ramce, aby uniknąć widocznych problemów z interfejsem. (Ic2cd9)

Zmiany w interfejsie API

  • Minimalny pakiet SDK dla biblioteki został podniesiony do API 21. (I474b8)

Wersja 1.0.0-alpha06

20 września 2023 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha06, androidx.privacysandbox.ui:ui-core:1.0.0-alpha06androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06 są zwalniane. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano logikę przycinania elementu SandboxedSdkView do „elementu nadrzędnego ograniczającego”, w którym można go przewijać. Dzięki temu zawartość elementu SandboxedSdkView nie zasłania innych widoków ani komponentów interfejsu poza widokiem treści głównej. (I9ea94)

Zmiany w interfejsie API

  • Zmiana nazwy SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction na orderProviderUiAboveClientUi (Iecb7e)

Poprawki błędów

  • Prześlij do hosta prawidłową wartość kolejności nakładania elementów. (Ib0ddf)
  • Przenoszenie fokusu dotykowego tylko w przypadku przewijania/przesuwania w pionie. (I0528c)

Wersja 1.0.0-alpha05

9 sierpnia 2023 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha05, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05 są zwalniane. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano logikę przenoszenia fokusu dotykowego na hosta podczas gestów przewijania i szybkiego przesuwania pochodzących z SandboxedSdkView. Dzięki temu interfejs dostawcy kontenera z możliwością przewijania po stronie klienta będzie prawidłowo reagować na przewijanie i przesuwanie.

Zmiany w interfejsie API

  • Dodano parametr windowInputToken do SandboxedUiAdapter (Ief578)

Poprawki błędów

  • Ustaw stan sesji na Aktywny po pierwszym losowaniu (I36f3f)
  • Rozwiąż problem z układem w przypadku SandboxedSdkView. (I09cb8)
  • Dodano logikę przenoszenia zaznaczenia dotykowego na hosta. (I33b54)
  • Dodaj parametr windowInputToken do parametru SandboxedUiAdapter. Jest to konieczne, aby zapewnić prawidłowe powiązanie tokena SurfaceControlViewHost z hostem hierarchii zagnieżdżonej. (Ief578)
  • Uruchom notifyResized w wątku głównym. (I62440)
  • Naprawiliśmy błąd powodujący awarię w przepływie Session.close(). (I5392e)

Wersja 1.0.0-alpha04

21 czerwca 2023 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha04, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04 są zwalniane. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Nowe funkcje

  • Przedstaw SdkActivityLauncher. Interfejs umożliwiający pakietom SDK z włączonym środowiskiem wykonawczym uruchamianie aktywności. (I5b3dc)

Poprawki błędów

  • Naprawiono notifyZOrderChanged sytuację wyścigu. Gwarantuje, że dostawca interfejsu użytkownika zostanie powiadomiony o wszystkich zmianach kolejności Z. Dostawca interfejsu nie otrzyma wyraźnego powiadomienia, jeśli kolejność Z-ową elementu SandboxedSdkView zostanie zmieniona przed wywołaniem openSession.

Wersja 1.0.0-alpha03

24 maja 2023 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha03, androidx.privacysandbox.ui:ui-core:1.0.0-alpha03androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03 są zwalniane. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • StateChangedListener informuje aplikację o zmianach w sesji interfejsu.

Zmiany w interfejsie API

  • Dodano StateChangedListener w miejsce elementu ErrorConsumer (Icd5d3)

Poprawki błędów

  • Naprawiono notifyZOrderChanged wyścig, aby dostawca interfejsu użytkownika był powiadamiany o wszystkich zmianach kolejności Z.

Wersja 1.0.0-alpha02

19 kwietnia 2023 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha02, androidx.privacysandbox.ui:ui-core:1.0.0-alpha02androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02 są zwalniane. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Poprawki błędów

  • Wyłączony test z niepewnym wynikiemChangingSandboxedSdkViewLayoutChangesChildLayout

Wersja 1.0.0-alpha01

8 marca 2023 r.

androidx.privacysandbox.ui:ui-client:1.0.0-alpha01, androidx.privacysandbox.ui:ui-core:1.0.0-alpha01androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01 są zwalniane. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Są to nowe biblioteki Jetpack, których aplikacje i pakiety SDK z włączonym środowiskiem wykonawczym (Piaskownica prywatności) mogą używać, aby umożliwić aplikacji (klientowi) hostowanie dowolnego interfejsu dostarczonego przez pakiet SDK (dostawcę).