Android 版プライバシー サンドボックスには、デベロッパー プレビューとベータ版プログラムがあります。今後、デベロッパー プレビューに新しい API と機能を順次導入し、安定版の API をベータ版プログラムに昇格させる予定です。フィードバックをお寄せください。
Android 版プライバシー サンドボックスを初めて使用する場合は、まずプログラムの概要をご確認ください。プロジェクトにプライバシー サンドボックスを組み込むには、開発環境をセットアップし、テストデバイスまたはエミュレータで Android 版プライバシー サンドボックスを入手します。
現行のリリース
Android VanillaIceCream のプレビュー
Protected Audience API
- 認証されたコンテキスト広告を保護オークションに渡す機能が追加されました。これには、デバイスにすでにインストールされているアプリに対するネガティブ フィルタリングや、クリック数、インプレッション数、視聴回数、または成約数のフリークエンシー キャップも含まれます。コンテキスト広告は広告テクノロジーによる署名が必要なため、実装は以前のイテレーションと異なります。実装方法については、デベロッパー ガイドをご覧ください。
- AdSelectionConfig の関連するゲッターとセッターとともに、ContextualAds の名前を SignedContextualAds に変更しました。getPerBuyerSignedContextualAds、setPerBuyerSignedContextualAds
- 未認証のコンテキスト アプリが渡された場合、そのアプリはオークションから削除されます。
Attribution Reporting API
- アプリがすでにデバイスにインストールされている場合にソースを削除する機能
- ライト フレキシブル イベント レポートからフル フレキシブル イベント レポートへの更新
Android 版プライバシー サンドボックスの 2023 年 11 月のベータ版アップデート
Android 版プライバシー サンドボックス ベータ版の今回のリリースには、一般公開されている Android 14 デバイスのプライバシー サンドボックス API の更新が含まれています。SDK とデバイス イメージは、Android API 34(拡張機能レベル 10)として Android Studio の SDK Manager を使用してダウンロードできます。機能はデベロッパー プレビュー 9 と似ていますが、いくつかの重要な違いがあります。
Protected Audience API
- 広告テクノロジーが、カスタム オーディエンス委任を使用して、デバイス上に存在しない購入者に代わってカスタム オーディエンスに参加できるようになりました。
- Android では、入札サービスとオークション サービスでオークションを実施できるようになりました。
- Protected Audience のオークションは、CPC 課金に対応しています。
- Protected Audience のオークションとレポートで、信頼できる入札シグナルのデータ バージョン ヘッダーがサポートされるようになりました。
- Protected Audience のオークションでは、WIN イベントに対するフリークエンシー キャップ フィルタリングがサポートされています。
- Protected Audience で Attribution Reporting API との統合がサポートされるようになりました。
Attribution Reporting API
- Attribution Reporting API で Protected Audience との統合がサポートされるようになりました
SDK ランタイム
- SDK から SDK ランタイム内で他の SDK を読み込むことで、メディエーションのユースケースをサポートする機能
過去のリリース
デベロッパー プレビュー 10
リリース日: 2023 年 12 月 19 日
既知の制限事項
- Google Play 開発者サービスがバックグラウンドでクラッシュし、ユーザーに繰り返し通知する問題が発生している。
- この問題は、デバイスを再起動すると緩和される可能性があります。
- テスト中に非同期呼び出しがタイムアウトする場合は、次の adb コマンドを追加して、タイムアウトまでのしきい値を延長してみてください。
adb shell device_config put adservices fledge_auction_server_overall_timeout_ms 60000;
- 実機のみ: Google アカウントを追加することはできません。デバイスをホーム画面に戻す手順は次のとおりです。
- プレビュー イメージをスマートフォンにインストールします。
- Wi-Fi やモバイルデータに接続せずに設定ウィザードを進めます。
- ホーム画面が表示されたら、Wi-Fi またはモバイルデータに接続します。
- デバイスを再起動します。
Protected Audience API
- 関連するアプリ インストール広告の配信をサポートするため、新機能 [Protected App Signals][dp98] を導入します。この DP では、広告テクノロジーで以下を可能にする API をリリースします。
- 関連するアプリ インストール広告の配信に使用される、保護されたデバイス上のストレージにアプリイベントを保存することにより、シグナルをキュレートします。
- 高信頼実行環境で実行されている入札サービスとオークション サービスで Protected オークションを実行します。これらのサービスはそれぞれのシグナルにアクセスして、広告選択と入札に役立ちます。
Attribution Reporting API
- このバージョンの Attribution Reporting API:
- Protected Audience 統合が追加されます。これにより、集計概要レポートでカスタム オーディエンス ディメンションが有効になります。
- 集計サービスの TEE として Google Cloud プロバイダをサポートする。
- リダイレクトなしのクロスネットワーク アトリビューションのデバッグをサポートするため、shared_debug_key フィールドが追加されました。
- 詳細なデバッグ レポート リクエストにバージョン ヘッダーを追加しました。
オンデバイスのカスタマイズ
- 研究者と開発初期向けの初期リリースです。
- デバイス上のパーソナライズは、エンドユーザーのプライバシー保護を強化しながら、プロダクトやサービスをカスタマイズする革新的な方法を提供します。デバイス上のパーソナライズは、これを実現するための構成要素として、次のようなサービスとアルゴリズムを提供します(ただしこれらに限定されません)。
- フェデレーション ラーニングを使用してモデルのトレーニング、評価、パーソナライズを可能にするフェデレーション コンピューティング(FC)。デバイス上のパーソナライズにおけるフェデレーション コンピューティングの使用は、モデルのトレーニングと、必要に応じて推論(必要に応じて)に基づきます。
- 異なる場所にあるデータ間の Cuckoo フィルタ ベースのマッチングおよびクロス マッチング。
- DP 交互最小化(分散したデータに対するトレーニング用)やビルボード DP でのモデルのパーソナライズなどの新しい手法を使用したスパースモデルの差分プライベート(DP)トレーニング。
デベロッパー プレビュー 9
リリース日: 2023 年 8 月 15 日
既知の制限事項
- Bidding and オークション API を呼び出して生成されたオークション データは、DP9 で自動的に削除されません。
- 同意が取り消されたときに
getAdSelectionData
とpersistAdSelectionResult
を呼び出すと、プロセスがクラッシュします。 - ネガティブ フィルタリング機能は、
getAdSelectionData
とpersistAdSelectionResult
では機能しません。
Protected Audience API
- 広告テクノロジーがカスタム オーディエンス委任を使用して、デバイス上の呼び出し元にカスタム オーディエンスに参加できるようになりました。
- Android で、入札とオークション サービスでのオークションの実施がサポートされるようになりました。Protected Audience のオークションは、CPC 課金をサポートしています。
- Report Interactions API の名称が
reportEvent
に変更されました。 - フリークエンシー キャップ方式とカウンタ タイプを変更しました。
- デバッグ レポートを利用して、オークションで落札できなかった理由を確認したり、JavaScript ロジックの問題を特定したりできます。
Attribution Reporting API
- このリリースでは、Attribution Reporting API のデバッグ レポートが次のように改善されました。
- ウェブでサポートされている詳細なデバッグ レポートをサポートします。
- ウェブとアプリをまたいだアトリビューション デバッグ レポートを有効にする(ウェブ登録とアプリ登録の両方で AdId が必要)。
- 広告テクノロジーは、さまざまなレポート シナリオに合わせてノイズ パラメータを設定できます。
- このリリースは、オリジンベースのアトリビューションに移行します。つまり、以下のようになります。
- オリジンは登録に使用されます。
- 1 つのサイトで複数のオリジンを使用できます。
- ソースアプリまたは登録ごとに 1 つのオリジンという新しいレート制限が追加されました。
- 広告テクノロジーは、アトリビューション レポートのユースケースをローカルでテストするための登録を無効にできるようになりました。
SDK ランタイム
- SDK は、サービスの許可リストの開始またはバインドのみできます。
- SDK はシステム
ContentProvider
のサブセット(com.android.providers.settings.SettingsProvider
など)にのみアクセスできます。この場合、取得されたデータには識別子がなく、ユーザーの指紋の作成には使用できません。これらのチェックは、ContentResolver
を使用したContentProvider
へのアクセスにも適用されます。 - SDK は、保護されたブロードキャスト レシーバのサブセット(
android.intent.action.AIRPLANE_MODE
など)にのみアクセスできます。 - SDK は別のアプリに属するアクティビティを起動できますが、このインテントで送信できる内容には制限があります。
Android 版プライバシー サンドボックスの 2023 年 3 月ベータ版アップデート
2023 年 3 月リリースの Android 版プライバシー サンドボックス ベータ版には、公開されている Android 13 デバイスのプライバシー サンドボックス API の更新が含まれています。このリリースには Ad Services Extensions 5 API が含まれており、機能的にはデベロッパー プレビュー 6 と似ていますが、いくつかの主な違いがあります。
既知の制限事項
- FLEDGE のカスタム オーディエンスを更新するため定期的に実行されるバックグラウンドの取得ジョブにより、プロセスがクラッシュします。この問題により、FLEDGE はデフォルトで無効になっています。
全般
- このリリースでは Attribution Reporting API をご利用いただけます。この API は、以前は無効になっていました。以前のベータ版リリースで Attribution Reporting API を使用していた場合は、次のいずれかの手順でこのベータ版リリースを使用する前にアプリまたはデバイスのデータを消去します。
- デバイスまたはエミュレータで設定に移動し、テストに使用するアプリの、キャッシュだけではなくアプリ固有のストレージを消去します。
- 実機またはエミュレートしたデバイスで出荷時の設定にリセットします。
- エミュレートしたデバイスでは、Wipe Data 関数を実行します。
- アトリビューション レポートでデバッグキーがサポートされるようになりました。これにより、デベロッパーは Attribution API から未変更のレポートとプライバシーが強化されたレポートを受け取れます。デバッグキーを使用すると、プライバシー サンドボックスに移行する間、レポートの構造を明確に把握できます。
- アトリビューション レポートで最近、
registerSource
とregisterTrigger
が例外で失敗する広告サービスのバグが発生しました。開発中にこの問題が発生したとしても、修正がリリース済みであり、時間の経過とともに解決するはずです。 - Topics API のプレビュー機能は、Android 版プライバシー サンドボックスのデベロッパー プレビューと同等になりました。Topics API の呼び出し元は、週ごとのエポック計算にトピックの取得呼び出しを含めることなくトピックをプレビューできます。呼び出し元の参照されたトピックのリストに影響することもありません。詳細については、
shouldRecordObservation
フィールドをご覧ください。 Android 版 FLEDGE でテストを有効にするには、ベータ版プログラムに登録し、その同じ Google アカウントを使用してテストデバイスにログインします。そうしないと、API を呼び出そうとしても「サービスは利用できません」というメッセージとともに
IllegalStateException
が発生します。FLEDGE は次のベータ版リリースで復旧するはずです。それまでの間はデベロッパー プレビューを使用してテストを続行することをおすすめします。また、デバイスで FLEDGE を手動で有効にすることもできますが、以下の点に注意してください。
FLEDGE は、次の adb コマンドを使用して有効にできます。ただし、バックグラウンドの取得プロセスがクラッシュすると、システムの健全性の指標に悪影響を及ぼします。これらの値はプラットフォームによってリセットされる可能性があるため、永続的な解決策ではありません。
adb shell device_config set_sync_disabled_for_tests persistent
adb shell setprop debug.adservices.fledge_select_ads_kill_switch false
adb shell setprop debug.adservices.fledge_custom_audience_service_kill_switch false
adb shell device_config put adservices fledge_background_fetch_enabled true
過去のリリース
デベロッパー プレビュー 8
リリース日: 2023 年 5 月 23 日
既知の制限事項
- Protected Audience 広告には
WIN
タイプのフリークエンシー キャップ フィルタを追加できますが、WIN
タイプはまだサポートされておらず、このタイプのフィルタは無視されます。 - Protected Audience オークションで落札した購入者に落札インプレッションを報告するには、購入者はプライバシー サンドボックスに登録する必要があります。この要件をオーバーライドすることはできません。
- プライバシー サンドボックスが利用可能なデバイスでプライバシー サンドボックスの設定にアクセスするには、[設定] > [Google] > [広告] > [プライバシー サンドボックス] に移動します。
- Android Studio Giraffe では、エミュレータを使用してプロジェクトをデプロイできません。他のバージョンの Android Studio は正常に動作するはずです。2023 年 5 月 26 日に、Android Studio Giraffe に修正がリリースされます。
Protected Audience API
- FLEDGE は Protected Audience API に名称変更されました。
- Protected Audience は、2023 年 3 月のベータ版リリースで、デフォルトで無効になりました。この問題は解決され、Protected Audience が一部のユーザーにロールアウトされました。
- 次の新機能を追加しました。
- フリークエンシー キャップ
- インタラクション レポート
- オークションにコンテキスト広告を含める
- アプリ インストールの除外広告フィルタ
- 事前ビルド済み URI: アドテックが JavaScript の代わりにオークション プロセスで使用する事前定義ロジックのライブラリ。
- 入札とスコアリングの JavaScript 関数のバージョニング
Attribution Reporting API
- OR トリガー フィルタを追加しました。つまり、フィルタはフィルタマップのリストである
フィルタセットで構成されますセット内のフィルタマップがソースのフィルタデータと一致しない場合、
event_trigger_data
オブジェクトは無視されます。 - 集計 API とイベントレベル API のインプレッションの有効期限とレポート期間は、分離されています。
- 集計可能レポートで重複除去キーのサポートを追加しました。
- ウェブ版プライバシー サンドボックスと同等になるように、イベント レポートに
scheduled_report_time
を追加しました。 - リダイレクトなしのクロスネットワーク アトリビューションを実装している。
SDK ランタイム
- アプリプロセスと SDK ランタイム プロセス用に SDK 間の通信を実装しました。
- カスタマイズされた SDK アクティビティのサポート
デベロッパー プレビュー 7
リリース日: 2023 年 1 月 26 日
FLEDGE on Android API
- 次の JavaScript メソッドで、パラメータ
custom_audience_signals
の名前が変更されました。generateBid()
の名前がcustom_audience_bidding_signals
に変更されました。scoreAd()
の名前がcustom_audience_scoring_signals
に変更されました。reportWin()
の名前がcustom_audience_reporting_signals
に変更されました。
- このリリースでは、
AdSelectionFromOutcomeConfig
を取得してselectAds
の結果を比較する新しいselectAds
オーバーライドが追加されました。これにより、この API を使用する広告テクノロジー SDK がウォーターフォール メディエーションを実行できるようになります。詳しくは、デベロッパー ガイドをご覧ください。 selectAds()
API で、広告選択プロセスで取得される入札とスコアリングのロジック JavaScript のキャッシュ保存がサポートされるようになりました。- キャッシュは、JavaScript での取得呼び出し時にサーバーから返される
Cache-Control
ヘッダーで制御できます。JavaScript レスポンスがキャッシュに保存されないようにするには、no-cache
またはno-store
を使用して、キャッシュ期間を制御する max-age を使用します。 - 現在のキャッシュ エントリ
max-age
はデフォルトで 2 日間に設定されます。
- キャッシュは、JavaScript での取得呼び出し時にサーバーから返される
Android API のアトリビューション レポート
- このリリースでは、
registerSource()
とregisterTrigger()
のデイジー チェーン リダイレクトのサポートが追加されました。API コンシューマは、サーバー レスポンスとして HTTP リダイレクトを使用できるようになりました。
ベータ版の初期リリース: 2023 年 1 月
リリース日: 2023 年 1 月 9 日
Android 版プライバシー サンドボックス ベータ版 1 により、プライバシー サンドボックス API を初めて一般デバイスで利用できるようになります。以下の点が改善されています。
全般
- Android 版プライバシー サンドボックス ベータ版 1 はデベロッパー プレビュー 5 と機能的に同等ですが、次の機能と制限事項が追加されています。
- 広告関連の API(Topics、FLEDGE、Attribution Reporting など)を利用するには、デベロッパーは登録プロセスを完了する必要があります。登録プロセスでは、デベロッパー ID を検証し、API に必要なデベロッパー固有のデータを収集します。
- Android 版プライバシー サンドボックス ベータ版 1 リリースでは、許可リストに登録して詳細を提出したデベロッパーは、自身の実機でテストできます。このリリースに含まれる安定版の API を対象とした開発を行うには、新しい SDK Ad Services Extensions 4 をダウンロードしてください。
Topics API
- Android Topics Classifier Colab では、分類器モデルの仕組みをより深く理解できます。
Attribution Reporting API
- Attribution Reporting は無効になっており、このリリースでは使用できません。この API へのアクセスは、次回のベータ版リリースで再び有効になります。引き続きデベロッパー プレビューを使ってテストすることをおすすめします。
SDK ランタイム
以下の制限事項は、Android プラットフォームの次回のメジャー リリースで修正される予定です。
- 現在、
RecyclerView
などのスクロール可能なビュー内での広告レンダリングは正しく機能しません。要素のサイズが変更されたとき、ジャンクが発生することがあります。ユーザーのタッチ スクロール イベントがランタイムに正しく渡されません。 WebView
レンダリングは SDK ランタイム プロセスで利用できません。- SDK ごとのストレージは利用できません。
getAdId
API とgetAppSetId
API のサポートはまだ有効になっていません。
デベロッパー プレビュー 6
リリース日: 2022 年 10 月 31 日
Android 版プライバシー サンドボックス デベロッパー プレビュー 6 では、以下の点が改善されました。
全般
製品版の公開に備えて、デベロッパー プレビュー 6 では、プライバシー保護 API アクセスをデフォルトで無効にするフラグが導入されました。テスト目的で、デベロッパー プレビューで次のコマンドを実行して、プライバシー保護 API アクセスを有効にします。
adb shell device_config put adservices global_kill_switch false
AdIdManager
API とAppSetIdManager
API には、Google Play 開発者サービス バージョン 22.36.16 以降が必要です。- Android 搭載デバイスで、[設定] > [アプリ] > [Google Play 開発者サービス] に適切なバージョンが表示されていることを確認します。
- Google Play 開発者サービスを適切なバージョンに更新する必要がある場合は、Google アカウントで Android テストデバイスまたはエミュレータにログインします。次に、Google Play ストア > プロフィール アイコン > [設定] > [概要] に移動します。「Play ストアのバージョン」という見出しの下にある [Play ストアを更新] をタップします。
- このステップは開発とテストの場合にのみ適用されます。プライバシー サンドボックスが一般ユーザー向けにロールアウトされた後は必要ありません。
Topics API
getTopics
をオブザーバーとして登録するかどうかを切り替えるための Preview API を追加しました。GetTopicsRequest
クラスの初期化コードの軽微な変更。- Topics 統合ガイドをリリースしました。
FLEDGE on Android API
- 実際のサーバーに対してテストを行う場合、API の有効化が必須になりました。こちらの手順に沿ってデバイスを構成してください。サンプルアプリにあるリモート オーバーライドを使用している場合、この手順は必要ありません。
- 互換性を破る変更:
- パラメータの
Url
をUri
に置き換えました。これは、入札とスコアリングのロジックに関して、すべての FLEDGE API とカスタム JavaScript に適用されます。 - Custom Audience API の入力から
owner
フィールドを削除しました。
- パラメータの
- 不完全なカスタム オーディエンスは直ちにバックグラウンド更新の対象となるようになりました。
- JavaScript のメモリ上限を 10 MB に設定しました。これは、入札とスコアリングのロジックに適用されます。
Attribution Reporting API
- デベロッパー プレビュー 6 で Attribution Reporting API を使用するには、広告テクノロジーの事前登録が必要です。詳しくは、プライバシー サンドボックス アカウントの登録をご覧ください。
- このリリースでデバッグキーが導入されるため、デベロッパーは、プライバシーが強化されたレポートとともに、未変更のレポートを Attribution Reporting API から受け取れます。デバッグキーを使用すると、プライバシー サンドボックスに移行する間、レポートの構造を明確に把握できます。
デベロッパー プレビュー 5
全般
- デベロッパー プレビュー 5 でプライバシー サンドボックス API にアクセスするには、まず API を有効にして API 固有の権限を構成する必要があります。
- Android 版プライバシー サンドボックスは、デバイス上でプライバシー保護 API と SDK ランタイムをアクティブにするかどうかをユーザーが制御できるように設計されています。これらの設定は、デベロッパー プレビュー 5 ではデフォルトで無効に設定されています。API へのアクセスは、adb コマンドを使用して有効にできます。
- 呼び出し元アプリは、埋め込み SDK のアクセスを制御するマニフェストおよび関連する
AdServices
構成で API 固有の権限を指定する必要があります。
- フォアグラウンドで実行されている場合、アプリはプライバシー保護 API を呼び出す必要があります。
AdIdManager
とAppSetIdManager
は現在運用されていません。今後のリリースで有効になる予定です。
SDK ランタイム
sendData()
は今後のバージョンで非推奨になります。loadSdk()
が、ランタイム対応の SDK と AIDL で定義されたアプリの間の双方向通信を容易にする IBinder オブジェクトを返すようになりました。- アプリは、SDK プロセスの終了など、ランタイム対応の追加の SDK ライフサイクル イベントにアクセスできます。
Attribution Reporting API
このリリースで、Attribution Reporting API に次の機能が追加されました。
- 暗号化された集計レポートのサポート。
- アプリとウェブにわたる測定のサポート。
- ソースとトリガーの登録レスポンスの統合されたヘッダー。
- ソース:
Attribution-Reporting-Register-Aggregatable-Source
がAttribution-Reporting-Register-Source
の一部になりました。 - トリガー:
Attribution-Reporting-Register-Event-Trigger, Attribution-Reporting-Register-Aggregatable-Trigger-Data
とAttribution-Reporting-Register-Aggregatable-Values
がAttribution-Reporting-Register-Event-Trigger
という名前の単一のヘッダーに統合されました。 Attribution-Reporting-Redirects
は別のヘッダーのままです。
- ソース:
FLEDGE on Android API
このリリースには、いくつかの新機能と改善のほか、互換性を破る変更が含まれています。
- 互換性を破る変更:
runAdSelection()
の名前がselectAds()
に変更されました。AdSelectionConfig.Builder.setAdSelectionSignals()
のパラメータが、JSON オブジェクトを表すAdSelectionSignals
に置き換えられました。- 広告テクノロジーの購入者 / 販売者を表す
String
の使用がAdTechIdentifier
オブジェクトに置き換えられました。 - リモートの JavaScript 取得をオーバーライドするための
TestCustomAudienceManager
クラスとTestAdSelectionManager
クラスが追加されました。 - カスタム オーディエンスのオーナーは、呼び出し元アプリのパッケージ名である必要があります。
- FLEDGE API は、デベロッパー ガイドに記載されている一連の制限事項に照らして呼び出し元アプリを検証するようになりました。注目すべき例を次に示します。
selectAds
とreportImpression
の実行時間に制限が設定されました。時間が経過すると呼び出しが終了します。selectAds
とreportImpression
で、JavaScript の実行時に消費されるメモリが制限されるようになりました。メモリの消費量が構成された上限を超えると、API がエラーをスローします。selectAds
とreportImpression
がAdSelectionConfig
オブジェクトを検証し、フィールドが構文的に有効で、URL が販売者フィールドで使用されている eTLD+1 にあることを確認するようになりました。AdServices
がカスタム オーディエンスを作成時に検証するようになりました。この検証の一部には、有効期限が有効であることの確認が含まれ、アプリが作成できるカスタム オーディエンスの数とjoinCustomAudience
の呼び出しで指定される広告の合計サイズに制限が適用されます。また、この検証では、シグナルと入札ロジックの取得とバックグラウンドの取得に指定された URI が、すべて購入者のドメイン内にあることが強制されます。
- カスタム オーディエンス メタデータは、バックグラウンド取得プロセスによって毎日更新されます。
- 「オーナー」アプリをアンインストールすると、カスタム オーディエンスは削除されます。
- 広告選択時に信頼できるスコアリング シグナルと信頼できる入札データを指定するためのサポートを追加しました。レスポンスの形式については、コードサンプルを参照してください。
- Android 版 FLEDGE の API は、WebView バージョン 105.0.5195.58 以降に依存します。詳しくは、デベロッパー ガイドのセットアップ情報をご覧ください。
既知の問題:
現在、カスタム オーディエンスに参加する際、メタデータまたは
AdData
値のいずれかが空またはnull
の場合、プラットフォームは現在バックグラウンドの更新を直ちに実行しません。カスタム オーディエンスは、1 日後に更新されるまで広告選択の対象になりません。今後のリリースでは、不完全なカスタム オーディエンスはすぐにバックグラウンド取得更新の対象となります。JavaScript 実行用の現在のデフォルト メモリ上限は低すぎるため、通常のワークロードでデバイスの JavaScriptEngine がクラッシュする可能性があります。JavaScript の実行がエラー メッセージ"Fatal javascript OOM in CALL_AND_RETRY_LAST"
で予期せず終了することがあります。次のコマンドで適切なメモリしきい値を構成することで、これを手動で解決できます。
adb shell "device_config put adservices fledge_js_isolate_enforce_max_heap_size 10485760"
必要な JSON 構造と一致しないカスタム オーディエンス広告は、バックグラウンド取得時に更新されます。
Topics API
ツールのアップデート
Android Studio Canary では、新しいモジュール タイプでの SDK APK のビルドがサポートされます。SDK ランタイム デベロッパー ガイドが更新されました。GitHub のプライバシー サンドボックス サンプルアプリにも内容が反映されています。
デベロッパー プレビュー 4
リリース日: 2022 年 7 月 14 日
Android 版プライバシー サンドボックス デベロッパー プレビュー 4 では、以下の点が改善されました。
SDK ランタイム
sendData()
の追加により、アプリがランタイム対応の SDK(RE-SDK)と通信できるようになりました。- SDK ランタイム プロセスでローカル ストレージを利用できるようになりました。
- SDK は、SDK ランタイムで単体の動画ベースの広告やコンテンツをレンダリングすることもできます。
- コンテンツが別の RE-SDK にない場合にリフレクションを使用できることなど、リフレクションの使用についての説明を追加しました。
Attribution Reporting API
このリリースでは、Attribution Reporting API の使用に関してわかりやすくするために、以下のような変更を行いました。
- 集計レポートの形式を読みやすくなるように変更しました。
- コンバージョン フィルタリングと単価調整機能のヘッダー フィールドを更新しました。
- WebApp API リファレンスに、ソースとトリガーの登録や、プライバシーと同意の API の提供状況に関する説明を追加しました。
FLEDGE on Android API
このリリースには、テストとデバッグを容易にするための新機能と内部の改善が含まれています。
- 開発中に JavaScript ロジックを取得するためのリモート URL をオーバーライドできるようにしました。
- 広告選択の際のエラーレポートを改善しました。
- 無効なカスタム オーディエンスは、広告の選択時に除外されるようになりました。
Topics API
このリリースには、Topics API に対する重要な変更が複数含まれています。
getTopics()
API の戻り値の型が、分類のトピックに対応する整数 ID や、分類器と分類バージョンに関する情報をカプセル化する、新しいオブジェクト型Topic
に変更されました。この API を使用する既存のアプリは更新する必要があります。- Topics API に、新しい標準の権限が必要になりました。
- 公開されているアプリ情報に基づいてトピックを動的に割り当てる「オンデバイス分類器」システムを導入しました。
既知の問題
これらのデバイス イメージの最初のリリース(リビジョン 6)は、Android Emulator バージョン 31.2.10 では読み込まれません。この問題に対処したデバイス イメージの更新が、2022 年 7 月 27 日より利用可能になりました。
デベロッパー プレビュー 3
リリース日: 2022 年 6 月 9 日
Android 版プライバシー サンドボックス デベロッパー プレビュー 3 では、Attribution Reporting API と Android 版 FLEDGE の機能が追加されました。
Attribution Reporting API
Attribution Reporting API は、クロスパーティ ユーザー ID への依存をなくすことでユーザーのプライバシーを向上させ、アプリ間でのアトリビューションとコンバージョン測定の主なユースケースをサポートしています。
このリリースには、以下の Attribution Reporting API の機能のテストに役立つデベロッパー向けリソースが含まれています。
- アトリビューション ソースを登録して、イベントをトリガーする
- ソース優先のインストール後アトリビューションを活用する
- イベント レポートを受信する
- 集約可能なレポートを受信する(今回のリリースでは暗号化されいてません)
テスト用のサンプルアプリとリファレンス広告テクノロジー サーバーが用意されています。
既知の問題:
- Attribution Reporting API では、設計案に従って、集約レポートはまだ暗号化されていません。テストのために、暗号化が実装されるまでレポート ペイロードはクリアテキストで送信されます。
Android 版 FLEDGE
Android 版 FLEDGE では、新しい方法を導入して、アプリのデベロッパーが定義する「カスタム オーディエンス」とアプリ内のインタラクションに基づいて広告を表示します。このソリューションでは、この情報と関連する広告をローカルに保存し、広告選択ワークフローを調整するためのフレームワークを提供します。
このリリースには、以下の Android 版 FLEDGE の機能のテストに役立つデベロッパー向けリソースが含まれています。
- カスタム オーディエンスへの参加、またはそこからの脱退、およびパラメータ値がオークション結果に与える影響の確認
- リモート エンドポイントからの JavaScript オークション コードの取得
- オンデバイスの広告オークションの設定と開始
- インプレッション レポートの処理
- テストに役立つサンプルアプリとモックサーバー構成の提供
既知の問題:
- カスタム オーディエンスは、「有効化時刻」前でも広告選択に参加できます。
デベロッパー プレビュー 2
リリース日: 2022 年 5 月 17 日
デベロッパー プレビュー 2 には、MeasurementManager
アトリビューション レポート API の早期プレビューが含まれています。
registerSource()
とregisterTrigger()
を呼び出すと、アプリ広告イベントを登録して、アプリ間のアトリビューションに関するイベントレベルのレポートデータを受け取ることができます。現在の実装ではラストタッチ アトリビューションが使用されています。レポートは、レポート ウィンドウの定義に従って送信されるようにスケジュール設定されています。詳細については、MeasurementManager
API リファレンスをご覧ください。実際のレポートのアップロードは、スケジュール設定の厳密な時刻ではなく、一定の時間間隔の終わりに行われます。レポートのアップロード間隔はデフォルトで 4 時間ですが、次の adb コマンドを使用してオーバーライドできます。
adb shell device_config put adservices measurement_main_reporting_job_period_ms <duration in milliseconds>
API テスト用のサンプルアプリとリファレンス広告テクノロジー サーバーは、今後のリリースで公開される予定です。
集計レポート、インストール後のアトリビューション、リダイレクトなど、
MeasurementManager
アトリビューション レポート API の他の機能は、今後のリリースで利用できるようになる予定です。
デベロッパー プレビュー 1
リリース日: 2022 年 4 月 28 日
デベロッパー プレビュー 1 には、Topics API と SDK ランタイムの早期プレビュー版が含まれています。Android 版 FLEDGE とアトリビューション レポート API の機能は、今後のリリースで利用できるようになります。
- Topics API
- 現在のところ、
getTopics()
API は一部のアプリのオフライン分類に基づいてテスト値を返します。デバイス上の分類はまだ実装されていません。 - adb コマンドを使用すると、エポック間隔のオーバーライドや、エポック計算の強制トリガーを行うことができます。
- 詳しくは、Topics のデベロッパー ガイドをご覧ください。
- 現在のところ、
- SDK ランタイム
- SDK アプリのマニフェスト ファイルで新しい
<sdk-library>
要素を使用すると、ランタイム対応 SDK(RE SDK)をパッケージ化してビルドできます。開発中にアプリを通常どおりインストールする場合と同様に、サポートされているテストデバイスまたはエミュレータに RE SDK をインストールします。 - アプリを RE SDK と統合し、SDK ランタイムに読み込み、アクセス制限の影響を SDK コードでテストできます(権限、メモリ、アプリと SDK の間の通信)。RE SDK 用のストレージ API はまだ実装されておらず、今後のリリースで利用できるようになります。
- SDK は、SDK ランタイムで
WebView
ベースのバナー広告またはコンテンツをレンダリングできます。 - 詳しくは、SDK ランタイムのデベロッパー ガイドをご覧ください。
- SDK アプリのマニフェスト ファイルで新しい
- Android lint チェック
- API レベル
TiramisuPrivacySandbox
でコンパイルされたプロジェクトでは、Android lint チェックで警告が誤って表示されることがあります。たとえば、「呼び出しには API レベル 33 が必要です」などといった警告メッセージが表示されることがあります。この問題に一時的に対処するには、@SuppressLint("NewApi")
アノテーションを使用します。
- API レベル