इस दस्तावेज़ में, आपको किसी एक सेलर के लिए Protected Audience API के मौजूदा वर्शन में इस्तेमाल किए गए डेटा की मदद से नीलामी चलाने के बारे में खास जानकारी मिलेगी. एक सेलर वाली नीलामी को, कई सेलर वाली ज़्यादा जटिल नीलामी के हिस्से के तौर पर चलाया जा सकता है. इस मामले में, एक सेलर वाली नीलामी को "कॉम्पोनेंट नीलामी" कहा जाता है. यह "टॉप लेवल नीलामी" में विज्ञापन के लिए उम्मीदवारों को उपलब्ध करा सकती है. इस नीलामी में कई सेलर हिस्सा लेते हैं.
Protected Audience API के पूरे लाइफ़साइकल के बारे में जानने के लिए, डेवलपर गाइड पढ़ें. साथ ही, Protected Audience API के बारे में जानकारी देने वाली लेख पढ़ें. इसमें, सेलर के डिवाइस पर होने वाली नीलामियों के बारे में पूरी जानकारी दी गई है.
Protected Audience API की विज्ञापन नीलामी के छह चरण

- कोई उपयोगकर्ता, विज्ञापन दिखाने वाली साइट पर जाता है.
- सेलर का कोड
navigator.runAdAuction()
को लागू करता है. इससे पता चलता है कि कौनसा विज्ञापन स्पेस बिक्री के लिए है और कौन बिड कर सकता है. सेलर को एक स्क्रिप्ट भी शामिल करनी होगी,scoreAd()
जो हर बिड को स्कोर करती है. - न्योता पाने वाले खरीदार का कोड, बिड, काम के विज्ञापन क्रिएटिव के लिए यूआरएल, और अन्य डेटा जनरेट करने के लिए लागू होता है. बिडिंग स्क्रिप्ट, खरीदार की की/वैल्यू सेवा से रीयल-टाइम डेटा के लिए क्वेरी कर सकती है. जैसे, विज्ञापन कैंपेन का बचा हुआ बजट.
- सेलर का कोड हर बिड को स्कोर देता है और विजेता चुनता है. यह लॉजिक, बिड की वैल्यू और अन्य डेटा का इस्तेमाल करके, बिड की डिज़ायरेबिलिटी दिखाता है. कॉन्टेक्स्ट के हिसाब से विज्ञापन दिखाने की सुविधा में सबसे अच्छा परफ़ॉर्म करने वाले विज्ञापन को हराने वाले विज्ञापन अस्वीकार कर दिए जाते हैं. सेलर, रीयल-टाइम डेटा के लिए अपनी की/वैल्यू सेवा का इस्तेमाल कर सकता है.
- विज्ञापन की परफ़ॉर्मेंस के आधार पर चुने गए विज्ञापन की वैल्यू, फ़ेंस किए गए फ़्रेम में दिखती है. सेलर और पब्लिशर, दोनों ही इस वैल्यू को नहीं देख पाएंगे.
- नीलामी की जानकारी, सेलर और नीलामी जीतने वाले खरीदारों को दी जाती है.
जब कोई उपयोगकर्ता किसी ऐसे पेज पर जाता है जिस पर विज्ञापन दिखता है, तब नीलामी हो सकती है. नीलामियां पहले से चलाई जा सकती हैं, ताकि विज्ञापन स्लॉट दिखने पर विज्ञापन क्रिएटिव तैयार हो.
विज्ञापन नीलामी की शुरुआत सेलर करते हैं. साथ ही, वे scoreAd()
फ़ंक्शन के तौर पर दिए गए कस्टम लॉजिक का इस्तेमाल करके, विज्ञापन के लिए चुने गए विकल्पों को स्कोर करते हैं. साथ ही, नीलामी के नतीजों को खुद के साथ-साथ, जीतने वाले खरीदार को भी रिपोर्ट करने की ज़िम्मेदारी उनकी होती है. सेलर, scoreAd()
फ़ंक्शन का इस्तेमाल करके, पब्लिशर के नियमों को लागू कर सकते हैं और विज्ञापन की क्वालिटी के हिसाब से फ़िल्टर कर सकते हैं.
सेलर इनके बारे में बता सकता है:
- कॉन्टेंट पब्लिशर, जो अपनी वेबसाइट पर विज्ञापन कॉन्टेंट होस्ट करने के लिए खुद काम करते हैं
- सप्लाई-साइड प्लैटफ़ॉर्म (एसएसपी), जो विज्ञापन पब्लिशर के साथ काम करते हैं और अन्य सेवाएं देते हैं
- तीसरे पक्ष की स्क्रिप्ट, जो विज्ञापन नीलामियों में हिस्सा लेने के लिए पब्लिशर के लिए काम करती हैं.
ऑक्शन चलाने से जुड़ी ज़रूरी शर्तें
नीलामी चलाने के लिए, सेलर को दो JavaScript फ़ंक्शन तय करने होंगे:
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()
का इस्तेमाल करता है.