Privacy Sandbox UI

  
待辦事項
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2024 年 6 月 26 日 - - - 1.0.0-alpha09

宣告依附元件

如要新增 privacysandbox-ui 的依附元件,必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

Groovy

dependencies {
    // Use to implement privacysandbox ui
    implementation "androidx.privacysandbox.ui:ui:1.0.0-alpha09"

    // Use to implement privacysandbox ui-core
    implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha09"
   
    // Use to implement privacysandbox ui-core
    implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09"
}

Kotlin

dependencies {
    // Use to implement privacysandbox ui
    implementation("androidx.privacysandbox.ui:ui:1.0.0-alpha09")

    // Use to implement privacysandbox ui-core
    implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha09")

    // Use to implement privacysandbox ui-provider
    implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09")

    
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

1.0 版

1.0.0-alpha09 版本

2024 年 6 月 26 日

發布 androidx.privacysandbox.ui:ui-client:1.0.0-alpha09androidx.privacysandbox.ui:ui-core:1.0.0-alpha09androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09。1.0.0-alpha09 版包含這些修訂版本

新功能

  • 推出 AbstractSandboxedUiAdapterAbstractSandboxedUiAdapter.AbstractSession 抽象類別,可供 UI 供應商使用,以免實作整個 SandboxedUiAdapterSession 介面。建議 UI 供應商使用這些抽象類別。
  • 新增 registerObserverFactory 邏輯,允許將 SessionObserverFactory 附加至 SandboxedUiAdapter。將 SessionObserverFactory 附加至轉接器時,系統會為每個為該轉接程式建立的新 UI 工作階段建立 SessionObserver。建立的 SessionObserver 會在 UI 工作階段開啟時收到 onSessionOpened 回呼。當 Session 檢視畫面的 UI 呈現變更時,系統會呼叫 SessionObserver.onUiContainerChangedonUiContainerChanged 受到節流限制,最多每 200 毫秒就會呼叫一次。
  • 已新增 SandboxedSdkViewUiInfo,可從 SessionObserver.onUiContainerChanged 傳送的 Bundle 建立。這個物件代表代管 UI 工作階段的 SandboxedSdkView 的 UI 狀態。其中包含高度和寬度資訊、Rect 代表畫面上顯示的檢視畫面幾何圖形,以及代表檢視畫面不透明度的不透明度提示。

API 變更

  • 將不透明度提示新增至 SandboxedSdkViewUiInfo。(I093ac)。
  • 新增 SessionObserver.onUiContainerChangedSandboxedSdkViewUiInfo。(Ie98bc)。
  • 新增 SessionObserver 介面和註冊邏輯。(I047dc)。
  • 新增 AbstractSandboxedUiAdapterAbstractSession。(I3617a)。

已知問題

  • 如果 UI 供應器與用戶端應用程式處於相同程序,系統就不會在容器捲動時傳送 SessionObserver.onUiContainerChanged

1.0.0-alpha08 版

2024 年 5 月 14 日

發布 androidx.privacysandbox.ui:ui-client:1.0.0-alpha08androidx.privacysandbox.ui:ui-core:1.0.0-alpha08androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08。1.0.0-alpha08 版包含這些修訂版本

新功能

  • 新增在 PoolingContainer 中使用 SandboxedSdkView 的支援功能,例如 RecyclerView。如果 SandboxedSdkView 的父項為 PoolingContainer,其 UI 工作階段的生命週期會與 PoolingContainer 保持一致,確保工作階段能透過視窗卸離。

API 變更

  • 已淘汰 Privacy Sandbox Activity API。這些 API 現已改為在專屬的 Activity 程式庫 androidx.privacysandbox.activity 中找到。(I68beb)。

修正錯誤

  • 修正在集區容器中顯示遠端內容時發生的轉譯錯誤。(I804df)。
  • 修正在回溯相容性模式下,會導致 ViewGroups 轉譯問題的錯誤。(I8de92)。
  • 如果 SandboxedSdkView 的其中一個父項為 PoolingContainer,請在 PoolingContainer 指出資源可釋出時 (而非在視窗卸離時) 關閉 UI 工作階段。(I2046b)。

外部貢獻

  • 由於 minSdk 提供 GestureDetector,因此 GestureDetectorCompat 現已淘汰。(Icc4cd)。

1.0.0-alpha07 版

2023 年 10 月 18 日

發布 androidx.privacysandbox.ui:ui-client:1.0.0-alpha07androidx.privacysandbox.ui:ui-core:1.0.0-alpha07androidx.privacysandbox.ui:ui-provider:1.0.0-alpha071.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-alpha06androidx.privacysandbox.ui:ui-core:1.0.0-alpha06androidx.privacysandbox.ui:ui-provider:1.0.0-alpha061.0.0-alpha06 版包含此連結所列的修訂項目。

新功能

  • 新增邏輯,將 SandboxedSdkView 剪輯至可能在其中捲動的「繫結父項」檢視畫面。這可確保 SandboxedSdkView 的內容不會遮住根內容檢視畫面以外的其他檢視畫面或任何 UI 元件。(I9ea94)。

API 變更

  • SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction 重新命名為 orderProviderUiAboveClientUi (Iecb7e)

修正錯誤

  • 將正確的 Z 順序值傳送給主機。(Ib0ddf)。
  • 僅針對垂直捲動/快速滑過動作轉移觸控焦點。(I0528c)。

1.0.0-alpha05 版

2023 年 8 月 9 日

發布 androidx.privacysandbox.ui:ui-client:1.0.0-alpha05androidx.privacysandbox.ui:ui-core:1.0.0-alpha05androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05查看 1.0.0-alpha05 版的修訂項

新功能

  • 新增邏輯,將觸控焦點轉移至來自 SandboxedSdkView 的主機捲動和快速滑過手勢。這可讓用戶端的可捲動容器代管服務供應商 UI 正確回應捲動和快速滑過動作。

API 變更

  • SandboxedUiAdapter 中新增 windowInputToken 參數 (Ief578)

修正錯誤

  • 將工作階段首次繪製後設為「Active」(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-alpha04androidx.privacysandbox.ui:ui-core:1.0.0-alpha04androidx.privacysandbox.ui:ui-provider:1.0.0-alpha041.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-alpha03androidx.privacysandbox.ui:ui-core:1.0.0-alpha03androidx.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-alpha02androidx.privacysandbox.ui:ui-core:1.0.0-alpha02androidx.privacysandbox.ui:ui-provider:1.0.0-alpha021.0.0-alpha02 版本包含以下修訂項目。

修正錯誤

  • 停用 flaking test ChangeSandboxedSdkViewLayoutChangesChildLayout 測試

1.0.0-alpha01 版

2023 年 3 月 8 日

發布 androidx.privacysandbox.ui:ui-client:1.0.0-alpha01androidx.privacysandbox.ui:ui-core:1.0.0-alpha01androidx.privacysandbox.ui:ui-provider:1.0.0-alpha011.0.0-alpha01 版本包含這些修訂版本。

新功能

  • 應用程式和支援執行階段的 SDK (Privacy Sandbox) 可以使用這些新的 Jetpack 程式庫,讓應用程式 (用戶端) 代管 SDK (供應商) 提供的任何 UI。