UI privacysandbox

  
TODO
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
17 Desember 2025 - - - 1.0.0-alpha17

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada privacysandbox-ui, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

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")

    
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.0

Versi 1.0.0-alpha17

17 Desember 2025

androidx.privacysandbox.ui:ui-*:1.0.0-alpha17 dirilis. Versi 1.0.0-alpha17 berisi commit ini.

  • Library ini sudah tidak digunakan lagi dan tidak akan menerima update di masa mendatang.

Perubahan API - API privacysandbox.ui yang tidak digunakan lagi (I858d5, b/452878636) - minSdk diubah dari API 21 menjadi 23 (Ifa120, b/380448311) - Memisahkan SandboxedSdkUi eksperimental dari yang tidak eksperimental. (Ie9154, b/430118542) - SdkSandboxControllerCompat dimigrasikan ke sdkruntime-provider (Id99fb, b/426122358) - Aplikasi klien tidak dapat mengubah level z UI penyedia relatif terhadap jendela klien menggunakan SandboxedSdkView atau SandboxedSdkUi. (I87e9f, b/413659157)

Perbaikan Bug

Versi 1.0.0-alpha16

20 Mei 2025

androidx.privacysandbox.ui:ui-*:1.0.0-alpha16 dirilis. Versi 1.0.0-alpha16 berisi commit ini.

Fitur Baru

  • Menambahkan logika untuk mengukur halangan pada SandboxedSdkView, yang akan dikirim dalam SessionObserver.onUiContainerChanged() jika SandboxedUiAdapterSignalOptions.OBSTRUCTIONS disertakan dalam SessionObserverFactory.signalOptions terkait. Penghalang dilaporkan relatif terhadap tampilan itu sendiri.

Perubahan API

  • Memindahkan SandboxedSdkUi dari ui-client ke library ui-client-compose baru.
  • Menambahkan logika untuk mengukur halangan pada penampung UI. (I34bea)

Perbaikan Bug

  • Memperbaiki SandboxedSdkView.setAlpha(), yang kini memperbarui alfa tampilan kontennya.

Versi 1.0.0-alpha15

26 Maret 2025

androidx.privacysandbox.ui:ui-client:1.0.0-alpha15, androidx.privacysandbox.ui:ui-core:1.0.0-alpha15, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15 dirilis. Versi 1.0.0-alpha15 berisi commit ini.

Fitur Baru

  • Tetapkan pengurutan Z default SandboxedSdkView dan SandboxedSdkUi ke “di bawah”, yang menunjukkan bahwa platform penyedia kini ditempatkan di bawah jendela klien. Menambahkan dukungan untuk penyedia UI agar dapat menerima MotionEvents dalam mode ini setelah diterima oleh jendela klien.
  • Menambahkan kolom signalOptions ke antarmuka SessionObserverFactory. Atribut ini dapat digunakan untuk menentukan serangkaian opsi String yang akan digunakan untuk menentukan sinyal mana yang dikumpulkan untuk SessionObserver terkait. Kumpulan sinyal awal ditentukan dalam SandboxedUiAdapterSignalOptions. Jika tidak ada opsi sinyal yang ditetapkan, hanya SessionObserver.onSessionOpened() dan SessionObserver.onSessionClosed() yang akan dipanggil.

Perubahan API

  • Mengganti nama SessionConstants menjadi SessionData di SandboxedUiAdapter.openSession().

Masalah Umum

  • Saat SDK dimuat di Runtime SDK dan urutan Z SandboxedSdkView atau SandboxedSdkUi adalah “di atas”, gestur diterima secara eksklusif oleh jendela penyedia dan tidak lagi ditransfer ke jendela klien.

Versi 1.0.0-alpha14

26 Februari 2025

androidx.privacysandbox.ui:ui-client:1.0.0-alpha14, androidx.privacysandbox.ui:ui-core:1.0.0-alpha14, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14 dirilis. Versi 1.0.0-alpha14 berisi commit ini.

Fitur Baru

  • Sekarang Anda dapat membuat 'UI bersama', yaitu UI yang dapat memiliki elemen yang dimiliki klien dan dimiliki penyedia. UI bersama dapat dihosting menggunakan SharedUiContainer, yang memperluas ViewGroup. API baru menggunakan konsep pengelolaan sesi yang serupa dengan SandboxedSdkView dan SandboxedUiAdapter.
  • Semua API yang ditambahkan dalam rilis ini berada di balik tanda SharedUiPresentationApi @RequiresOptIn.

Perubahan API

  • Menambahkan API pengelolaan sesi dan pendaftaran aset ke SharedUiContainer. Pengelolaan sesi diimplementasikan menggunakan SharedUiAdapter yang diperkenalkan dalam rilis yang sama. (Ic60b0)
  • Menambahkan SharedUiContainer yang dapat menghosting UI milik klien dan UI milik penyedia. Tata letak ini menempatkan semua tampilan turunannya di sudut kiri atas. (Ia7310)
  • Menambahkan dukungan kompatibilitas mundur untuk SharedUiAdapter. (I56d7a)
  • Menambahkan SharedUiAdapter untuk pengelolaan sesi penampung View yang dapat menghosting UI milik klien dan UI milik penyedia. Logika pengelolaan sesi mirip dengan SandboxedUiAdapter. (I501f6)

Perbaikan Bug

  • Menghitung visibilitas saat onVisibilityAggregated dipanggil. (I91c69)

Masalah Umum

  • Saat ditempatkan di dalam PoolingContainer, SharedUiContainer akan menutup sesi saat pelepasan jendela.

Versi 1.0.0-alpha13

29 Januari 2025

androidx.privacysandbox.ui:ui-client:1.0.0-alpha13, androidx.privacysandbox.ui:ui-core:1.0.0-alpha13, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha13 berisi commit ini.

Fitur Baru

  • Menambahkan objek Composable yang disebut SandboxedSdkUi yang dapat digunakan untuk menampilkan konten jarak jauh dalam UI Compose. Objek ini menggunakan konsep SandboxedSdkView yang ada untuk pengelolaan sesi dan pemroses peristiwa. (I009cf)
  • Mengubah tanda tangan SandboxedUiAdapter.openSession untuk menyertakan parameter SessionConstants baru yang menggantikan windowInputToken sebelumnya. Parameter ini digunakan untuk meneruskan nilai yang akan konstan selama masa aktif SandboxedUiAdapter.Session. (Ibc0df, I28435)

Masalah Umum

  • Peristiwa SessionObserver tidak dikirim untuk SandboxedSdkUi saat di-scroll.
  • SandboxedSdkUi tidak dipangkas oleh tampilan induk saat berada dalam mode Z-di atas.

Perubahan API

  • Menghapus kode SDKActivityLauncher yang tidak digunakan lagi (I49a4f)
  • Memisahkan logika pendaftaran factory observer dari SandboxedUiAdapter dengan menambahkan antarmuka SessionObserverFactoryRegistry baru. (I245cc)

Versi 1.0.0-alpha12

11 Desember 2024

androidx.privacysandbox.ui:ui-client:1.0.0-alpha12, androidx.privacysandbox.ui:ui-core:1.0.0-alpha12, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.

Fitur Baru

  • StateChangedListener diganti dengan SandboxedSdkViewEventListener. Pemroses peristiwa ini dapat digunakan untuk memproses peristiwa UI ditampilkan, sesi ditutup, dan error sesi.

Perubahan API

  • Menambahkan SandboxedSdkViewEventListener untuk memproses peristiwa UI di dalam SandboxedSdkView. Versi ini juga menghapus StateChangedListener. (Id71ea)

Perbaikan Bug

  • Menghapus logika batas kliping dari SandboxedSdkView. Hal ini akan menyebabkan masalah UX jika SandboxedSdkView ditempatkan dalam penampung yang dapat di-scroll dan orderProviderUiAboveClientUi(false) belum dipanggil (hingga bug framework yang mendasarinya diperbaiki). (Id420d)
  • Memperbaiki RemoteException yang dapat terjadi jika proses jarak jauh berhenti saat menggunakan DelegatingSandboxedUiAdapter.

Versi 1.0.0-alpha11

13 November 2024

androidx.privacysandbox.ui:ui-client:1.0.0-alpha11, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.

Fitur Baru

  • Memperkenalkan API eksperimental, DelegatingSandboxedUiAdapter, yang memperluas SandboxedUiAdapter dan dapat digunakan untuk mendelegasikan antara SandboxedUiAdapters yang berbeda. Jika adaptor ini disetel pada penampung klien seperti SandboxedSdkView, adaptor yang mendelegasikan dapat mengubah adaptor delegasi menggunakan updateDelegate. Tindakan ini akan menutup sesi yang ada dan membuat SandboxedUiAdapter.Session baru untuk penerima tugas baru. Hal ini memungkinkan transisi yang lancar antar-delegasi. (I5f1c5, I9e3e7)
  • Menambahkan dukungan SandboxedSdkView yang lebih baik untuk padding. (Ic414f)

Perbaikan Bug

  • Memperbaiki NullPointerException yang dapat terjadi pada peristiwa tata letak global.

Versi 1.0.0-alpha10

18 September 2024

androidx.privacysandbox.ui:ui-client:1.0.0-alpha10, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.

Fitur Baru

  • Memperbarui logika pembukaan sesi agar hanya membuka sesi di dalam SandboxedSdkView jika jendela yang berisi SandboxedSdkView terlihat.
  • Memperbarui logika SessionObserver untuk mengirim onUiContainerChanged saat visibilitas jendela yang berisi SandboxedSdkView berubah.

Perbaikan Bug

  • Panggil onUiContainerChanged saat visibilitas jendela berubah (I541cf)
  • Menghapus penentuan batas akses manual ke API platform baru karena hal ini terjadi secara otomatis melalui pemodelan API saat menggunakan R8 dengan AGP 7.3 atau yang lebih baru (misalnya, R8 versi 3.3) dan untuk semua build saat menggunakan AGP 8.1 atau yang lebih baru (misalnya, D8 versi 8.1). Klien yang tidak menggunakan AGP disarankan untuk mengupdate ke D8 versi 8.1 atau yang lebih baru. Baca artikel ini untuk informasi selengkapnya. (If6b4c, b/345472586)

Versi 1.0.0-alpha09

26 Juni 2024

androidx.privacysandbox.ui:ui-client:1.0.0-alpha09, androidx.privacysandbox.ui:ui-core:1.0.0-alpha09, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit ini.

Fitur Baru

  • Memperkenalkan class abstrak AbstractSandboxedUiAdapter dan AbstractSandboxedUiAdapter.AbstractSession yang dapat digunakan oleh penyedia UI untuk menghindari implementasi seluruh antarmuka SandboxedUiAdapter atau Session. Penyedia UI sebaiknya menggunakan class abstrak ini.
  • Menambahkan logika registerObserverFactory yang memungkinkan SessionObserverFactory dilampirkan ke SandboxedUiAdapter. Saat SessionObserverFactory dilampirkan ke adaptor, SessionObserver akan dibuat untuk setiap sesi UI baru yang dibuat untuk adaptor tersebut. SessionObserver yang dibuat akan menerima callback onSessionOpened saat sesi UI dibuka. Saat presentasi UI tampilan Session berubah, SessionObserver.onUiContainerChanged akan dipanggil. onUiContainerChanged di-throttle dan akan dipanggil paling banyak setiap 200 md.
  • Menambahkan SandboxedSdkViewUiInfo yang dapat dibuat dari Bundle yang dikirim di SessionObserver.onUiContainerChanged. Objek ini mewakili status UI SandboxedSdkView yang menghosting sesi UI. Objek ini berisi informasi tinggi dan lebar, Rect yang merepresentasikan geometri tampilan yang terlihat di layar, dan petunjuk keburaman yang merepresentasikan keburaman tampilan.

Perubahan API

  • Tambahkan petunjuk keburaman ke SandboxedSdkViewUiInfo. (I093ac)
  • Menambahkan SessionObserver.onUiContainerChanged dan SandboxedSdkViewUiInfo. (Ie98bc)
  • Tambahkan antarmuka SessionObserver dan logika pendaftaran. (I047dc)
  • Menambahkan AbstractSandboxedUiAdapter dan AbstractSession. (I3617a)

Masalah Umum

  • Jika penyedia UI berada dalam proses yang sama dengan aplikasi klien, SessionObserver.onUiContainerChanged tidak dikirim saat penampung men-scroll.

Versi 1.0.0-alpha08

14 Mei 2024

androidx.privacysandbox.ui:ui-client:1.0.0-alpha08, androidx.privacysandbox.ui:ui-core:1.0.0-alpha08, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk menggunakan SandboxedSdkView di dalam PoolingContainer seperti RecyclerView. Jika SandboxedSdkView memiliki induk yang merupakan PoolingContainer, siklus proses sesi UI-nya akan diselaraskan dengan siklus proses PoolingContainer untuk memastikan sesi dapat tetap ada saat pelepasan jendela.

Perubahan API

  • API Aktivitas Privacy Sandbox yang tidak digunakan lagi. API ini kini dapat ditemukan di library Aktivitas khusus androidx.privacysandbox.activity. (I68beb)

Perbaikan Bug

  • Memperbaiki bug rendering saat menampilkan konten jarak jauh di dalam penampung penggabungan. (I804df)
  • Memperbaiki bug yang menyebabkan masalah rendering untuk ViewGroups dalam mode kompatibilitas mundur. (I8de92)
  • Jika salah satu orang tua SandboxedSdkView adalah PoolingContainer, tutup Sesi UI saat PoolingContainer menunjukkan bahwa resource dapat dilepaskan, bukan saat pelepasan jendela. (I2046b)

Kontribusi Eksternal

  • GestureDetectorCompat kini tidak digunakan lagi karena GestureDetector tersedia dari minSdk. (Icc4cd)

Versi 1.0.0-alpha07

18 Oktober 2023

androidx.privacysandbox.ui:ui-client:1.0.0-alpha07, androidx.privacysandbox.ui:ui-core:1.0.0-alpha07, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit berikut ini.

Fitur Baru

  • Menambahkan dukungan kompatibilitas mundur untuk library. Di API 33 dan yang lebih lama, tampilan penyedia akan dirender di dalam proses aplikasi, di classloader yang berbeda. (If0b7a)
  • Menambahkan logika yang memungkinkan perubahan ukuran penampung host dan penyedia dilakukan dalam frame yang sama untuk menghindari jank UI yang terlihat. (Ic2cd9)

Perubahan API

  • MinSdk untuk library diubah ke API 21. (I474b8)

Versi 1.0.0-alpha06

20 September 2023

androidx.privacysandbox.ui:ui-client:1.0.0-alpha06, androidx.privacysandbox.ui:ui-core:1.0.0-alpha06, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit berikut ini.

Fitur Baru

  • Menambahkan logika untuk memangkas SandboxedSdkView ke View “induk pembatas” yang dapat di-scroll di dalamnya. Hal ini memastikan bahwa konten SandboxedSdkView tidak menghalangi tampilan lain atau komponen UI apa pun di luar tampilan konten root. (I9ea94)

Perubahan API

  • Mengganti nama SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction menjadi orderProviderUiAboveClientUi (Iecb7e)

Perbaikan Bug

  • Kirim nilai Z-order yang benar ke host. (Ib0ddf)
  • Hanya mentransfer fokus sentuh untuk scroll/geser vertikal. (I0528c)

Versi 1.0.0-alpha05

9 Agustus 2023

androidx.privacysandbox.ui:ui-client:1.0.0-alpha05, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Fitur Baru

  • Menambahkan logika untuk mentransfer fokus sentuh ke host pada gestur scroll dan fling yang berasal dari SandboxedSdkView. Hal ini memungkinkan UI penyedia hosting penampung yang dapat di-scroll milik klien merespons dengan benar scroll dan gerakan mengayun.

Perubahan API

  • Menambahkan parameter windowInputToken ke SandboxedUiAdapter (Ief578)

Perbaikan Bug

  • Menetapkan status sesi ke Aktif setelah gambar pertama (I36f3f)
  • Memperbaiki masalah tata letak terkait SandboxedSdkView. (I09cb8)
  • Menambahkan logika untuk mentransfer fokus sentuh ke host. (I33b54)
  • Menambahkan parameter windowInputToken ke SandboxedUiAdapter. Hal ini diperlukan untuk memastikan bahwa token SurfaceControlViewHost dikaitkan dengan benar ke host hierarki sematan. (Ief578)
  • Jalankan notifyResized di dalam thread utama. (I62440)
  • Memperbaiki error dalam alur Session.close(). (I5392e)

Versi 1.0.0-alpha04

21 Juni 2023

androidx.privacysandbox.ui:ui-client:1.0.0-alpha04, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.

Fitur Baru

  • Perkenalkan SdkActivityLauncher. Antarmuka untuk mengizinkan SDK yang mendukung runtime meluncurkan aktivitas. (I5b3dc)

Perbaikan Bug

  • Memperbaiki kondisi race notifyZOrderChanged. Memastikan bahwa penyedia UI diberi tahu untuk semua perubahan Z-order. Penyedia UI tidak akan diberi tahu secara eksplisit jika urutan Z SandboxedSdkView diubah sebelum openSession dipanggil.

Versi 1.0.0-alpha03

24 Mei 2023

androidx.privacysandbox.ui:ui-client:1.0.0-alpha03, androidx.privacysandbox.ui:ui-core:1.0.0-alpha03, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.

Fitur Baru

  • StateChangedListener memberi tahu aplikasi tentang perubahan dalam sesi UI

Perubahan API

  • Menambahkan StateChangedListener untuk menggantikan ErrorConsumer (Icd5d3)

Perbaikan Bug

  • Memperbaiki kondisi persaingan notifyZOrderChanged sehingga penyedia UI diberi tahu untuk semua perubahan Z-order

Versi 1.0.0-alpha02

19 April 2023

androidx.privacysandbox.ui:ui-client:1.0.0-alpha02, androidx.privacysandbox.ui:ui-core:1.0.0-alpha02, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit berikut.

Perbaikan Bug

  • Nonaktifkan pengujian tidak stabil ChangingSandboxedSdkViewLayoutChangesChildLayout

Versi 1.0.0-alpha01

8 Maret 2023

androidx.privacysandbox.ui:ui-client:1.0.0-alpha01, androidx.privacysandbox.ui:ui-core:1.0.0-alpha01, dan androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

  • Library ini adalah library Jetpack baru yang dapat digunakan aplikasi dan SDK yang Mendukung Runtime (Privacy Sandbox) untuk memungkinkan aplikasi (klien) menghosting UI apa pun yang disediakan oleh SDK (penyedia).