Android 版プライバシー サンドボックスのデベロッパー プレビュー リリースは、早期の開発、テスト、フィードバックを促進することを目的としています。Android 版プライバシー サンドボックスのデベロッパー プレビューは、現在も開発中の初期ビルドであるため、想定どおりに機能しない場合があります。プライバシー サンドボックスのデベロッパー プレビューは今後変更される可能性があります。ぜひフィードバックをお寄せください。
まず、開発環境をセットアップし、テストデバイスまたはエミュレータで Android 版プライバシー サンドボックスをフラッシュします。
現在のリリース
Android 版プライバシー サンドボックス デベロッパー プレビュー 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 を使用するには、新しい標準の権限が必要になりました。
- 公開されているアプリ情報に基づいてトピックを動的に割り当てる「オンデバイス分類器」システムを導入しました。
過去のリリース
デベロッパー プレビュー 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 レベル