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

ในเอกสารนี้ คุณจะเห็นภาพรวมระดับสูงสำหรับการประมูลด้วยข้อมูล 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() ของผู้ขายที่อธิบายไว้ก่อนหน้านี้ในคู่มือนี้เพื่อรายงานไปยังเซิร์ฟเวอร์ของผู้ขาย