privacysandbox ui

  
TODO
最近更新時間 穩定版 候選版 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-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-alpha11 版本

2024 年 11 月 13 日

發布 androidx.privacysandbox.ui:ui-client:1.0.0-alpha11androidx.privacysandbox.ui:ui-core:1.0.0-alpha11androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11。1.0.0-alpha11 版包含這些修訂項目

新功能

  • 推出了實驗性 API DelegatingSandboxedUiAdapter,可擴充 SandboxedUiAdapter,並用於在不同 SandboxedUiAdapters 之間委派。當這個轉接程式設在 SandboxedSdkView 等用戶端容器上時,委派轉接程式可以使用 updateDelegate 變更委派轉接程式。這麼做會關閉現有工作階段,並為新委派物件建立新的 SandboxedUiAdapter.Session。這樣一來,您就能在代理人之間順利轉換。(I5f1c5I9e3e7)
  • 新增了更完善的 SandboxedSdkView 邊框間距支援功能。(Ic414f)

修正錯誤

  • 修正全域版面配置事件可能發生的 NullPointerException

1.0.0-alpha10 版本

2024 年 9 月 18 日

發布 androidx.privacysandbox.ui:ui-client:1.0.0-alpha10androidx.privacysandbox.ui:ui-core:1.0.0-alpha10androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10。1.0.0-alpha10 版包含這些修訂項目

新功能

  • 更新工作階段開啟邏輯,只有在包含 SandboxedSdkView 的視窗可見時,才會在 SandboxedSdkView 中開啟工作階段。
  • 更新 SessionObserver 邏輯,當包含 SandboxedSdkView 的視窗顯示設定變更時,會傳送 onUiContainerChanged

修正錯誤

  • 在視窗顯示設定變更時叫用 onUiContainerChanged (I541cf)
  • 移除新平台 API 存取權的手動設定,因為在使用 AGP 7.3 以上版本 (例如 R8 3.3 版) 的 R8 時,以及在使用 AGP 8.1 以上版本 (例如 D8 8.1 版) 的所有版本時,系統會透過 API 模擬功能自動執行此操作。建議未使用 AGP 的用戶端更新至 D8 8.1 以上版本。詳情請參閱這篇文章。(If6b4cb/345472586)。

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,可透過 BundleSessionObserver.onUiContainerChanged 中建立。這個物件代表代管 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)

外部貢獻

  • GestureDetectorCompat 已淘汰,因為 GestureDetector 可從 minSdk 取得。(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 變更

  • 已將 windowInputToken 參數新增至 SandboxedUiAdapter (Ief578)

修正錯誤

  • 在第一次抽樣後將工作階段狀態設為「Active」(I36f3f)
  • 修正 SandboxedSdkView 的版面配置問題。(I09cb8)。
  • 新增邏輯,將觸控焦點轉移至主機。(I33b54)。
  • windowInputToken 參數新增至 SandboxedUiAdapter。這項操作有助於確保 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 競爭狀態,讓 UI 供應器收到所有 Z 順序變更的通知

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 版本包含以下修訂項目。

修正錯誤

  • 停用不穩定測試 ChangingSandboxedSdkViewLayoutChangesChildLayout 測試

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 版本包含這些修訂版本。

新功能

  • 這些是應用程式和支援 Runtime 的 SDK (Privacy Sandbox) 可使用的新 Jetpack 程式庫,可讓應用程式 (用戶端) 代管 SDK (提供者) 提供的任何 UI。