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