แสดงโฆษณา

เมื่อการประมูลที่ใช้ Protected Audience API ส่งคำแนะนำโฆษณากลับมา อาจเป็นได้ว่า แสดงผลเป็น URN ที่ไม่ชัดเจน ซึ่งใช้เพื่อแสดงโฆษณาใน iframe หรือ FencedFrameConfig ซึ่งใช้ในการแสดงโฆษณาในเฟรมที่มีการปิดกั้น

คู่มือนี้จะอธิบายว่าเฟรมที่มีการปิดกั้นคืออะไรและเหตุใดจึงต้องมี รวมถึง วิธีแสดงโฆษณาโดยใช้วิธีใดวิธีหนึ่ง ดูรายละเอียดเพิ่มเติมของ Fenced โปรดดูข้อมูลเพิ่มเติมในคู่มือนี้หรือในข้อเสนอ

เฟรมที่มีการปิดกั้นคืออะไร

เฟรมที่มีการปิดกั้น (<fencedframe>) คือองค์ประกอบ HTML สำหรับเนื้อหาที่ฝัง คล้ายกับiframe เฟรมที่มีการปิดกั้นจะจำกัดการสื่อสารต่างจาก iframe พร้อมบริบทการฝังเพื่อให้เฟรมเข้าถึงข้อมูลข้ามเว็บไซต์ได้ แชร์กับบริบทของการฝังตัว ในทำนองเดียวกัน ข้อมูลจากบุคคลที่หนึ่งในส่วน ไม่สามารถแชร์บริบทการฝังกับเฟรมที่มีการปิดกั้น

ตัวอย่างเช่น สมมติว่า news.example (บริบทการฝัง) ฝังโฆษณาจาก shoes.example ในเฟรมที่มีการปิดกั้น news.example ไม่สามารถขโมยข้อมูลจาก โฆษณา shoes.example และ shoes.example ไม่สามารถเรียนรู้ข้อมูลจากบุคคลที่หนึ่งจาก news.example

เฟรมที่มีการปิดกั้นทำงานอย่างไร

เฟรมที่มีการปิดกั้นใช้ออบเจ็กต์ FencedFrameConfig สําหรับการนําทาง วัตถุนี้สามารถ ส่งคืนจากการประมูลที่ใช้ Protected Audience API จากนั้นออบเจ็กต์การกำหนดค่าจะมีการตั้งค่าเป็น แอตทริบิวต์ config ในองค์ประกอบเฟรมที่มีการปิดกั้น ซึ่งแตกต่างจาก iframe ที่มีการกำหนด URL หรือ URN ที่คลุมเครือให้กับแอตทริบิวต์ src ออบเจ็กต์ FencedFrameConfig มีพร็อพเพอร์ตี้ url แบบอ่านอย่างเดียว แต่เนื่องจาก Use Case ปัจจุบันจำเป็นต้องซ่อน URL จริงของทรัพยากรภายใน คุณสมบัตินี้จะแสดงสตริงทึบแสงเมื่ออ่าน

เฟรมที่มีการปิดกั้นไม่สามารถใช้ postMessage เพื่อสื่อสารกับเครื่องมือฝังได้ แต่เฟรมที่มีการปิดกั้นสามารถใช้ postMessage ที่มี iframe ภายใน เฟรมที่มีการปิดกั้น

เฟรมที่มีการปิดกั้นจะแยกออกจากผู้เผยแพร่เนื้อหาด้วยวิธีอื่นๆ ผู้เผยแพร่โฆษณา จะไม่มีสิทธิ์เข้าถึง DOM ภายในเฟรมที่มีการปิดกั้น และเฟรมที่มีการปิดกั้น เข้าถึง DOM ของผู้เผยแพร่โฆษณาไม่ได้ นอกจากนี้ แอตทริบิวต์ เช่น name ซึ่งสามารถ ตั้งค่าเป็นค่าใดก็ได้ที่ผู้เผยแพร่โฆษณาสังเกตการณ์ ไม่มีอยู่ใน Fenced ของเฟรม

เฟรมที่มีการปิดกั้นจะทำงานเหมือนบริบทการท่องเว็บระดับบนสุด (เช่น เบราว์เซอร์ แท็บ) แม้ว่าเฟรมที่มีการปิดกั้นในกรณีการใช้งานบางกรณี (เช่น opaque-ads) อาจมีข้อมูลข้ามเว็บไซต์ (เช่น กลุ่มความสนใจของ Protected Audience API) เฟรมจะเข้าถึงพื้นที่เก็บข้อมูลหรือคุกกี้ที่ไม่ได้แบ่งพาร์ติชันไม่ได้ opaque-ads ล้อมรั้ว เฟรมสามารถเข้าถึงคุกกี้และพาร์ติชันพื้นที่เก็บข้อมูลที่อิงตาม Nonce ที่ไม่ซ้ำกัน

ดูรายละเอียดเพิ่มเติมของลักษณะของเฟรมที่มีการปิดกั้นได้ในคำอธิบาย

แสดงโฆษณาในเฟรมที่มีการปิดกั้น

ระบบจะส่งคืน FencedFrameConfig จากการประมูลที่ใช้ Protected Audience API ว่าพารามิเตอร์ resolveToConfig ของ AuctionConfigs ตั้งค่าเป็น true

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

เมื่อมีการกำหนดค่าแล้ว คุณก็กำหนดให้กับ config ของเฟรมที่มีการปิดกั้นได้ เพื่อนำทางเฟรมไปยังทรัพยากรที่การกำหนดค่าแสดง Chrome เวอร์ชันก่อนหน้าไม่รองรับพร็อพเพอร์ตี้ resolveToConfig ดังนั้นคุณจึง ยังคงต้องยืนยันว่าสัญญาที่ตกลงเป็น FencedFrameConfig ก่อน การนำทาง:

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

แสดงโฆษณาใน iframe

หาก AuctionConfig ไม่ได้ตั้งค่า resolveToConfig ไว้อย่างชัดเจน หรือตั้งค่าไว้ แสดงเป็น "เท็จ" runAdAuction() จะแสดงผล URN แบบทึบแสง สามารถตั้งค่า URN นี้เป็น srcของ iframe ในการแสดงโฆษณา