privacysandbox ui

TODO
Последнее обновление Стабильный релиз Предварительная версия для выпуска Бета-версия Альфа-версия
17 декабря 2025 г. - - - 1.0.0-alpha17

Объявление зависимостей

Чтобы добавить зависимость от privacysandbox-ui, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

классный

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

Котлин

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

    
}

Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .

Обратная связь

Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.

Создать новую задачу

Для получения более подробной информации см. документацию по системе отслеживания ошибок .

Версия 1.0

Версия 1.0.0-alpha17

17 декабря 2025 г.

Выпущена версия androidx.privacysandbox.ui:ui-*:1.0.0-alpha17 . Версия 1.0.0-alpha17 содержит следующие коммиты .

  • Данная библиотека устарела и больше не будет получать обновлений.

Изменения в API : - Устаревшие API privacysandbox.ui ( I858d5 , b/452878636 ) - minSdk изменен с API 21 на 23 ( Ifa120 , b/380448311 ) - Отделение экспериментального SandboxedSdkUi от неэкспериментального ( Ie9154 , b/430118542 ) - SdkSandboxControllerCompat перенесен в sdkruntime-provider ( Id99fb , b/426122358 ) - Клиентское приложение не может изменить z-уровень пользовательского интерфейса поставщика относительно окна клиента с помощью SandboxedSdkView или SandboxedSdkUi ( I87e9f , b/413659157 )

Исправлены ошибки

  • Перенос minSdk по умолчанию с API 21 на API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
  • Добавлена ​​поддержка PoolingContainer для управления сессиями SharedUiContainer : сессия общего пользовательского интерфейса не закрывается, если контейнер находится внутри PoolingContainer . ( Iabe16 , b/352500350 )

Версия 1.0.0-alpha16

20 мая 2025 г.

Выпущена версия androidx.privacysandbox.ui:ui-*:1.0.0-alpha16 . Версия 1.0.0-alpha16 содержит следующие коммиты .

Новые функции

  • Добавлена ​​логика для измерения препятствий на SandboxedSdkView , данные о которых будут отправлены в SessionObserver.onUiContainerChanged() если SandboxedUiAdapterSignalOptions.OBSTRUCTIONS включен в соответствующий SessionObserverFactory.signalOptions . Препятствия сообщаются относительно самого представления.

Изменения в API

  • Перенесена библиотека SandboxedSdkUi из ui-client в новую библиотеку ui-client-compose.
  • Добавлена ​​логика для измерения препятствий на контейнерах пользовательского интерфейса. ( I34bea )

Исправлены ошибки

  • Исправлена ​​ошибка в SandboxedSdkView.setAlpha() , который теперь обновляет прозрачность представления содержимого.

Версия 1.0.0-alpha15

26 марта 2025 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha15 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha15 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15 . Версия 1.0.0-alpha15 содержит следующие коммиты .

Новые функции

  • Установлено значение по умолчанию для Z-порядка SandboxedSdkView и SandboxedSdkUi на «ниже», что указывает на то, что поверхность поставщика теперь располагается ниже окна клиента. Добавлена ​​поддержка приема MotionEvents поставщиком пользовательского интерфейса в этом режиме после их получения окном клиента.
  • В интерфейс SessionObserverFactory добавлено поле signalOptions . Его можно использовать для определения набора строковых параметров, которые будут определять, какие сигналы будут собираться для соответствующего SessionObserver . Начальный набор сигналов определяется в SandboxedUiAdapterSignalOptions . Если параметры сигналов не заданы, будут вызываться только SessionObserver.onSessionOpened() и SessionObserver.onSessionClosed() .

Изменения в API

  • В методе SandboxedUiAdapter.openSession() SessionConstants переименована в SessionData .

Известные проблемы

  • Когда SDK загружается в среду выполнения SDK и Z-порядок SandboxedSdkView или SandboxedSdkUi установлен на «выше», жест принимается исключительно окном-поставщиком и больше не передается окну-клиенту.

Версия 1.0.0-alpha14

26 февраля 2025 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha14 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha14 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14 . Версия 1.0.0-alpha14 содержит следующие коммиты .

Новые функции

  • Теперь вы можете создавать «общий пользовательский интерфейс», то есть интерфейс, который может содержать элементы, принадлежащие как клиенту, так и поставщику. Общий пользовательский интерфейс может размещаться с помощью SharedUiContainer , который расширяет ViewGroup . Новые API используют концепцию управления сессиями, аналогичную той, что используется в SandboxedSdkView и SandboxedUiAdapter .
  • Все API, добавленные в этом релизе, защищены флагом @RequiresOptIn SharedUiPresentationApi .

Изменения в API

  • В SharedUiContainer добавлены API для управления сессиями и регистрации ресурсов. Управление сессиями реализовано с помощью SharedUiAdapter , представленного в том же релизе. ( Ic60b0 )
  • Добавлен SharedUiContainer , который может размещать пользовательский интерфейс, принадлежащий клиенту и поставщику. Все его дочерние элементы располагаются в верхнем левом углу. ( Ia7310 )
  • Добавлена ​​поддержка обратной совместимости для SharedUiAdapter . ( I56d7a )
  • Добавлен SharedUiAdapter для управления сессиями контейнеров View, которые могут размещать пользовательский интерфейс, принадлежащий клиенту и поставщику. Логика управления сессиями аналогична логике SandboxedUiAdapter . ( I501f6 )

Исправлены ошибки

  • Вычислить показатель видимости при вызове onVisibilityAggregated . ( I91c69 )

Известные проблемы

  • При размещении внутри PoolingContainer , SharedUiContainer закрывает сессию при отсоединении окна.

Версия 1.0.0-alpha13

29 января 2025 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha13 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha13 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13 . Версия 1.0.0-alpha13 содержит следующие коммиты .

Новые функции

  • Добавлен объект Composable под названием SandboxedSdkUi , который можно использовать для отображения удаленного контента в пользовательском интерфейсе Compose. Этот объект использует существующие концепции SandboxedSdkView для управления сессиями и обработчиков событий. ( I009cf )
  • Изменена сигнатура метода SandboxedUiAdapter.openSession , добавлен новый параметр SessionConstants , заменяющий предыдущий windowInputToken . Этот параметр предназначен для передачи значений, которые будут оставаться постоянными на протяжении всего времени существования объекта SandboxedUiAdapter.Session . ( Ibc0df , I28435 )

Известные проблемы

  • События SessionObserver не отправляются для SandboxedSdkUi при прокрутке.
  • При использовании режима Z-above SandboxedSdkUi не обрезается родительскими представлениями.

Изменения в API

  • Удалить устаревший код SDKActivityLauncher ( I49a4f )
  • Логика регистрации фабрики наблюдателей отделена от SandboxedUiAdapter путем добавления нового интерфейса SessionObserverFactoryRegistry . ( I245cc )

Версия 1.0.0-alpha12

11 декабря 2024 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha12 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha12 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит следующие коммиты .

Новые функции

  • Заменен StateChangedListener на SandboxedSdkViewEventListener . Этот обработчик событий можно использовать для отслеживания событий отображения пользовательского интерфейса, закрытия сессии и ошибки сессии.

Изменения в API

  • Добавлен SandboxedSdkViewEventListener для прослушивания событий пользовательского интерфейса внутри SandboxedSdkView . В этой версии также удален StateChangedListener . ( Id71ea )

Исправлены ошибки

  • Удалена логика ограничения границ из SandboxedSdkView . Это вызовет проблемы с пользовательским интерфейсом, если SandboxedSdkView помещен в прокручиваемый контейнер и orderProviderUiAboveClientUi(false) не был вызван (пока не будет исправлена ​​ошибка в базовом фреймворке). ( Id420d )
  • Исправлена ​​ошибка RemoteException , которая могла возникнуть, если удаленный процесс завершался с ошибкой при использовании DelegatingSandboxedUiAdapter .

Версия 1.0.0-alpha11

13 ноября 2024 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha11 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha11 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит следующие коммиты .

Новые функции

  • Представлен экспериментальный API DelegatingSandboxedUiAdapter , который расширяет SandboxedUiAdapter и может использоваться для делегирования между различными SandboxedUiAdapters . Когда этот адаптер установлен в клиентском контейнере, таком как SandboxedSdkView , делегирующий адаптер может изменить адаптер делегата с помощью updateDelegate . Это закроет существующую сессию и создаст новый SandboxedUiAdapter.Session для нового делегата. Это обеспечивает плавный переход между делегатами. ( I5f1c5 , I9e3e7 )
  • Добавлена ​​улучшенная поддержка отступов SandboxedSdkView . ( Ic414f )

Исправлены ошибки

  • Исправлена NullPointerException , которая могла возникать при обработке глобального события компоновки.

Версия 1.0.0-alpha10

18 сентября 2024 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha10 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha10 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит следующие коммиты .

Новые функции

  • Изменена логика открытия сессии: теперь сессия открывается внутри SandboxedSdkView только в том случае, если окно, содержащее SandboxedSdkView , видимо.
  • Изменена логика SessionObserver : теперь onUiContainerChanged отправляется при изменении видимости окна, содержащего SandboxedSdkView .

Исправлены ошибки

  • Вызовите onUiContainerChanged при изменении видимости окна ( I541cf )
  • Удалено ручное описание доступа к новым API платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или более поздней версии (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или более поздней версии (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновиться до D8 версии 8.1 или более поздней. Подробнее см. в этой статье . ( If6b4c , b/345472586 )

Версия 1.0.0-alpha09

26 июня 2024 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha09 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha09 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит следующие коммиты .

Новые функции

  • Введены абстрактные классы AbstractSandboxedUiAdapter и AbstractSandboxedUiAdapter.AbstractSession , которые могут использоваться разработчиками пользовательского интерфейса, чтобы избежать реализации полных интерфейсов SandboxedUiAdapter или Session . Разработчикам пользовательского интерфейса рекомендуется использовать эти абстрактные классы.
  • Добавлена ​​логика registerObserverFactory , позволяющая прикрепить SessionObserverFactory к SandboxedUiAdapter . При прикреплении SessionObserverFactory к адаптеру для каждой новой сессии пользовательского интерфейса, созданной для этого адаптера, будет создаваться SessionObserver . Созданный SessionObserver будет получать обратный вызов onSessionOpened при открытии сессии пользовательского интерфейса. При изменении отображения представления Session будет вызываться SessionObserver.onUiContainerChanged . onUiContainerChanged ограничен по времени и будет происходить не чаще, чем каждые 200 мс.
  • Добавлен SandboxedSdkViewUiInfo , который можно создать из Bundle , передаваемого в SessionObserver.onUiContainerChanged . Этот объект представляет состояние пользовательского интерфейса SandboxedSdkView , в котором размещена сессия пользовательского интерфейса. Он содержит информацию о высоте и ширине, Rect , представляющий геометрию видимого на экране представления, и подсказку прозрачности, определяющую прозрачность представления.

Изменения в API

  • Добавить подсказку о прозрачности в SandboxedSdkViewUiInfo . ( I093ac )
  • Добавьте SessionObserver.onUiContainerChanged и SandboxedSdkViewUiInfo . ( IE98bc )
  • Добавить интерфейс SessionObserver и логику регистрации. ( I047dc )
  • Добавить AbstractSandboxedUiAdapter и AbstractSession . ( I3617a )

Известные проблемы

  • Если поставщик пользовательского интерфейса находится в том же процессе, что и клиентское приложение, SessionObserver.onUiContainerChanged не отправляется при прокрутке контейнера.

Версия 1.0.0-alpha08

14 мая 2024 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha08 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha08 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит следующие коммиты .

Новые функции

  • Добавлена ​​поддержка использования SandboxedSdkView внутри PoolingContainer , например, RecyclerView . Когда у SandboxedSdkView есть родительский объект, являющийся PoolingContainer , жизненный цикл его сессий пользовательского интерфейса будет согласован с жизненным циклом PoolingContainer , чтобы гарантировать сохранение сессии при отсоединении окна.

Изменения в API

  • Устаревшие API для Activity в режиме «песочницы конфиденциальности». Теперь эти API можно найти в специальной библиотеке Activity androidx.privacysandbox.activity . ( I68beb )

Исправлены ошибки

  • Исправлена ​​ошибка рендеринга при отображении удаленного контента внутри контейнеров пула. ( I804df )
  • Исправлена ​​ошибка, вызывавшая проблемы с отображением ViewGroups в режиме обратной совместимости. ( I8de92 )
  • Если один из родительских элементов SandboxedSdkView является PoolingContainer , закрытие сессии пользовательского интерфейса должно происходить, когда PoolingContainer указывает на возможность освобождения ресурсов, а не при отсоединении окна. ( I2046b )

Внешний вклад

  • GestureDetectorCompat теперь устарела, поскольку GestureDetector доступен в minSdk ( Icc4cd ).

Версия 1.0.0-alpha07

18 октября 2023 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha07 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha07 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит следующие коммиты.

Новые функции

  • Добавлена ​​поддержка обратной совместимости для библиотеки. В API 33 и ниже представление поставщика будет отображаться внутри процесса приложения, в другом загрузчике классов. ( If0b7a )
  • Добавлена ​​логика, позволяющая сохранять изменения размера контейнеров хоста и провайдера в одном и том же фрейме, чтобы избежать видимых рывков пользовательского интерфейса. ( Ic2cd9 )

Изменения в API

  • Минимальный SDK для библиотеки обновлен до API 21. ( I474b8 )

Версия 1.0.0-alpha06

20 сентября 2023 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha06 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha06 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит следующие коммиты.

Новые функции

  • Добавлена ​​логика для обрезки SandboxedSdkView по «ограничивающему родительскому» представлению, внутри которого может происходить прокрутка. Это гарантирует, что содержимое SandboxedSdkView не будет перекрывать другие представления или какие-либо компоненты пользовательского интерфейса за пределами корневого представления содержимого. ( I9ea94 )

Изменения в API

  • Переименуйте SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction в orderProviderUiAboveClientUi ( Iecb7e ).

Исправлены ошибки

  • Отправьте на хост правильное значение Z-порядка. ( Ib0ddf )
  • Передача фокуса касания осуществляется только при вертикальной прокрутке/прокрутке. ( I0528c )

Версия 1.0.0-alpha05

9 августа 2023 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha05 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha05 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты.

Новые функции

  • Добавлена ​​логика для передачи фокуса касания на хост при прокрутке и жестах перемещения, исходящих из SandboxedSdkView . Это позволяет пользовательскому интерфейсу хостинга контейнеров с возможностью прокрутки на стороне клиента корректно реагировать на прокрутку и перемещение.

Изменения в API

  • Добавлен параметр windowInputToken в SandboxedUiAdapter ( Ief578 )

Исправлены ошибки

  • После первого розыгрыша установите состояние сессии в «Активно» ( I36f3f ).
  • Исправлена ​​ошибка компоновки в SandboxedSdkView . ( I09cb8 )
  • Добавлена ​​логика для передачи фокуса касания на хост. ( I33b54 )
  • Добавьте параметр windowInputToken в SandboxedUiAdapter . Это необходимо для обеспечения корректного сопоставления токена SurfaceControlViewHost с хостом встроенной иерархии. ( Ief578 )
  • Выполнить notifyResized внутри основного потока. ( I62440 )
  • Исправлена ​​ошибка, приводящая к сбою в потоке Session.close() . ( I5392e )

Версия 1.0.0-alpha04

21 июня 2023 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha04 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha04 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты.

Новые функции

  • Представляем SdkActivityLauncher — интерфейс, позволяющий SDK с поддержкой среды выполнения запускать активности. ( I5b3dc )

Исправлены ошибки

  • Исправлена ​​ошибка состояния гонки notifyZOrderChanged . Гарантируется, что поставщик пользовательского интерфейса получает уведомление обо всех изменениях порядка отображения по оси Z. Поставщик пользовательского интерфейса не будет получать явное уведомление, если порядок отображения по оси Z объекта SandboxedSdkView изменяется до вызова openSession.

Версия 1.0.0-alpha03

24 мая 2023 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha03 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha03 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты.

Новые функции

  • StateChangedListener информирует о применении изменений в пользовательском интерфейсе в рамках сессии.

Изменения в API

  • Добавлен StateChangedListener для замены ErrorConsumer ( Icd5d3 ).

Исправлены ошибки

  • Исправлена ​​ошибка гонки в notifyZOrderChanged благодаря чему поставщик пользовательского интерфейса получает уведомление обо всех изменениях порядка отображения (Z-order).

Версия 1.0.0-alpha02

19 апреля 2023 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha02 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha02 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты.

Исправлены ошибки

  • Отключено отслаивание testChangingSandboxedSdkViewLayoutChangesChildLayout test

Версия 1.0.0-alpha01

8 марта 2023 г.

Выпущены androidx.privacysandbox.ui:ui-client:1.0.0-alpha01 , androidx.privacysandbox.ui:ui-core:1.0.0-alpha01 и androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты.

Новые функции

  • Это новые библиотеки Jetpack, которые приложения и SDK с поддержкой среды выполнения (песочница конфиденциальности) могут использовать, чтобы позволить приложению (клиенту) размещать любой пользовательский интерфейс, предоставляемый SDK (поставщиком).