Protected Audience のデバッグ レポートでは、広告テクノロジー デベロッパーが、リモートの URL を宣言して、オークションで落札した、または落札できなかったときにデバイスから GET リクエストを受け取ることができます。これにより、次のユースケースを実現できます。
- 落札したオークションと落札できなかったオークションのレポートを受け取る。
- オークションで落札できなかった理由を把握する。たとえば、入札やスコアリング スクリプトの実装、またはコアロジックのいずれに問題があるかを把握できます。
- JavaScript ロジックが更新されたときの問題を検出する
イベントレベルのデバッグ レポートは、プライバシー サンドボックス デベロッパー プレビュー 9 でのテストに利用できます。デバッグ レポートは、広告 ID を利用できるすべてのデバイスでサポートされています。
長期計画では、プラットフォームがプライベート アグリゲーション サービスを使用してオークション結果をレポートできるようにします。これにより、事後レポートを使用して個別のユーザーのカスタム オーディエンスをパブリッシャーのアプリに参加させることができなくなります。イベントレベル レポートは、適切なレポート フレームワークがリリースされるまでの一時的なものです。
詳しくは、Chrome のオリジナル FLEDGE オリジン トライアル提案のデバッグ レポートをご覧ください。
使用方法
デバッグ レポートは、次の JavaScript API を使用して実装されます。どちらも URL 文字列引数を受け取ります。
forDebuggingOnly.reportAdAuctionWin(String url)
forDebuggingOnly.reportAdAuctionLoss(String url)
次の例では、落札単価を含む広告オークションの損失と内部変数をレポートします。このデータはその後、デバッグを実施するために使用できます。
let someDebuggableVariable = 123;
const url = "https://example.com/reportLoss?winningBid=${winningBid}&someDebuggableVariable=" + someDebuggableVariable;
forDebuggingOnly.reportAdAuctionLoss(url);
オークションが完了すると、${winningBid}
テンプレートが実際の値に置き換えられます。
販売者は、必要に応じて scoreAds
関数から rejectReason
を返すことができます。
function scoreAd(ad, bid, auction_config, seller_signals,
trusted_scoring_signals, contextual_signal,
custom_audience_signal) {
let score = ...
return {
'status': 0,
'score': score,
'rejectReason': 'blocked-by-publisher'
}
}
販売者が不承認の理由を設定していない場合は、代わりに not-available
が送信されます。
URL の変数
デバッグ URL に追加できる変数は、Chrome の対応する変数です(ただし、Android のコンポーネント オークションのコンセプトが存在しないため、${topLevelWinningBid}
と ${topLevelMadeWinningBid}
は使用できません)。
変数名 | 説明 |
winningBid |
落札単価の値。 |
madeWinningBid |
このカスタム オーディエンスの購入者が、このカスタム オーディエンス、または同じ購入者の別のカスタム オーディエンスのいずれによって落札したかを表すブール値。 |
highestScoringOtherBid |
販売者の ScoreAd スクリプトによって 2 番目に高いスコアが得られた入札単価の値。スコアと入札が独立している可能性があるため、2 番目に高い入札額ではない場合があります。 |
madeHighestScoringOtherBid |
このカスタム オーディエンスの購入者が、このカスタム オーディエンス、または同じ購入者の別のカスタム オーディエンスのいずれによって ${highestScoringOtherBid} の入札を行ったかを示すブール値。 |
rejectReason |
販売者によって必要に応じて設定される、入札を拒否した理由を説明する文字列。次のいずれかの値を指定できます。
|
制約
- URL のホストは、登録済みのプライバシー サンドボックス ドメインと一致する必要があります。
- URL は、ドメイン、
https://
を含めて 4, 096 文字以内で指定してください 置き換えられたオークション データが含まれます。 - 今後のリリースで、デバッグ ping は Wi-Fi に接続されている場合にのみ送信されます。
オンデバイス動作
モバイル環境では、メモリとネットワークの使用量の保護が最優先事項です。そのため、デバッグ レポートは一括して生成されます。
次のシステム プロパティは、バッチのレートとサイズを制御します。これは、開発で低い値に調整できます。
fledge_event_level_debug_reporting_batching_rate
fledge_event_level_debug_reporting_batch_size
デバッグ レポートの想定されるレイテンシは、オークションの完了後 15~60 分です。
デバッグ レポートの完全性は厳密には保証されません。サーバーの呼び出しが送信される前にデバイスが再起動されるか AdService のプロセスがクラッシュした場合、これらのイベントは破棄されます。
各広告テクノロジーで、オークションごとに最大 75 件の登録済みデバッグ URL を利用できます。その上限に達した後に登録された URL は通知なく破棄されます。
最後に、ユーザーが広告 ID を無効にしている場合は、デバッグ レポートが送信されます。これはデベロッパー プレビュー 9 では実装されていませんが、今後のバージョンで実装される予定です。
広告テクノロジー サーバーの動作
広告テクノロジー サーバーは、デバッグ レポートに対して次のように動作します。
- デバイスは、
forDebuggingOnly.*
API で指定されたサーバーに GET リクエストを送信します。 - 各リクエストは、1 つのイベントレベルのデバッグ レポート(落札した、または落差できなかった 1 つの広告オークション)を表します。
- 各リクエストに本文はありません。すべてのデータがクエリ パラメータに含まれます。
- サイズの大きなレスポンス ペイロードは、パフォーマンスやデータ使用量に悪影響を与える可能性があるため無視されます。