ตั้งค่าการประมูลเพื่อแสดงโฆษณาในหน้าของผู้เผยแพร่โฆษณา

ดูวิธีกำหนดค่าการประมูล Protected Audience API

การประมูลในอุปกรณ์ที่ผู้ขายเรียกใช้

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

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

เอกสารนี้จะอธิบายวิธีกำหนดค่าและเริ่มการประมูลในอุปกรณ์

กำหนดค่าการประมูลเพื่อแสดงโฆษณา Protected Audience API

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

const auctionConfig = {
  seller: 'https://seller.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://buyer-1.example', 'https://buyer-2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://buyer-1.example': {...},
    'https://buyer-2.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://buyer-1.example': 50,
    'https://buyer-2.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://component-seller.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ],
  resolveToConfig: [true|false],
};

ที่พัก AuctionConfig แห่ง

พร็อพเพอร์ตี้ที่จำเป็น

พร็อพเพอร์ตี้ที่จำเป็นเพียงรายการเดียวสำหรับ auctionConfigs คือ seller decisionLogicUrl และ interestGroupBuyers

พร็อพเพอร์ตี้ ตัวอย่าง บทบาท
seller https://seller.example ต้นทางของผู้ขาย
decisionLogicUrl https://seller.example/decision-logic.js URL สำหรับเวิร์กเล็ตตรรกะการตัดสินใจของ JavaScript การประมูล ช่องนี้ต้องมีต้นทางเดียวกันกับช่องผู้ขาย
interestGroupBuyers [https://buyer-1.example,
" https://buyer-2.example,
...]
ต้นทางของเจ้าของกลุ่มความสนใจทั้งหมดที่ขอเสนอราคาในการประมูล

พร็อพเพอร์ตี้ที่ไม่บังคับ

พร็อพเพอร์ตี้ที่เหลือสำหรับ auctionConfigs เป็นพร็อพเพอร์ตี้ที่ไม่บังคับ

พร็อพเพอร์ตี้ ตัวอย่าง บทบาท
trustedScoringSignalsUrl https://seller.example/scoring-signals URL ของเซิร์ฟเวอร์คีย์/ค่าของผู้ขาย ซึ่งจะสืบค้นในระหว่างกระบวนการให้คะแนนโฆษณา โดยใช้ URL การแสดงผลของครีเอทีฟโฆษณาเป็นคีย์ ช่องนี้ต้องมีต้นทางเดียวกันกับช่องผู้ขาย
auctionSignals {"category":"news"} ออบเจ็กต์แบบเรียงลำดับได้ JSON ซึ่งแสดงสัญญาณที่ใช้ได้กับผู้ซื้อและผู้ขายทุกรายที่เข้าร่วมการประมูล
sellerSignals {...} ออบเจ็กต์แบบอนุกรม JSON ซึ่งแสดงสัญญาณที่พร้อมใช้งานสำหรับผู้ขายเท่านั้น
perBuyerSignals {https://dsp.example: {...},
https://another-buyer.example: {...},
... }
สัญญาณที่ผู้ซื้อที่เจาะจงใช้ได้ สัญญาณอาจมาจากผู้ขายและผู้ซื้อเองก็ได้
perBuyerTimeouts {https://www.example-dsp.com: 50,
https://www.another-buyer.com: 200,
*: 150,
...}
รันไทม์สูงสุดเป็นมิลลิวินาทีสำหรับสคริปต์ generateBid() ของผู้ซื้อรายใดรายหนึ่ง สัญลักษณ์ไวลด์การ์ดจะใช้กับผู้ซื้อทุกรายที่ไม่ได้กำหนดระยะหมดเวลาเฉพาะไว้
sellerTimeout 100 รันไทม์สูงสุดในหน่วยมิลลิวินาทีสำหรับสคริปต์ scoreAd() ของผู้ขาย
componentAuctions [{seller: https://www.some-other-ssp.com, decisionLogicUrl: ..., ...}, ...] การกำหนดค่าเพิ่มเติมสำหรับการประมูลคอมโพเนนต์
resolveToConfig จริง|เท็จ บูลีนที่นำสัญญาที่ส่งกลับมาจาก runAdAuction() เพื่อแก้ไขเป็น FencedFrameConfig หากเป็น "จริง" (สำหรับใช้ใน <fencedframe>) หรือไปยัง URL แบบทึบแสง:uuid หากเป็น "เท็จ" (สำหรับใช้ใน <iframe>) ค่าเริ่มต้นคือ "เท็จ"

ให้สัญญาณแบบไม่พร้อมกัน

ค่าของสัญญาณบางรายการ (กําหนดค่าโดย auctionSignals sellerSignals, perBuyerSignals และ perBuyerTimeouts) ได้ หรือไม่ต้องระบุเป็นค่าที่เป็นรูปธรรม แต่ระบุเป็น Promises ก็ได้ วิธีนี้ช่วยให้ บางส่วนของการประมูล เช่น การโหลดสคริปต์และสัญญาณที่เชื่อถือได้ การเปิดใช้งานกระบวนการทำงานที่แยกส่วน เพื่อวางซ้อนการคำนวณ (หรือเครือข่าย retrieval) ของค่าเหล่านั้น สคริปต์ Worklet จะเห็นเฉพาะแท็กที่แก้ไขแล้ว ค่า; หากคำมั่นสัญญาดังกล่าวถูกปฏิเสธ การประมูลจะถูกล้มเลิก เว้นแต่จะ ฉันเคยล้มเหลวมาก่อนหรือถูกล้มเลิกด้วยวิธีอื่น

กําหนดค่าการประมูลกับผู้ขายหลายราย

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

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

ผู้ขายส่งคำขอไปยังเบราว์เซอร์ของผู้ใช้เพื่อเริ่มการประมูลเพื่อแสดงโฆษณาภายในวันที่ กำลังโทรหา navigator.runAdAuction()

try {
  const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
  // Handle error.
}

การเรียก runAdAuction() จะแสดงคำมั่นสัญญาที่แก้ไขกับโฆษณา ไม่ใช่ ให้โค้ดในหน้าเว็บของผู้เผยแพร่โฆษณาตรวจสอบโฆษณาที่มีประสิทธิภาพสูงสุด หรือ ดูข้อมูลเกี่ยวกับเนื้อหาของช่องจากผลลัพธ์ของ runAdAuction() หาก มีการตั้งค่าแฟล็ก resolveToConfig เป็น "จริง" ใน AuctionConfig ซึ่งเป็น มีการส่งออบเจ็กต์ FencedFrameConfig กลับมาซึ่งแสดงผลได้ใน fenced เท่านั้น เฟรม หากตั้งค่าสถานะเป็น "เท็จ" ระบบจะแสดงผล URN แบบทึบ ซึ่งสามารถ แสดงใน iframe อาจที่ RunAdAuction แสดงผลค่า Null ซึ่งแสดงว่าไม่ได้เลือกโฆษณาใดๆ ในกรณีนี้ ผู้ขายอาจเลือก แสดงโฆษณาที่กำหนดเป้าหมายตามบริบท