Merender iklan

Saat lelang Protected Audience menampilkan kandidat iklan, item ini dapat berupa ditampilkan sebagai URN buram, yang digunakan untuk merender iklan di iframe, atau FencedFrameConfig yang digunakan untuk merender iklan dalam frame dengan fence.

Panduan ini akan menjelaskan apa itu {i>fence<i} {i>frame<i} dan mengapa hal itu diperlukan, serta bagaimana cara menampilkan iklan menggunakan salah satu metode tersebut. Untuk pembahasan lebih mendalam tentang frame, temukan informasi selengkapnya dalam panduan ini atau dalam proposal.

Apa itu bingkai dengan fence?

Bingkai dengan fence (<fencedframe>) adalah elemen HTML untuk konten yang disematkan, mirip dengan iframe. Tidak seperti iframe, frame dengan fence membatasi komunikasi dengan konteks embedding, agar frame dapat mengakses data lintas situs tanpa dan membagikannya dengan konteks embedding. Demikian pula, setiap data pihak pertama di konteks penyematan tidak dapat dibagikan dengan {i>fence<i} {i>frame<i}.

Misalnya, news.example (konteks penyematan) menyematkan iklan dari shoes.example dalam bingkai dengan fence. news.example tidak dapat memindahkan data dari iklan shoes.example, dan shoes.example tidak dapat mempelajari data pihak pertama dari news.example.

Bagaimana cara kerja bingkai dengan fence?

Frame berpagar menggunakan objek FencedFrameConfig untuk navigasi. Objek ini dapat ditampilkan dari lelang Protected Audience. Kemudian, objek konfigurasi diatur sebagai atribut config pada elemen frame dengan fence. Ini berbeda dengan iframe tempat URL atau URN buram ditetapkan ke atribut src. Tujuan Objek FencedFrameConfig memiliki properti url hanya baca; Namun, karena kasus penggunaan saat ini memerlukan URL aktual dari sumber daya internal untuk disembunyikan, properti ini mengembalikan string buram saat dibaca.

Frame dengan fence tidak dapat menggunakan postMessage untuk berkomunikasi dengan sematannya. Namun, frame dengan fence dapat menggunakan postMessage dengan iframe di dalam dengan fence.

Frame berpagar akan diisolasi dari penerbit dengan cara lain. Penerbit tidak akan memiliki akses ke DOM di dalam bingkai dengan fence, dan kerangka dengan fence tidak dapat mengakses DOM penayang. Selain itu, atribut seperti name, yang dapat ditetapkan ke nilai apa pun yang diamati oleh penayang, tidak tersedia di fence {i>frame<i}.

Frame berpagar berperilaku seperti konteks penjelajahan tingkat atas (seperti browser ). Meskipun fence dalam kasus penggunaan tertentu (seperti opaque-ads) dapat berisi data lintas situs (seperti grup minat Protected Audience API), {i>frame<i} tidak dapat mengakses penyimpanan atau cookie yang tidak dipartisi. opaque-ads dipagari {i>frame<i} dapat mengakses partisi penyimpanan dan cookie berbasis nonce yang unik.

Karakteristik frame dengan fence dijelaskan lebih lanjut dalam penjelasan.

Merender iklan dalam frame dengan fence

FencedFrameConfig ditampilkan dari lelang Protected Audience, asalkan bahwa parameter resolveToConfig AuctionConfig disetel ke benar (true):

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

Setelah mendapatkan konfigurasi, Anda dapat menetapkannya ke config frame dengan fence untuk mengarahkan {i>frame<i} ke sumber daya yang direpresentasikan oleh konfigurasi. Versi Chrome sebelumnya tidak mendukung properti resolveToConfig, sehingga Anda tetap harus mengonfirmasi bahwa promise diselesaikan menjadi FencedFrameConfig sebelum menavigasi:

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

Merender iklan dalam iframe

Jika AuctionConfig tidak menetapkan resolveToConfig secara eksplisit atau jika ditetapkan ke salah (false), runAdAuction() akan menampilkan URN buram. URN ini dapat disetel sebagai src iframe untuk merender iklan.