privacysandbox ui
| 最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| 2025 年 5 月 20 日 | - | - | - | 1.0.0-alpha16 |
依存関係の宣言
privacysandbox-ui への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { // Use to implement privacysandbox ui-client implementation "androidx.privacysandbox.ui:ui-client:1.0.0-alpha16" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha16" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha16" }
Kotlin
dependencies { // Use to implement privacysandbox ui-client implementation("androidx.privacysandbox.ui:ui-client:1.0.0-alpha16") // Use to implement privacysandbox ui-core implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha16") // Use to implement privacysandbox ui-provider implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha16") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.0
バージョン 1.0.0-alpha16
2025 年 5 月 20 日
androidx.privacysandbox.ui:ui-*:1.0.0-alpha16 がリリースされました。バージョン 1.0.0-alpha16 に含まれる commit はこちらをご覧ください。
新機能
SandboxedSdkViewで障害物を測定するロジックを追加しました。この障害物は、関連するSessionObserverFactory.signalOptionsにSandboxedUiAdapterSignalOptions.OBSTRUCTIONSが含まれている場合にSessionObserver.onUiContainerChanged()で送信されます。障害物はビュー自体を基準として報告されます。
API の変更
SandboxedSdkUiを ui-client から新しい ui-client-compose ライブラリに移動しました。- UI コンテナの障害物を測定するロジックを追加しました。(I34bea)
バグの修正
SandboxedSdkView.setAlpha()を修正し、コンテンツ ビューのアルファを更新するようにしました。
バージョン 1.0.0-alpha15
2025 年 3 月 26 日
androidx.privacysandbox.ui:ui-client:1.0.0-alpha15、androidx.privacysandbox.ui:ui-core:1.0.0-alpha15、androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15 がリリースされました。バージョン 1.0.0-alpha15 に含まれる commit はこちらをご覧ください。
新機能
SandboxedSdkViewとSandboxedSdkUiのデフォルトの Z 順序を「下」に設定します。これは、プロバイダのサーフェスがクライアントのウィンドウの下に配置されることを意味します。UI プロバイダが、クライアント ウィンドウで受信した後にこのモードでMotionEventsを受信するためのサポートを追加しました。SessionObserverFactoryインターフェースにsignalOptionsフィールドを追加しました。これを使用して、関連するSessionObserverに対して収集されるシグナルを決定するために使用される一連の文字列オプションを定義できます。初期のシグナル セットはSandboxedUiAdapterSignalOptionsで定義されています。シグナル オプションが設定されていない場合、SessionObserver.onSessionOpened()とSessionObserver.onSessionClosed()のみが呼び出されます。
API の変更
SandboxedUiAdapter.openSession()でSessionConstantsの名前をSessionDataに変更しました。
既知の問題
- SDK が SDK ランタイムで読み込まれ、
SandboxedSdkViewまたはSandboxedSdkUiの Z 順序が「上」の場合、ジェスチャーはプロバイダ ウィンドウでのみ受信され、クライアント ウィンドウに転送されなくなります。
バージョン 1.0.0-alpha14
2025 年 2 月 26 日
androidx.privacysandbox.ui:ui-client:1.0.0-alpha14、androidx.privacysandbox.ui:ui-core:1.0.0-alpha14、androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14 がリリースされました。バージョン 1.0.0-alpha14 に含まれる commit はこちらをご覧ください。
新機能
- クライアント所有とプロバイダ所有の要素を含めることができる「共有 UI」を作成できるようになりました。共有 UI は、
ViewGroupを拡張するSharedUiContainerを使用してホストできます。新しい API は、SandboxedSdkViewやSandboxedUiAdapterと同様のセッション管理のコンセプトを利用します。 - このリリースで追加された API はすべて、
SharedUiPresentationApi@RequiresOptInフラグの背後にあります。
API の変更
- セッション管理 API とアセット登録 API を
SharedUiContainerに追加しました。セッション管理は、同じリリースで導入されたSharedUiAdapterを使用して実装されています。(Ic60b0) - クライアント所有の UI とプロバイダ所有の UI をホストできる
SharedUiContainerを追加しました。すべての子ビューが左上に配置されます。(Ia7310) SharedUiAdapterの下位互換性サポートを追加しました。(I56d7a)- クライアント所有の UI とプロバイダ所有の UI をホストできるビュー コンテナのセッション管理に
SharedUiAdapterを追加しました。セッション管理ロジックはSandboxedUiAdapterのロジックに似ています。(I501f6)
バグの修正
onVisibilityAggregatedが呼び出されたときに視認性を計算します。(I91c69)
既知の問題
PoolingContainer内に配置すると、SharedUiContainerはウィンドウのデタッチ時にセッションを閉じます。
バージョン 1.0.0-alpha13
2025 年 1 月 29 日
androidx.privacysandbox.ui:ui-client:1.0.0-alpha13、androidx.privacysandbox.ui:ui-core:1.0.0-alpha13、androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13 がリリースされました。バージョン 1.0.0-alpha13 に含まれる commit はこちらをご覧ください。
新機能
- Compose UI 内にリモート コンテンツを表示するために使用できる
SandboxedSdkUiというコンポーザブル オブジェクトを追加しました。このオブジェクトは、セッション管理とイベント リスナーに既存のSandboxedSdkViewコンセプトを利用します。(I009cf) SandboxedUiAdapter.openSessionシグネチャを変更し、以前のwindowInputTokenに代わる新しいSessionConstantsパラメータを追加しました。このパラメータは、SandboxedUiAdapter.Sessionの存続期間中一定の値を渡すために使用します。(Ibc0df、I28435)
既知の問題
- スクロールされた
SandboxedSdkUiに対してSessionObserverイベントが送信されない。 SandboxedSdkUiが Z-above モードの場合、親ビューによってクリップされません。
API の変更
- 非推奨の
SDKActivityLauncherコードを削除しました。(I49a4f) - 新しい
SessionObserverFactoryRegistryインターフェースを追加して、オブザーバー ファクトリ登録ロジックをSandboxedUiAdapterから分離しました。(I245cc)
バージョン 1.0.0-alpha12
2024 年 12 月 11 日
androidx.privacysandbox.ui:ui-client:1.0.0-alpha12、androidx.privacysandbox.ui:ui-core:1.0.0-alpha12、androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12 がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit はこちらをご覧ください。
新機能
StateChangedListenerがSandboxedSdkViewEventListenerに変更されました。このイベント リスナーは、UI の表示、セッションの終了、セッション エラーのイベントをリッスンするために使用できます。
API の変更
SandboxedSdkView内で UI イベントをリッスンするためのSandboxedSdkViewEventListenerを追加しました。このバージョンではStateChangedListenerも削除されます。(Id71ea)
バグの修正
SandboxedSdkViewからクリッピング境界のロジックを削除しました。SandboxedSdkViewがスクロール可能なコンテナに配置され、orderProviderUiAboveClientUi(false)が呼び出されない場合(基盤となるフレームワークのバグが修正されるまで)、UX の問題が発生します。(Id420d)DelegatingSandboxedUiAdapterの使用中にリモート プロセスが終了した場合に発生する可能性があるRemoteExceptionを修正しました。
バージョン 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 に含まれる commit はこちらをご覧ください。
新機能
SandboxedUiAdapterを拡張し、異なるSandboxedUiAdapters間で委任に使用できる試験運用版 APIDelegatingSandboxedUiAdapterを導入しました。このアダプターが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 に含まれる commit はこちらをご覧ください。
新機能
- セッションの開始ロジックを更新し、
SandboxedSdkViewを含むウィンドウが表示されている場合にのみ、SandboxedSdkView内のセッションを開くようにしました。 SandboxedSdkViewを含むウィンドウの可視性が変更されたときにonUiContainerChangedを送信するようにSessionObserverロジックを更新しました。
バグの修正
- ウィンドウの可視性が変更されたときに
onUiContainerChangedを呼び出す(I541cf) - 新しいプラットフォーム API へのアクセスの手動アウトラインを削除しました。これは、AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および 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 には、これらの commit が含まれています。
新機能
- UI プロバイダが
SandboxedUiAdapterインターフェースまたはSessionインターフェース全体を実装しなくても済むように、AbstractSandboxedUiAdapter抽象クラスとAbstractSandboxedUiAdapter.AbstractSession抽象クラスを導入しました。UI プロバイダは、これらの抽象クラスを使用することをおすすめします。 SessionObserverFactoryをSandboxedUiAdapterに接続できるようにするregisterObserverFactoryロジックを追加しました。SessionObserverFactoryがアダプタに接続されると、そのアダプタ用に作成された新しい UI セッションごとにSessionObserverが作成されます。作成されたSessionObserverは、UI セッションが開かれたときにonSessionOpenedコールバックを受信します。Sessionのビューの UI 表示が変更されると、SessionObserver.onUiContainerChangedが呼び出されます。onUiContainerChangedはスロットリングされ、最大で 200 ミリ秒ごとに呼び出されます。SessionObserver.onUiContainerChangedで送信されたBundleから作成できるSandboxedSdkViewUiInfoを追加しました。このオブジェクトは、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 には、これらの commit が含まれています。
新機能
RecyclerViewなどのPoolingContainer内でSandboxedSdkViewを使用できるようになりました。SandboxedSdkViewの親がPoolingContainerの場合、UI セッションのライフサイクルはPoolingContainerのライフサイクルと調整され、ウィンドウのデタッチ後もセッションが保持されるようにします。
API の変更
- 非推奨のプライバシー サンドボックス Activity API。これらの API は、専用の Activity ライブラリ
androidx.privacysandbox.activityで確認できるようになりました。(I68beb)
バグの修正
- プーリング コンテナ内でリモート コンテンツを表示する際のレンダリング バグを修正しました。(I804df)
- 下位互換モードで
ViewGroupsのレンダリングの問題を引き起こしていたバグを修正しました。(I8de92) SandboxedSdkViewの親の 1 つがPoolingContainerの場合、PoolingContainerがリソースを解放できることを示すときに UI セッションを閉じ、ウィンドウの切断時に閉じないようにします。(I2046b)
外部からの協力
GestureDetectorがminSdkから利用可能になったため、GestureDetectorCompatは非推奨となりました。(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 に含まれる commit については、こちらをご覧ください。
新機能
- ライブラリの下位互換性サポートを追加しました。API 33 以前では、プロバイダのビューはアプリのプロセス内の別のクラスローダでレンダリングされます。(If0b7a)
- ホスト コンテナとプロバイダ コンテナのサイズ変更を同じフレームで commit できるようにするロジックを追加し、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 に含まれる commit については、こちらをご覧ください。
新機能
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 に含まれる commit については、こちらをご覧ください。
新機能
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 に含まれる commit については、こちらをご覧ください。
新機能
SdkActivityLauncherを導入します。ランタイム対応 SDK がアクティビティを起動できるようにするインターフェース。(I5b3dc)
バグの修正
notifyZOrderChangedの競合状態を修正しました。すべての Z 順序の変更について UI プロバイダに通知されるようにします。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 に含まれる commit については、こちらをご覧ください。
新機能
StateChangedListener: UI セッションの変更をアプリに通知します。
API の変更
ErrorConsumerに代わるStateChangedListenerを追加しました。(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 に含まれる commit については、こちらをご覧ください。
バグの修正
- フレーキー テストを無効にする 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 に含まれる commit については、こちらをご覧ください。
新機能
- これらは、アプリとランタイム対応 SDK(プライバシー サンドボックス)が使用できる新しい Jetpack ライブラリで、アプリ(クライアント)が SDK(プロバイダ)から提供された UI をホストできるようにします。