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