ในเอกสารนี้ คุณจะพบภาพรวมระดับสูงสำหรับการประมูลกับ ข้อมูล Protected Audience สําหรับผู้ขายรายเดียว ตามที่ใช้ในการทำซ้ำในปัจจุบัน Protected Audience API การประมูลกับผู้ขายรายเดียวอาจ ซึ่งเป็นส่วนหนึ่งของการประมูลที่ซับซ้อนขึ้น โดยมีผู้ขายหลายราย ด้วยวิธีนี้ การประมูลผู้ขายรายเดียวเรียกว่า "การประมูลองค์ประกอบ" สามารถให้ตัวเลือกโฆษณาเข้าสู่ "การประมูลระดับบนสุด" ที่มีผู้ขายหลายราย เข้าร่วม
อ่านคู่มือนักพัฒนาซอฟต์แวร์เพื่อดูวงจรทั้งหมดของ Protected Audience API และดูคำอธิบาย Protected Audience API เพื่อดูข้อมูลเจาะลึก การพูดคุยเกี่ยวกับวิธีที่ผู้ขายใช้การประมูลในอุปกรณ์
6 ขั้นตอนของการประมูลเพื่อแสดงโฆษณา Protected Audience API
- ผู้ใช้เข้าชมเว็บไซต์ที่แสดงโฆษณา
- โค้ดของผู้ขายทำงาน
navigator.runAdAuction()
แอตทริบิวต์นี้ระบุว่า พื้นที่โฆษณาสำหรับขาย และผู้ที่มีสิทธิ์เสนอราคา ผู้ขายต้องใส่สคริปต์ ที่ให้คะแนนราคาเสนอแต่ละรายการ นั่นคือscoreAd()
- โค้ดของผู้ซื้อที่ได้รับเชิญจะทำงานเพื่อสร้างราคาเสนอ ซึ่งเป็น URL ของโฆษณาที่เกี่ยวข้อง ครีเอทีฟโฆษณา และข้อมูลอื่นๆ สคริปต์การเสนอราคาสามารถค้นหาข้อมูลแบบเรียลไทม์ได้ เช่น งบประมาณแคมเปญโฆษณาที่เหลืออยู่ จาก บริการคีย์/ค่า
- รหัสของผู้ขายจะระบุราคาเสนอแต่ละรายการและเลือกผู้ชนะ ตรรกะนี้ใช้เมธอด มูลค่าราคาเสนอและข้อมูลอื่นๆ จะให้ผลลัพธ์เป็นที่ต้องการของราคาเสนอ โฆษณาที่เอาชนะไม่ได้ ระบบจะปฏิเสธผู้ชนะตามบริบท ผู้ขายสามารถใช้ข้อเสนอ บริการคีย์/ค่าสำหรับข้อมูลแบบเรียลไทม์
- โฆษณาที่ชนะจะแสดงผลเป็นค่าทึบ ซึ่งแสดงใน เฟรมที่มีการปิดกั้น ทั้งผู้ขายและ ผู้เผยแพร่จะไม่เห็นค่านี้
- การประมูลจะถูกรายงานไปยังผู้ขายและผู้ซื้อที่ชนะ
การประมูลจะเกิดขึ้นเมื่อผู้ใช้ไปยังหน้าเว็บที่แสดงโฆษณา การประมูลอาจทํางานก่อนเวลาเพื่อให้ครีเอทีฟโฆษณาพร้อมใช้งานเมื่อโฆษณา ช่องปรากฏบนหน้าจอ
ผู้ขายเป็นผู้เริ่มการประมูลเพื่อแสดงโฆษณา ให้คะแนนโฆษณาที่รอการพิจารณาโดยใช้ตรรกะที่กำหนดเอง
ในฐานะฟังก์ชัน 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 ที่จำเป็น ที่กล่าวถึงไปแล้วในคู่มือนี้
- กำหนดค่าการประมูล ขั้นตอนนี้รวมถึงการสร้างออบเจ็กต์
auctionConfig
ด้วย วิธีนี้ช่วยให้ผู้ขายสามารถระบุผู้ซื้อที่ควรเข้าร่วม การประมูล รวมทั้งระบุสัญญาณที่อาจเกี่ยวข้องในระหว่างการเสนอราคาด้วย หรือการให้คะแนนโฆษณา - ดำเนินการประมูลโดยเรียกใช้
navigator.runAdAuction()
และส่ง ที่สร้างขึ้นในขั้นตอนก่อนหน้า ซึ่งเป็นการทำให้เกิดเครือข่ายผู้ซื้อ สร้างราคาเสนอ จากนั้นทำคะแนน ผลลัพธ์สุดท้ายของขั้นตอนนี้คือตัวเลือกโฆษณา ที่สามารถแสดงผลเพื่อแสดงโฆษณาได้ - แสดงโฆษณาที่ชนะในเฟรมที่มีการปิดกั้นหรือ iframe
- รายงานผลการประมูล มีฟังก์ชัน
navigator.sendReportTo()
ซึ่งจะเริ่มการรายงาน ผู้ขายจะยืนยันเสมอ ได้รับรายงานผลการประมูล เฉพาะผู้ซื้อที่ชนะการประมูล จะได้รับรายงาน ข้อมูลนี้ใช้reportResult()
ของผู้ขายตามที่กล่าวไว้ก่อนหน้านี้ ในคู่มือนี้เพื่อรายงานไปยังเซิร์ฟเวอร์