privacysandbox ui
最新更新 | 稳定版 | 候选发布版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 11 月 13 日 | - | - | - | 1.0.0-alpha11 |
声明依赖项
要添加对 privacysandbox-ui 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以了解更多信息。
在应用或模块的 build.gradle
文件中添加所需构件的依赖项
Groovy
dependencies { // Use to implement privacysandbox ui implementation "androidx.privacysandbox.ui:ui:1.0.0-alpha11" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha11" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11" }
Kotlin
dependencies { // Use to implement privacysandbox ui implementation("androidx.privacysandbox.ui:ui:1.0.0-alpha11") // Use to implement privacysandbox ui-core implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha11") // Use to implement privacysandbox ui-provider implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11") }
有关依赖项的更多信息,请参阅添加构建依赖项。
反馈
您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的想法,请告知我们。在创建新问题之前,请查看此库中现有的问题。您可以通过点击星形按钮为现有问题添加您的投票。
有关更多信息,请参阅问题跟踪器文档。
版本 1.0
版本 1.0.0-alpha11
2024 年 11 月 13 日
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 版本
2024 年 9 月 18 日
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
逻辑,以便在包含SandboxedSdkView
的窗口可见性发生变化时发送onUiContainerChanged
。
错误修复
- 当窗口可见性发生变化时调用
onUiContainerChanged
(I541cf) - 删除了对新平台 API 访问的手动概述,因为在使用 R8 与 AGP 7.3 或更高版本(例如 R8 版本 3.3)时,以及在使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)时,所有构建都会通过 API 建模自动执行此操作。建议未使用 AGP 的客户端更新到 D8 版本 8.1 或更高版本。有关更多详细信息,请参阅这篇文章。(If6b4c、b/345472586)
1.0.0-alpha09 版本
2024 年 6 月 26 日
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
抽象类,UI 提供者可以使用它们来避免实现整个SandboxedUiAdapter
或Session
接口。建议 UI 提供者使用这些抽象类。 - 添加了
registerObserverFactory
逻辑,允许将SessionObserverFactory
附加到SandboxedUiAdapter
。当将SessionObserverFactory
附加到适配器时,将为该适配器创建的每个新 UI 会话创建一个SessionObserver
。创建的SessionObserver
将在 UI 会话打开时收到onSessionOpened
回调。当Session
视图的 UI 显示发生变化时,将调用SessionObserver.onUiContainerChanged
。onUiContainerChanged
受限,最多每 200 毫秒调用一次。 - 添加了
SandboxedSdkViewUiInfo
,它可以从SessionObserver.onUiContainerChanged
中发送的Bundle
创建。此对象表示托管 UI 会话的SandboxedSdkView
的 UI 状态。它包含高度和宽度信息、表示屏幕上可见视图几何形状的Rect
以及表示视图不透明度的透明度提示。
API 更改
- 向
SandboxedSdkViewUiInfo
添加透明度提示。(I093ac) - 添加
SessionObserver.onUiContainerChanged
和SandboxedSdkViewUiInfo
。(Ie98bc) - 添加
SessionObserver
接口和注册逻辑。(I047dc) - 添加
AbstractSandboxedUiAdapter
和AbstractSession
。(I3617a)
已知问题
- 当 UI 提供者与客户端应用程序位于同一进程中时,容器滚动时不会发送
SessionObserver.onUiContainerChanged
。
1.0.0-alpha08 版本
2024 年 5 月 14 日
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 版本包含这些提交。
新功能
- 添加了对在
PoolingContainer
(例如RecyclerView
)内使用SandboxedSdkView
的支持。当SandboxedSdkView
的父级是PoolingContainer
时,其 UI 会话的生命周期将与PoolingContainer
的生命周期保持一致,以确保会话能够在窗口分离过程中持续存在。
API 更改
- 弃用了隐私沙盒 Activity API。现在可以在专用的 Activity 库
androidx.privacysandbox.activity
中找到这些 API。(I68beb)
错误修复
- 修复了在池化容器内显示远程内容时的渲染错误。(I804df)
- 修复了导致向后兼容模式下
ViewGroups
出现渲染问题的错误。(I8de92) - 当
SandboxedSdkView
的父级之一是PoolingContainer
时,在PoolingContainer
指示可以释放资源时关闭 UI 会话,而不是在窗口分离时关闭。(I2046b)
外部贡献
GestureDetectorCompat
现已弃用,因为GestureDetector
可从minSdk
获得。(Icc4cd)
1.0.0-alpha07 版本
2023 年 10 月 18 日
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)
- 添加了允许在同一帧中提交主机和提供者容器大小调整的逻辑,以避免明显的 UI 卡顿。(Ic2cd9)
API 更改
- 库的 MinSdk 提升到 API 21。(I474b8)
1.0.0-alpha06 版本
2023 年 9 月 20 日
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
的内容不会遮挡其他视图或根内容视图之外的任何 UI 组件。(I9ea94)
API 更改
- 将
SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction
重命名为orderProviderUiAboveClientUi
(Iecb7e)
错误修复
1.0.0-alpha05 版本
2023 年 8 月 9 日
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 更改
- 向
SandboxedUiAdapter
添加了windowInputToken
参数。(Ief578)
错误修复
- 在第一次绘制后将会话状态设置为活动状态。(I36f3f)
- 修复了
SandboxedSdkView
的布局问题。(I09cb8) - 添加了将触摸焦点传递给主机的逻辑。(I33b54)
- 向
SandboxedUiAdapter
添加windowInputToken
参数。这对于确保SurfaceControlViewHost
的令牌与嵌入式层次结构的主机正确关联是必要的。(Ief578) - 在主线程内运行
notifyResized
。(I62440) - 修复了
Session.close()
流中的崩溃。(I5392e)
1.0.0-alpha04 版本
2023 年 6 月 21 日
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
竞争条件。确保通知 UI 提供者所有 Z 顺序更改。如果在调用 openSession 之前更改了SandboxedSdkView
的 Z 顺序,则不会显式通知 UI 提供者。
1.0.0-alpha03 版本
2023 年 5 月 24 日
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
通知应用程序 UI 会话中的更改
API 更改
- 添加了
StateChangedListener
来替换ErrorConsumer
(Icd5d3)
错误修复
- 修复了
notifyZOrderChanged
竞态条件,以便在所有 Z 轴顺序更改时通知 UI 提供程序
版本 1.0.0-alpha02
2023 年 4 月 19 日
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-alpha01
2023 年 3 月 8 日
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(提供程序)提供的任何 UI。