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

ในเอกสารนี้ คุณจะเห็นภาพรวมระดับสูงของการเรียกใช้การประมูลด้วยข้อมูล 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

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

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