広告をレンダリングする

Protected Audience オークションで広告候補が返された場合、次のいずれかが行われる可能性があります。 不透明な URN として返されます。これは、iframe で広告をレンダリングするために使用されます。 FencedFrameConfig は、フェンス付きフレームで広告をレンダリングするために使用されます。

このガイドでは、フェンス付きフレームの概要と必要な理由について説明します。 どちらを使用してもかまいません「Fenced」タグと 詳しくは、こちらのガイドまたは提案をご覧ください。

フェンス付きフレームとは

フェンス付きフレーム(<fencedframe>)は埋め込みコンテンツ用の HTML 要素です。 iframe に似ています。iframe とは異なり、フェンス付きフレームは通信を制限します。 使用してフレームがクロスサイト データにアクセスできるようにするため、 エンベディング コンテキストと共有します。同様に エンベディング コンテキストは、フェンス付きのフレームと共有できません。

たとえば、news.example(エンベディング コンテキスト)が フェンス付きフレーム内の shoes.examplenews.example は次の場所からデータを引き出できません shoes.example の広告。shoes.example はファーストパーティ データを学習できません。 news.example

フェンス付きフレームの仕組み

フェンス付きフレームはナビゲーションに FencedFrameConfig オブジェクトを使用します。このオブジェクトは Protected Audience オークションから返された結果が出力されます。次に、構成オブジェクトには フェンス付きフレーム要素の config 属性。これは iframe とは異なります URL または不透明な URN が src 属性に割り当てられている場合。「 FencedFrameConfig オブジェクトには読み取り専用の url プロパティがあります。ただし、 現在のユースケースでは、内部リソースの実際の URL を隠す必要があります。 このプロパティは読み取り時に文字列不透明を返します。

フェンス付きフレームは、postMessage を使用してエンべディングと通信できません。 ただし、フェンス付きフレームでは、postMessage を内部に iframe とともに使用できます。 保護します。

フェンス付きフレームは、他の方法でパブリッシャーから分離されます。パブリッシャー フェンス付きフレーム内の DOM にはアクセスできず、フェンス付きフレーム パブリッシャーの DOM にアクセスできませんさらに、name などの属性は、 任意の値に設定され、パブリッシャーによって監視されますが、フェンス 使用できます。

フェンス付きフレームは、トップレベルのブラウジング コンテキスト(ブラウザ タブ)。特定のユースケースでフェンス付きのフレームを使用する(opaque-ads など) クロスサイト データ(Protected Audience API のインタレスト グループなど)を含めることができる 分割されていないストレージや Cookie にはアクセスできません。opaque-ads フェンス 一意のノンスベースの Cookie とストレージ パーティションにアクセスできます。

フェンス付きフレームの特性については、説明で詳しく説明しています。

フェンス付きフレームで広告をレンダリングする

次の条件が満たされた場合、Protected Audience オークションから FencedFrameConfig が返されます。 AuctionConfigresolveToConfig パラメータが true に設定されていることを確認します。

const frameConfig = await navigator.runAdAuction({
  // ...auction configuration
  resolveToConfig: true
});

構成を取得したら、フェンス付きフレームの config に割り当てることができます。 属性を使用して、構成で表されるリソースにフレームを移動します。 それより前のバージョンの Chrome は resolveToConfig プロパティがサポートされていないため、 その前に Promise が FencedFrameConfig に解決されたことも確認する必要があります。 移動:

if (window.FencedFrameConfig && frameConfig instanceof FencedFrameConfig) {
  const frame = document.createElement('fencedframe');
  frame.config = frameConfig;
}

iframe で広告をレンダリングする

AuctionConfigresolveToConfig が明示的に設定されていない場合、または設定されている場合 false に設定すると、runAdAuction() は不透明な URN を返します。この URN は iframesrc を使用して広告をレンダリングする。