เรียกใช้การประมูลที่อิงตามเบราว์เซอร์กับผู้ขายรายเดียว

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

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

การประมูลโฆษณาที่ใช้ Protected Audience API มี 6 ขั้นตอน

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

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

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