เมื่อการประมูล Protected Audience แสดงผู้ลงโฆษณาที่เสนอราคา โฆษณานั้นอาจแสดงเป็น URN แบบทึบแสง ซึ่งใช้ในการแสดงโฆษณาใน iframe หรือ FencedFrameConfig ซึ่งใช้ในการแสดงโฆษณาใน Fenced Frame
คู่มือนี้จะอธิบายว่าเฟรมที่จำกัดคืออะไรและเหตุใดจึงจำเป็น รวมถึงวิธีแสดงโฆษณาโดยใช้วิธีใดวิธีหนึ่ง ดูรายละเอียดเพิ่มเติมเกี่ยวกับเฟรมที่จำกัดได้ในคู่มือนี้หรือในข้อเสนอ
เฟรมที่มีการปิดกั้นคืออะไร
Fenced Frame (<fencedframe>) เป็นองค์ประกอบ HTML สำหรับเนื้อหาที่ฝัง
ซึ่งคล้ายกับ iframe เฟรมที่จำกัดขอบเขตจะจำกัดการสื่อสารกับบริบทการฝังเพื่อให้เฟรมเข้าถึงข้อมูลข้ามเว็บไซต์ได้โดยไม่ต้องแชร์กับบริบทการฝัง ซึ่งแตกต่างจาก iframe
ในทำนองเดียวกัน ระบบจะไม่แชร์ข้อมูลจากบุคคลที่หนึ่งในบริบทการฝังกับ Fenced Frame
เช่น สมมติว่า news.example (บริบทการฝัง) ฝังโฆษณาจาก
shoes.example ใน Fenced Frame news.example ไม่สามารถกรองข้อมูลออกจาก
shoes.example โฆษณา และshoes.example ไม่สามารถเรียนรู้ข้อมูลจากบุคคลที่หนึ่งจาก
news.example
Fenced Frame ทำงานอย่างไร
เฟรมที่จำกัดใช้FencedFrameConfigออบเจ็กต์สำหรับการนำทาง ออบเจ็กต์นี้สามารถ
ส่งคืนจากการประมูลที่ใช้ Protected Audience API ได้ จากนั้นจะตั้งค่าออบเจ็กต์การกำหนดค่าเป็นแอตทริบิวต์ config ในองค์ประกอบกรอบที่จำกัด ซึ่งแตกต่างจาก iframe
ที่กำหนด URL หรือ URN แบบทึบให้กับแอตทริบิวต์ src ออบเจ็กต์
FencedFrameConfig มีพร็อพเพอร์ตี้ url แบบอ่านอย่างเดียว แต่เนื่องจากกรณีการใช้งานปัจจุบัน
กำหนดให้ซ่อน URL จริงของทรัพยากรภายใน พร็อพเพอร์ตี้นี้จึงแสดงผลสตริงที่ทึบแสงเมื่ออ่าน
เฟรมที่จำกัดไม่สามารถใช้ postMessage เพื่อสื่อสารกับผู้ฝังได้
อย่างไรก็ตาม เฟรมที่จำกัดขอบเขตจะใช้ postMessage กับ iframe ภายใน
เฟรมที่จำกัดขอบเขตได้
เฟรมที่จำกัดจะแยกออกจากผู้เผยแพร่โฆษณาในลักษณะอื่นๆ ผู้เผยแพร่โฆษณา
จะไม่มีสิทธิ์เข้าถึง DOM ภายในเฟรมที่จำกัด และเฟรมที่จำกัด
จะเข้าถึง DOM ของผู้เผยแพร่โฆษณาไม่ได้ นอกจากนี้ แอตทริบิวต์ เช่น name ซึ่งตั้งค่าเป็นค่าใดก็ได้และผู้เผยแพร่โฆษณาสังเกตได้ จะไม่พร้อมใช้งานในเฟรมที่จำกัด
เฟรมที่จำกัดขอบเขตจะทํางานเหมือนบริบทการท่องเว็บระดับบนสุด (เช่น แท็บเบราว์เซอร์) แม้ว่าเฟรมที่จำกัดในกรณีการใช้งานบางอย่าง (เช่น opaque-ads)
จะมีข้อมูลข้ามเว็บไซต์ (เช่น กลุ่มความสนใจของ Protected Audience API)
แต่เฟรมจะเข้าถึงพื้นที่เก็บข้อมูลหรือคุกกี้ที่ไม่ได้แบ่งพาร์ติชันไม่ได้ opaque-ads Fenced Frame จะเข้าถึงคุกกี้ที่ไม่ซ้ำกันซึ่งอิงตาม Nonce และพาร์ติชันพื้นที่เก็บข้อมูลได้
ดูรายละเอียดเพิ่มเติมเกี่ยวกับลักษณะของเฟรมที่จำกัดได้ในคำอธิบาย
แสดงโฆษณาในเฟรมที่จำกัด
ระบบจะแสดง FencedFrameConfig จากการประมูลที่ใช้ Protected Audience API โดยมีเงื่อนไขว่าได้ตั้งค่าพารามิเตอร์ AuctionConfigs resolveToConfig เป็นจริงแล้ว
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
หาก AuctionConfig ไม่ได้ตั้งค่า resolveToConfig อย่างชัดเจน หรือหากตั้งค่าเป็น
false runAdAuction() จะแสดงผล URN แบบทึบ ตั้งค่า URN นี้เป็น iframe ของ src เพื่อแสดงโฆษณาได้