Конфиденциальность и интерфейс песочницы

TODO
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
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 (поставщиком).