เรียกใช้การประมูลบนเบราว์เซอร์กับผู้ขายรายเดียว

ในเอกสารนี้ คุณจะพบภาพรวมระดับสูงสำหรับการประมูลกับ ข้อมูล Protected Audience สําหรับผู้ขายรายเดียว ตามที่ใช้ในการทำซ้ำในปัจจุบัน Protected Audience API การประมูลกับผู้ขายรายเดียวอาจ ซึ่งเป็นส่วนหนึ่งของการประมูลที่ซับซ้อนขึ้น โดยมีผู้ขายหลายราย ด้วยวิธีนี้ การประมูลผู้ขายรายเดียวเรียกว่า "การประมูลองค์ประกอบ" สามารถให้ตัวเลือกโฆษณาเข้าสู่ "การประมูลระดับบนสุด" ที่มีผู้ขายหลายราย เข้าร่วม

อ่านคู่มือนักพัฒนาซอฟต์แวร์เพื่อดูวงจรทั้งหมดของ Protected Audience API และดูคำอธิบาย Protected Audience API เพื่อดูข้อมูลเจาะลึก การพูดคุยเกี่ยวกับวิธีที่ผู้ขายใช้การประมูลในอุปกรณ์

6 ขั้นตอนของการประมูลเพื่อแสดงโฆษณา Protected Audience API

6 ขั้นตอนในการประมูลเพื่อแสดงโฆษณา Protected Audience API
แผนภาพนี้แสดงแต่ละขั้นตอนของการประมูลเพื่อแสดงโฆษณา Protected Audience API
  1. ผู้ใช้เข้าชมเว็บไซต์ที่แสดงโฆษณา
  2. โค้ดของผู้ขายทำงาน navigator.runAdAuction() แอตทริบิวต์นี้ระบุว่า พื้นที่โฆษณาสำหรับขาย และผู้ที่มีสิทธิ์เสนอราคา ผู้ขายต้องใส่สคริปต์ ที่ให้คะแนนราคาเสนอแต่ละรายการ นั่นคือ scoreAd()
  3. โค้ดของผู้ซื้อที่ได้รับเชิญจะทำงานเพื่อสร้างราคาเสนอ ซึ่งเป็น URL ของโฆษณาที่เกี่ยวข้อง ครีเอทีฟโฆษณา และข้อมูลอื่นๆ สคริปต์การเสนอราคาสามารถค้นหาข้อมูลแบบเรียลไทม์ได้ เช่น งบประมาณแคมเปญโฆษณาที่เหลืออยู่ จาก บริการคีย์/ค่า
  4. รหัสของผู้ขายจะระบุราคาเสนอแต่ละรายการและเลือกผู้ชนะ ตรรกะนี้ใช้เมธอด มูลค่าราคาเสนอและข้อมูลอื่นๆ จะให้ผลลัพธ์เป็นที่ต้องการของราคาเสนอ โฆษณาที่เอาชนะไม่ได้ ระบบจะปฏิเสธผู้ชนะตามบริบท ผู้ขายสามารถใช้ข้อเสนอ บริการคีย์/ค่าสำหรับข้อมูลแบบเรียลไทม์
  5. โฆษณาที่ชนะจะแสดงผลเป็นค่าทึบ ซึ่งแสดงใน เฟรมที่มีการปิดกั้น ทั้งผู้ขายและ ผู้เผยแพร่จะไม่เห็นค่านี้
  6. การประมูลจะถูกรายงานไปยังผู้ขายและผู้ซื้อที่ชนะ

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

ผู้ขายเป็นผู้เริ่มการประมูลเพื่อแสดงโฆษณา ให้คะแนนโฆษณาที่รอการพิจารณาโดยใช้ตรรกะที่กำหนดเอง ในฐานะฟังก์ชัน scoreAd() และมีหน้าที่รายงานผลลัพธ์ของ รวมถึงผู้ซื้อที่ชนะ ผู้ขายยังสามารถ บังคับใช้กฎของผู้เผยแพร่โฆษณาและกรองคุณภาพของโฆษณาโดยใช้scoreAd()

ผู้ขายอาจกล่าวถึงข้อมูลต่อไปนี้

  • ผู้เผยแพร่เนื้อหา ผู้เผยแพร่เนื้อหาดำเนินการเองเพื่อโฮสต์เนื้อหาโฆษณาบนเว็บไซต์ของตน
  • แพลตฟอร์มฝั่งซัพพลาย (SSP) ทำงานร่วมกับผู้เผยแพร่โฆษณา และให้บริการอื่นๆ
  • สคริปต์ของบุคคลที่สาม ซึ่งดำเนินการสำหรับผู้เผยแพร่โฆษณาเพื่อให้เข้าร่วมการประมูลเพื่อแสดงโฆษณาได้

ข้อกำหนดเบื้องต้นสำหรับการประมูล

ผู้ขายต้องมีฟังก์ชัน JavaScript 2 รายการที่กำหนดไว้เพื่อเรียกใช้การประมูล ดังนี้

  • scoreAd() ซึ่งให้คะแนนตัวเลือกโฆษณา
  • reportResult() ซึ่งจัดการการรายงานผลการประมูลให้ผู้ขายทราบด้วยตนเอง

สคริปต์เหล่านี้จำเป็นต้องแสดงจากปลายทางแห่งเดียวที่ผู้ขายเป็นเจ้าของ

scoreAd()

ผู้ขายต้องกำหนดฟังก์ชัน scoreAd() ที่ให้บริการจากปลายทาง ที่ตนเป็นเจ้าของ ปลายทางระบุไว้ในการกำหนดค่าการประมูลเป็น decisionLogicUrl ฟังก์ชัน scoreAd() มีลายเซ็นต่อไปนี้

scoreAd(
  adMetadata,
  bid,
  auctionConfig,
  trustedScoringSignals,
  browserSignals,
  directFromSellerSignals)

พารามิเตอร์ scoreAd() ได้แก่

  • adMetaData ซึ่งเป็นข้อมูลเมตาที่กำหนดเองเกี่ยวกับครีเอทีฟโฆษณาที่ ที่ผู้ซื้อระบุไว้ ซึ่งเป็นอ็อบเจ็กต์การทำให้เป็นอนุกรม JSON ที่ผู้ขายและ ผู้ซื้อจะต้องกำหนดและยอมรับโครงสร้าง
  • bid ซึ่งเป็นค่าตัวเลขที่แสดงถึงราคาเสนอ
  • auctionConfig ซึ่งเป็นการกำหนดค่าการประมูลที่ใช้เพื่อดำเนินการประมูล
  • trustedScoringSignals ซึ่งเป็นสัญญาณที่อ่านในขณะประมูลจาก เซิร์ฟเวอร์คีย์/ค่าของผู้ขาย แพลตฟอร์มจะใช้ renderUrl ของ โฆษณาผู้สมัครเป็นคีย์สำหรับการค้นหานี้
  • browserSignals ซึ่งเป็นออบเจ็กต์ที่เบราว์เซอร์สร้างขึ้น ซึ่งรวมถึง ที่เบราว์เซอร์รู้และสคริปต์การประมูลของผู้ขายอาจ ต้องการยืนยัน
  • directFromSellerSignals เป็นออบเจ็กต์ที่อาจมีช่องต่อไปนี้ ** sellerSignals: เหมือนกับ auctionConfig.sellerSignals แต่ผ่านการตรวจสอบโดยใช้ กลไก directFromSellerSignals ** auctionSignals: เหมือนกับ auctionConfig.auctionSignals แต่ผ่านการตรวจสอบโดยใช้ directFromSellerSignals

ต่อไปนี้คือตัวอย่างของ browserSignals โปรดทราบว่า renderUrl ของ โฆษณาผู้สมัครพร้อมใช้งานผ่านสัญญาณต่อไปนี้

{ 'topWindowHostname': 'www.example-publisher.com',
  'interestGroupOwner': 'https://www.example-buyer.com',
  'renderURL': 'https://cdn.com/render_url_of_bid',
  'renderSize': {width: 100, height: 200}, /* if specified in the bid */
  'adComponents': ['https://cdn.com/ad_component_of_bid',
                   'https://cdn.com/next_ad_component_of_bid',
                   ...],
  'biddingDurationMsec': 12,
  'bidCurrency': 'USD', /* bidCurrency returned by generateBid, or '???' if none */
  'dataVersion': 1, /* Data-Version value from the trusted scoring signals server's response */
}

reportResult()

ผู้ขายจำเป็นต้องกำหนดฟังก์ชัน reportResult() ที่ให้บริการจาก ปลายทางของตัวเอง ปลายทางระบุไว้ในการกำหนดค่าการประมูล ในฐานะ decisionLogicUrl ฟังก์ชัน reportResult() มีข้อมูลต่อไปนี้ ลายเซ็น:

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

พารามิเตอร์ reportResult() ได้แก่

  • auctionConfig ซึ่งเป็นการกำหนดค่าการประมูลที่ใช้เพื่อดำเนินการประมูล
  • browserSignals ซึ่งเป็นออบเจ็กต์ที่เบราว์เซอร์สร้างขึ้น ซึ่งรวมถึง ที่เบราว์เซอร์รู้และสคริปต์การประมูลของผู้ขายอาจ ต้องการยืนยัน นี่คือออบเจ็กต์เดียวกันที่ส่งผ่านไปยังฟังก์ชัน scoreAds()

reportResult() แสดงผล signalsForWinner ซึ่งเป็นออบเจ็กต์ JSON ที่กำหนดเอง ที่ส่งไปยังฟังก์ชันการรายงานของผู้ซื้อที่ชนะ โดยควรมี ข้อมูลที่เกี่ยวข้องซึ่งผู้ขายสามารถให้เกี่ยวกับการประมูลที่ผู้ซื้อ ต้องการในการรายงาน

เรียกใช้การประมูล Protected Audience API

ผู้ขายต้องดำเนินการในการประมูลสี่ขั้นตอนหลักๆ ด้วยกัน โปรดทราบว่า จะถือว่าผู้ขายได้ตั้งค่าปลายทางให้ส่งกลับ JavaScript ที่จำเป็น ที่กล่าวถึงไปแล้วในคู่มือนี้

  1. กำหนดค่าการประมูล ขั้นตอนนี้รวมถึงการสร้างออบเจ็กต์ auctionConfig ด้วย วิธีนี้ช่วยให้ผู้ขายสามารถระบุผู้ซื้อที่ควรเข้าร่วม การประมูล รวมทั้งระบุสัญญาณที่อาจเกี่ยวข้องในระหว่างการเสนอราคาด้วย หรือการให้คะแนนโฆษณา
  2. ดำเนินการประมูลโดยเรียกใช้ navigator.runAdAuction() และส่ง ที่สร้างขึ้นในขั้นตอนก่อนหน้า ซึ่งเป็นการทำให้เกิดเครือข่ายผู้ซื้อ สร้างราคาเสนอ จากนั้นทำคะแนน ผลลัพธ์สุดท้ายของขั้นตอนนี้คือตัวเลือกโฆษณา ที่สามารถแสดงผลเพื่อแสดงโฆษณาได้
  3. แสดงโฆษณาที่ชนะในเฟรมที่มีการปิดกั้นหรือ iframe
  4. รายงานผลการประมูล มีฟังก์ชัน navigator.sendReportTo() ซึ่งจะเริ่มการรายงาน ผู้ขายจะยืนยันเสมอ ได้รับรายงานผลการประมูล เฉพาะผู้ซื้อที่ชนะการประมูล จะได้รับรายงาน ข้อมูลนี้ใช้reportResult()ของผู้ขายตามที่กล่าวไว้ก่อนหน้านี้ ในคู่มือนี้เพื่อรายงานไปยังเซิร์ฟเวอร์