Protected Audience API से जुड़ी नीलामी को कॉन्फ़िगर करने का तरीका जानें.
डिवाइस पर, सेलर की ओर से की जाने वाली नीलामियां
उपयोगकर्ता के डिवाइस पर, Protected Audience से जुड़ी नीलामी, विज्ञापन स्पेस बेचने वाली साइट पर चलती है. साथ ही, हम नीलामी चलाने वाले पक्ष का मतलब विक्रेता के रूप में है. कई पक्ष इस तरह की कार्रवाइयां कर सकते हैं विक्रेता: कोई साइट अपनी विज्ञापन नीलामी खुद चला सकती है या उसमें कोई तीसरा पक्ष शामिल हो सकता है इसके लिए नीलामी चलाने के लिए स्क्रिप्ट लिखें या कोई ऐसा SSP इस्तेमाल कर सकता है जिसमें अन्य सर्वर-साइड विज्ञापन नीलामी गतिविधियों के साथ उपयोगकर्ता के डिवाइस पर नीलामी. विक्रेताओं के पास यह है उपयोगकर्ता के डिवाइस पर विज्ञापन नीलामी में तीन बुनियादी काम:
- विक्रेता यह तय करते हैं कि (a) कौनसे खरीदार हिस्सा ले सकते हैं और (b) कौनसी बिड उन खरीदारों से मिले इंटरेस्ट ग्रुप, नीलामी में हिस्सा ले सकते हैं. इससे हमें आपकी वेबसाइट पर कौनसे विज्ञापन दिखाए जा सकते हैं, इसके लिए विक्रेता, साइट के नियमों को लागू करता है पेज.
- विक्रेता, नीलामी के कारोबारी नियम के लिए ज़िम्मेदार होते हैं: JavaScript ऐसा कोड जो हर बिड की कीमत और मेटाडेटा को ध्यान में रखता है. साथ ही, "पसंद के मुताबिक" स्कोर. जिस बोली में ज़्यादा से ज़्यादा वैल्यू पसंद आएं, वह नीलामी.
- विक्रेता, नीलामी के नतीजों की रिपोर्टिंग करते हैं. इसमें, इन चीज़ों की जानकारी भी शामिल होती है कीमत और अन्य पे-आउट कम करने में मदद करता है. जीतने और हारने वाले खरीदारों को भी फ़ायदा मिलता है वह अपनी रिपोर्टिंग बेहतर तरीके से कर सकती थी.
इस दस्तावेज़ में, उपयोगकर्ता के डिवाइस पर नीलामी शुरू करने और उसे कॉन्फ़िगर करने का तरीका बताया गया है.
Protected Audience API की मदद से, विज्ञापन नीलामी को कॉन्फ़िगर करना
Protected Audience API से जुड़ी विज्ञापन नीलामी चलाने के लिए, सबसे पहले
नीलामी को कॉन्फ़िगर करें. ऐसा एक auctionConfig ऑब्जेक्ट बनाकर किया जाता है.
यहां ऐसे ही एक कॉन्फ़िगरेशन का उदाहरण दिया गया है:
const auctionConfig = {
seller: 'https://seller.example',
decisionLogicUrl: ...,
trustedScoringSignalsUrl: ...,
interestGroupBuyers: ['https://buyer-1.example', 'https://buyer-2.example', ...],
auctionSignals: {...},
sellerSignals: {...},
sellerTimeout: 100,
perBuyerSignals: {
'https://buyer-1.example': {...},
'https://buyer-2.example': {...},
...
},
perBuyerTimeouts: {
'https://buyer-1.example': 50,
'https://buyer-2.example': 200,
'*': 150,
...
},
componentAuctions: [
{
'seller': 'https://component-seller.example',
'decisionLogicUrl': ...,
...
},
...
],
resolveToConfig: [true|false],
};
AuctionConfig प्रॉपर्टी
ज़रूरी प्रॉपर्टी
auctionConfigs के लिए सिर्फ़ seller ही ज़रूरी प्रॉपर्टी हैं,
decisionLogicUrl और interestGroupBuyers.
| प्रॉपर्टी | उदाहरण | भूमिका |
|---|---|---|
| विक्रेता | https://seller.example | सेलर का ऑरिजिन. |
| decisionLogicUrl | https://seller.example/decision-logic.js | नीलामी के लिए JavaScript के डिसिज़न लॉजिक के वर्कलेट का यूआरएल. इस फ़ील्ड और सेलर फ़ील्ड का ऑरिजिन एक ही होना चाहिए. |
| interestGroupBuyers | [https://buyer-1.example, https://buyer-2.example, ...] |
इंटरेस्ट ग्रुप के उन सभी मालिकों के ऑरिजिन जिन्हें नीलामी में बिड करने के लिए कहा गया है |
वैकल्पिक प्रॉपर्टी
auctionConfigs के लिए बाकी प्रॉपर्टी ज़रूरी नहीं हैं.
| प्रॉपर्टी | उदाहरण | भूमिका |
|---|---|---|
| trustedScoringSignalsUrl | https://seller.example/scoring-signals | विक्रेता के 'की/वैल्यू सर्वर' का यूआरएल. विज्ञापन स्कोरिंग की प्रोसेस के दौरान, कुंजी के तौर पर क्रिएटिव के रेंडर यूआरएल का इस्तेमाल करके इस बारे में क्वेरी की जाएगी. इस फ़ील्ड और सेलर फ़ील्ड का ऑरिजिन एक ही होना चाहिए. |
| auctionSignals | {"category":"news"} | क्रम से लगाया जा सकने वाला JSON ऑब्जेक्ट, जो नीलामी में हिस्सा लेने वाले सभी खरीदारों और विक्रेताओं के लिए उपलब्ध सिग्नल दिखाता है. |
| sellerSignals | {...} | क्रम से लगाया जा सकने वाला JSON ऑब्जेक्ट, जो सिर्फ़ सेलर के लिए उपलब्ध सिग्नल दिखाता है. |
| perBuyerSignals | {https://dsp.example: {...}, https://another-buyer.example: {...}, ... } |
किसी खास खरीदार के लिए उपलब्ध सिग्नल. सिग्नल सेलर और खरीदारों की ओर से भी मिल सकते हैं. |
| perBuyerTimeouts | {https://www.example-dsp.com: 50, https://www.another-buyer.com: 200, *: 150, ...}, |
किसी खास खरीदार की generateBid() स्क्रिप्ट के मिलीसेकंड में ज़्यादा से ज़्यादा रनटाइम. वाइल्डकार्ड चिह्न हर उस खरीदार पर लागू किया जाएगा जिसने कोई खास टाइम आउट तय नहीं किया है. |
| sellerTimeout | 100 | विक्रेता की ScoreAd() स्क्रिप्ट के मिलीसेकंड में अधिकतम रनटाइम. |
| componentAuctions | [{seller: https://www.some-other-ssp.com, decisionLogicUrl: ..., ...}, ...] | कॉम्पोनेंट की नीलामियों के लिए, अन्य कॉन्फ़िगरेशन. |
| resolveToConfig | सही|गलत | एक बूलियन, जो बताए गए प्रॉमिस को RunAdनीलामी से लेकर, FencedFrameConfig में सही होने पर (<fencedframe> में इस्तेमाल करने के लिए) या गलत होने पर (<iframe> में इस्तेमाल करने के लिए) किसी ओपेक urn:uuid यूआरएल पर ले जाने के लिए निर्देश देता है. डिफ़ॉल्ट तौर पर, 'गलत' पर सेट होती है. |
एसिंक्रोनस तरीके से सिग्नल दें
कुछ सिग्नल की वैल्यू (जिन्हें auctionSignals,
sellerSignals, perBuyerSignals, और perBuyerTimeouts फ़ील्ड) ये काम कर सकते हैं
वैकल्पिक तौर पर, कंक्रीट वैल्यू के तौर पर नहीं, बल्कि प्रॉमिस के तौर पर दिया जाना चाहिए. यह इसकी अनुमति देता है
नीलामी के कुछ हिस्से, जैसे कि स्क्रिप्ट का लोड होना और भरोसेमंद सिग्नल, और
कंप्यूटेशन (या नेटवर्क) को ओवरलैप करने के लिए, आइसोलेटेड वर्कलेट की प्रोसेस लॉन्च करना
उन्हें वापस भी लाया जा सकता है. वर्कलेट स्क्रिप्ट में सिर्फ़ वे दस्तावेज़ दिखेंगे जिन्हें हल किया जा चुका है
वैल्यू; अगर ऐसे किसी वादे को अस्वीकार किया जाता है, तो नीलामी को तब तक रद्द नहीं किया जाएगा, जब तक कि
पहले से ही विफल हो जाते हैं या अन्य तरीकों से निरस्त हो जाते हैं.
एक से ज़्यादा सेलर के लिए नीलामी कॉन्फ़िगर करना
कुछ मामलों में, हो सकता है कि एक से ज़्यादा सेलर नीलामी में हिस्सा लेना चाहें.
अलग-अलग नीलामियों के विजेताओं को दूसरी नीलामी में पास किया जा रहा है, जिसे किसी और नीलामी करता है
विक्रेता. पास की जा रही अलग-अलग नीलामियों को कॉम्पोनेंट नीलामियां कहा जाता है.
इन कॉम्पोनेंट की नीलामियों को आसान बनाने के लिए, componentAuctions ऑब्जेक्ट में यह शामिल हो सकता है
हर सेलर की कॉम्पोनेंट नीलामी के लिए, नीलामी से जुड़े अतिरिक्त कॉन्फ़िगरेशन. कॉन्टेंट बनाने
इनमें से प्रत्येक घटक नीलामियों की जीतने वाली बोली को पास कर दिया जाएगा
"टॉप-लेवल" नीलामी की मदद से, नीलामी का नतीजा तय किया जाता है. कॉन्टेंट बनाने
ऐसा हो सकता है कि auctionConfig कॉम्पोनेंट नीलामी के लिए, अपना खुद का डेटा न हो
componentAuctions. जब componentAuctions खाली न हो,
interestGroupBuyers खाली होना चाहिए. इसका अर्थ है, किसी विशेष सुरक्षित
ऑडियंस नीलामी होती है. इसमें या तो सिर्फ़ एक सेलर है और उसके लिए कोई कॉम्पोनेंट नीलामी नहीं होती है या
बाकी सभी बिड कॉम्पोनेंट नीलामियों से आती हैं और टॉप-लेवल की नीलामी सिर्फ़
कॉम्पोनेंट नीलामियों में से किसी एक को चुनें' विजेताओं को चुनें.
नीलामी शुरू करें
विक्रेता उपयोगकर्ता के ब्राउज़र से विज्ञापन नीलामी शुरू करने का अनुरोध करता है
navigator.runAdAuction() पर कॉल किया जा रहा है.
try {
const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
// Handle error.
}
runAdAuction() कॉल में ऐसा प्रॉमिस दिखाया जाता है जिससे विज्ञापन दिखता है. ऐसा नहीं है
प्रकाशक पेज पर मौजूद किसी भी कोड के लिए, जीतने वाले विज्ञापन की जांच करने का तरीका या
ऐसा नहीं है, तो runAdAuction() के नतीजे से इसके कॉन्टेंट के बारे में जानें. अगर
AuctionConfig में resolveToConfig फ़्लैग को 'सही' पर सेट किया गया,
FencedFrameConfig ऑब्जेक्ट दिखाया जाता है, जिसे सिर्फ़ फ़ेंस किए गए तरीके से रेंडर किया जा सकता है
फ़्रेम. अगर फ़्लैग गलत पर सेट किया गया था, तो एक ओपेक URN दिया जाता है, जिसे
iframe में रेंडर होना चाहिए. हो सकता है कि RunAdनीलामी शून्य वैल्यू दिखाता हो,
यह बताता है कि कोई विज्ञापन नहीं चुना गया है. इस मामले में सेलर
प्रासंगिक रूप से लक्षित विज्ञापन बनाने के लिए.