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.