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