Конфиденциальность и интерфейс песочницы
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
13 ноября 2024 г. | - | - | - | 1.0.0-альфа11 |
Объявление зависимостей
Чтобы добавить зависимость от Privacysandbox-ui, вы должны добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { // Use to implement privacysandbox ui implementation "androidx.privacysandbox.ui:ui:1.0.0-alpha10" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha10" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10" }
Котлин
dependencies { // Use to implement privacysandbox ui implementation("androidx.privacysandbox.ui:ui:1.0.0-alpha10") // Use to implement privacysandbox ui-core implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha10") // Use to implement privacysandbox ui-provider implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.0
Версия 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 действий в изолированной программной среде конфиденциальности. Вместо этого эти API теперь можно найти в специальной библиотеке действий
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 и более ранних версиях представление поставщика будет отображаться внутри процесса приложения в другом загрузчике классов. ( Если0b7a )
- Добавлена логика, которая позволяет фиксировать изменение размера контейнеров хоста и поставщика в одном кадре, чтобы избежать видимых ошибок пользовательского интерфейса. ( 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
к «ограничивающему родительскому» представлению, внутри которого он может прокручиваться. Это гарантирует, что содержимое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
. Это позволяет пользовательскому интерфейсу поставщика услуг размещения контейнеров с возможностью прокрутки правильно реагировать на прокрутку и перелистывание.
Изменения 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 test
Версия 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, которые приложения и SDK с поддержкой среды выполнения (Privacy Sandbox) могут использовать, чтобы позволить приложению (клиенту) размещать любой пользовательский интерфейс, предоставленный SDK (поставщиком).