конфиденциальностьпесочница пользовательский интерфейс
| Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
|---|---|---|---|---|
| 20 мая 2025 г. | - | - | - | 1.0.0-альфа16 |
Объявление зависимостей
Чтобы добавить зависимость от privacysandbox-ui, необходимо добавить репозиторий Google Maven в свой проект. Прочтите репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для необходимых артефактов в файл build.gradle для вашего приложения или модуля:
классный
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" }
Котлин
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") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.0
Версия 1.0.0-альфа16
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-альфа15
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в этом режиме после получения клиентским окном. - Добавлено поле
signalOptionsв интерфейсSessionObserverFactory. Его можно использовать для определения набора параметров String, которые будут использоваться для определения того, какие сигналы собираются для связанногоSessionObserver. Первоначальный набор сигналов определен вSandboxedUiAdapterSignalOptions. Если параметры сигнала не заданы, будут вызваны толькоSessionObserver.onSessionOpened()иSessionObserver.onSessionClosed().
Изменения API
-
SessionConstantsпереименованы вSessionDataвSandboxedUiAdapter.openSession().
Известные проблемы
- Когда SDK загружен в среду выполнения SDK и Z-порядок
SandboxedSdkViewилиSandboxedSdkUiнаходится «выше», жест принимается исключительно окном поставщика и больше не передается в клиентское окно.
Версия 1.0.0-альфа14
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 содержит эти коммиты .
Новые возможности
- Теперь вы можете создавать «общий UI», т. е. UI, который может иметь элементы, принадлежащие как клиенту, так и провайдеру. Общий UI может размещаться с помощью
SharedUiContainer, который расширяетViewGroup. Новые API используют концепцию управления сеансами, похожую наSandboxedSdkViewиSandboxedUiAdapter. - Все API, добавленные в этом выпуске, защищены флагом
SharedUiPresentationApi@RequiresOptIn.
Изменения API
- Добавлены API управления сеансами и регистрации активов в
SharedUiContainer. Управление сеансами реализовано с помощьюSharedUiAdapter, представленного в том же выпуске. ( Ic60b0 ) - Добавлен
SharedUiContainer, который может размещать пользовательский интерфейс, принадлежащий клиенту и провайдеру. Он размещает все свои дочерние представления в верхнем левом углу. ( Ia7310 ) - Добавлена поддержка обратной совместимости для
SharedUiAdapter. ( I56d7a ) - Добавлен
SharedUiAdapterдля управления сеансами View-контейнеров, которые могут размещать пользовательский интерфейс, принадлежащий клиенту и поставщику. Логика управления сеансами аналогичнаSandboxedUiAdapter. ( I501f6 )
Исправление ошибок
- Вычислите видимость при вызове
onVisibilityAggregated. ( I91c69 )
Известные проблемы
- При помещении в
PoolingContainerSharedUiContainerзакрывает сеанс при отсоединении окна.
Версия 1.0.0-альфа13
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 UI. Этот объект использует существующие концепцииSandboxedSdkViewдля управления сеансами и прослушивателей событий. ( I009cf ) - Изменена сигнатура
SandboxedUiAdapter.openSessionдля включения нового параметраSessionConstants, который заменяет предыдущийwindowInputToken. Этот параметр должен использоваться для передачи значений, которые будут постоянными в течение всего срока службыSandboxedUiAdapter.Session. ( Ibc0df , I28435 )
Известные проблемы
- События
SessionObserverне отправляются дляSandboxedSdkUiпри прокрутке. -
SandboxedSdkUiне отсекается родительскими представлениями, когда он находится в режиме Z-выше.
Изменения API
- Удалить устаревший код
SDKActivityLauncher( I49a4f ) - Отделенная логика регистрации фабрики наблюдателей от
SandboxedUiAdapterпутем добавления нового интерфейсаSessionObserverFactoryRegistry. ( I245cc )
Версия 1.0.0-альфа12
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. Это приведет к проблемам UX, еслиSandboxedSdkViewпомещен в прокручиваемый контейнер иorderProviderUiAboveClientUi(false)не был вызван (пока не будет исправлена ошибка базовой структуры). ( Id420d ) - Исправлена ошибка
RemoteException, которая могла возникнуть, если удаленный процесс завершается при использованииDelegatingSandboxedUiAdapter.
Версия 1.0.0-альфа11
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-альфа10
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-альфа09
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-альфа08
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 Privacy Sandbox Activity. Теперь эти API можно найти в специальной библиотеке Activity
androidx.privacysandbox.activity. ( I68beb )
Исправление ошибок
- Исправлена ошибка рендеринга при отображении удаленного контента внутри контейнеров пула. ( I804df )
- Исправлена ошибка, вызывавшая проблемы с рендерингом
ViewGroupsв режиме обратной совместимости. ( I8de92 ) - Если одним из родительских элементов
SandboxedSdkViewявляетсяPoolingContainer, сеанс пользовательского интерфейса закрывается, когдаPoolingContainerуказывает, что ресурсы могут быть освобождены, а не при отсоединении окна. ( I2046b )
Внешний вклад
-
GestureDetectorCompatтеперь устарел, посколькуGestureDetectorдоступен изminSdk. ( Icc4cd )
Версия 1.0.0-альфа07
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
- MinSdk для библиотеки повышен до API 21. ( I474b8 )
Версия 1.0.0-альфа06
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к «родительскому» View, в котором он может прокручиваться. Это гарантирует, что содержимоеSandboxedSdkViewне будет загораживать другие представления или любые компоненты пользовательского интерфейса за пределами представления корневого содержимого. ( I9ea94 )
Изменения API
- Переименуйте
SandboxedSdkView.setZOrderOnTopAndEnableUserInteractionвorderProviderUiAboveClientUi( Iecb7e ).
Исправление ошибок
- Отправьте правильное значение Z-порядка на хост. ( Ib0ddf )
- Передача сенсорного фокуса только для вертикальной прокрутки/перелистывания. ( I0528c )
Версия 1.0.0-альфа05
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. Это позволяет UI провайдера хостинга прокручиваемого контейнера клиента правильно реагировать на прокрутку и перелистывание.
Изменения API
- Добавлен параметр
windowInputTokenвSandboxedUiAdapter( Ief578 )
Исправление ошибок
- Установить состояние сеанса на «Активный» после первого розыгрыша ( I36f3f )
- Исправлена проблема с макетом
SandboxedSdkView. ( I09cb8 ) - Добавлена логика для передачи сенсорного фокуса на хост. ( I33b54 )
- Добавьте параметр
windowInputTokenвSandboxedUiAdapter. Это необходимо для того, чтобы токенSurfaceControlViewHostбыл правильно связан с хостом встроенной иерархии. ( Ief578 ) - Запустите
notifyResizedвнутри основного потока. ( I62440 ) - Исправлен сбой в потоке
Session.close(). ( I5392e )
Версия 1.0.0-альфа04
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-альфа03
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-порядка.
Версия 1.0.0-альфа02
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 содержит эти коммиты.
Исправление ошибок
- Отключен тест на отслаиваниеChangingSandboxedSdkViewLayoutChangesChildLayout тест
Версия 1.0.0-альфа01
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, которые приложения и Runtime Enabled SDK (Privacy Sandbox) могут использовать, чтобы позволить приложению (клиенту) размещать любой пользовательский интерфейс, предоставляемый SDK (поставщиком).