FLEDGE API डेवलपर गाइड

यह लेख किसके लिए है?

इस पोस्ट में, एक्सपेरिमेंट के लिए इस्तेमाल होने वाले Protected Audience API के मौजूदा वर्शन के बारे में तकनीकी जानकारी दी गई है.

  • Protected Audience API, प्रस्ताव की कम तकनीकी जानकारी है, और एक शब्दावली भी मौजूद है.

  • Protected Audience डेमो में, बुनियादी FLEDGE के बारे में सिलसिलेवार तरीके से निर्देश दिए गए हैं डिप्लॉयमेंट.

  • Protected Audience का डेमो वीडियो इसमें डेमो कोड के काम करने का तरीका बताया गया है. साथ ही, यह भी बताया गया है कि सुरक्षित ऑडियंस को डीबग करने के लिए, Chrome DevTools का इस्तेमाल कैसे किया जाए.

Protected Audience क्या है?

Protected Audience API, प्राइवसी सैंडबॉक्स का एक ऑफ़र है रीमार्केटिंग और कस्टम ऑडियंस के इस्तेमाल के उदाहरण इसलिए डिज़ाइन किए गए हैं, ताकि इनका इस्तेमाल नहीं किया जा सके सभी साइटों पर उपयोगकर्ता के ब्राउज़िंग व्यवहार को ट्रैक करने के लिए, तीसरे पक्षों की मदद ली जा सकती है. यह एपीआई, उपयोगकर्ताओं के डिवाइस पर नीलामियों को इन कामों के लिए चालू करता है का इस्तेमाल करें. इससे उन वेबसाइटों के लिए काम के विज्ञापन चुने जा सकते हैं जिन पर उपयोगकर्ता पहले जा चुका है.

Protected Audience, Chromium में लागू किया जाने वाला पहला एक्सपेरिमेंट है. यह TURTLEDOVE परिवार.

नीचे दिया गया डायग्राम, FLEDGE के लाइफ़साइकल की खास जानकारी देता है:

इस इमेज में, FLEDGE के लाइफ़साइकल के हर चरण के बारे में खास जानकारी दी गई है
FLEDGE का लाइफ़साइकल.

मैं Protected Audience सुविधा का इस्तेमाल कैसे करूं?

Protected Audience API का डेमो

विज्ञापन देने वाले और पब्लिशर की साइटों के लिए, Protected Audience से जुड़े बुनियादी डिप्लॉयमेंट के बारे में जानकारी यहां दी गई है. protected-audience-demo.web.app.

डेमो वीडियो इसमें डेमो कोड के काम करने का तरीका बताया गया है. साथ ही, यह भी बताया गया है कि सुरक्षित ऑडियंस को डीबग करने के लिए, Chrome DevTools का इस्तेमाल कैसे किया जाए.

Protected Audience के ऑरिजिन ट्रायल में हिस्सा लें

प्राइवसी सैंडबॉक्स की, प्रासंगिकता और मेज़रमेंट के लिए ऑरिजिन ट्रायल सुरक्षित ऑडियंस के लिए डेस्कटॉप पर, Chrome बीटा 101.0.4951.26 और इसके बाद के वर्शन में उपलब्ध कराया गया है, विषय, और Attribution Reporting के एपीआई.

इसमें हिस्सा लेने के लिए, ऑरिजिन ट्रायल टोकन के लिए रजिस्टर करें.

मुफ़्त में आज़माने की सुविधा में रजिस्टर करने के बाद, पेजों पर Protected Audience JavaScript API को आज़माया जा सकता है जिनसे मान्य ट्रायल टोकन मिलता है: उदाहरण के लिए, ब्राउज़र से एक या उससे ज़्यादा इंटरेस्ट ग्रुप में शामिल होने के लिए कहना, और फिर किसी विज्ञापन को चुनने और दिखाने के लिए, विज्ञापन नीलामी चलाता है.

Protected Audience डेमो में सुरक्षित ऑडियंस के डिप्लॉयमेंट की पूरी प्रोसेस का बुनियादी उदाहरण दिया गया है.

हर उस पेज के लिए ट्रायल टोकन दें जिस पर आपको Protected Audience API कोड चलाना है:

  • <head> में मेटा टैग के तौर पर:

    <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">

  • एचटीटीपी हेडर के तौर पर:

    Origin-Trial: TOKEN_GOES_HERE

  • प्रोग्राम के हिसाब से टोकन जनरेट करके:

    const otMeta = document.createElement('meta');
    otMeta.httpEquiv = 'origin-trial';
    otMeta.content = 'TOKEN_GOES_HERE';
    document.head.append(otMeta);
    

Protected Audience कोड चलाने वाला iframe—जैसे कि navigator.joinAdInterestGroup() एक इंटरेस्ट ग्रुप के मालिक की ओर से कॉल—इसके लिए, उसे ऐसा टोकन देना होगा जो उसके ऑरिजिन से मेल खाता हो.

पहली सुरक्षित ऑडियंस को मुफ़्त में आज़माने के सुझाव की जानकारी में, पहले ट्रायल के लक्ष्यों के बारे में ज़्यादा जानकारी दी गई हो. साथ ही, यह भी बताया गया हो कि कौनसी सुविधाएं काम करती हैं.

इस एपीआई की जांच करें

डेस्कटॉप पर, Chrome के बीटा वर्शन 101.0.4951.26 और इसके बाद के वर्शन में किसी एक उपयोगकर्ता के लिए Protected Audience की जांच की जा सकती है:

  • chrome://settings/adPrivacy में विज्ञापन देखने वाले की निजता बनाए रखने वाले सभी एपीआई चालू करके
  • कमांड लाइन से फ़्लैग सेट करके.

iframe या फ़ेंस किए गए फ़्रेम में विज्ञापन रेंडर करें

विज्ञापनों को <iframe> या <fencedframe> में रेंडर किया जा सकता है, का इस्तेमाल किया जा सकता है.

विज्ञापनों को रेंडर करने के लिए <fencedframe> का इस्तेमाल करने के लिए:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames

विज्ञापनों को रेंडर करने के लिए <iframe> का इस्तेमाल करने के लिए:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames

डीबग करने के दौरान हुए नुकसान/जीत की रिपोर्ट करने के अस्थायी तरीकों को चालू करने के लिए, BiddingAndScoringDebugReportingAPI फ़्लैग शामिल करें.

फ़्लैग के साथ Chromium चलाएं निर्देश से Chrome और अन्य Chromium-आधारित ब्राउज़र को चलाते समय फ़्लैग सेट करने का तरीका बताता है लाइन. Protected Audience से जुड़े फ़्लैग की पूरी सूची यहां से उपलब्ध है Chromium कोड सर्च.

Chrome के नए वर्शन में कौनसी सुविधाएं काम करती हैं?

Protected Audience को Chromium में फ़ीचर फ़्लैग के पीछे सबसे पहले उपलब्ध कराया जा रहा है Protected Audience प्रस्ताव की, नीचे दी गई सुविधाओं की जांच करने के लिए एक्सपेरिमेंट करें:

  • दिलचस्पी के हिसाब से ग्रुप: विज्ञापन बिडिंग को कॉन्फ़िगर करने के लिए, ब्राउज़र में इससे जुड़े मेटाडेटा के साथ स्टोर किया जाता है और रेंडरिंग.
  • खरीदारों (डीएसपी या विज्ञापन देने वाले) की ऑन-डिवाइस बिडिंग: यह जानकारी, सेव किए गए इंटरेस्ट ग्रुप और सिग्नल के आधार पर दी गई है से छूट मिल सकती है.
  • सेलर (SSP या पब्लिशर) की ओर से डिवाइस पर विज्ञापन चुनना: नीलामी की बिड और खरीदारों से मिला मेटाडेटा.
  • फ़ेंस किए गए फ़्रेम के कुछ समय के लिए, आसान वर्शन में विज्ञापन रेंडरिंग: नेटवर्क ऐक्सेस और विज्ञापन रेंडरिंग के लिए लॉग इन करने की अनुमति होती है.

एपीआई के बारे में जानकारी देने वाले टूल में ज़्यादा जानकारी मिलती है और पाबंदियों के बारे में जानकारी.

एक जैसी दिलचस्पी वाले ग्रुप की अनुमतियां

Protected Audience को लागू करने के मौजूदा तरीके में, joinAdInterestGroup() को यहां से कॉल करने की अनुमति डिफ़ॉल्ट तौर पर दी गई है किसी पेज पर कहीं भी, यहां तक कि क्रॉस-डोमेन iframe से भी. आने वाले समय में, एक बार साइट के मालिकों को क्रॉस-डोमेन iframe की अनुमतियों की नीतियों में बदलाव करने के लिए, प्लान है कि क्रॉस-डोमेन iframe, जैसा कि एक्सप्लेनर में बताया गया है.

कुंजी/वैल्यू सेवा

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

Protected Audience Key/Value का सेवा कोड, अब Privacy Sandbox की GitHub रिपॉज़िटरी में उपलब्ध है. इस सेवा का इस्तेमाल, Chrome और Android डेवलपर कर सकते हैं. स्टेटस के बारे में अपडेट पाने के लिए, एलान करने वाली ब्लॉग पोस्ट देखें. एपीआई की जानकारी और ट्रस्ट मॉडल एक्सप्लेनर की मदद से, Protected Audience Key/Value Service के बारे में ज़्यादा जानें.

शुरुआती टेस्टिंग के लिए, "Bring Your ओन सर्वर" मॉडल का इस्तेमाल किया जाता है. लंबे समय तक, विज्ञापन टेक्नोलॉजी को रीयल-टाइम डेटा वापस पाने के लिए, भरोसेमंद एक्ज़ीक्यूशन एनवायरमेंट में चल रही ओपन-सोर्स Protected Audience Key/Value सेवाओं का इस्तेमाल करना होगा.

तीसरे पक्ष की कुकी का इस्तेमाल बंद होने के कुछ समय बाद तक, हम उम्मीद करते हैं कि नेटवर्क को जांच के लिए ज़रूरी समय न मिले. इसके लिए, हम ओपन सोर्स कुंजी/वैल्यू से जुड़ी सेवाओं या टीईई का इस्तेमाल नहीं करना चाहते. इस बदलाव के लागू होने से पहले, हम डेवलपर को इस बारे में ज़रूरी सूचना देंगे कि वे टेस्टिंग और इसका इस्तेमाल शुरू कर दें.

सुविधा समर्थन का पता लगाएं

API का इस्तेमाल करने से पहले, देखें कि यह ब्राउज़र पर काम करता है या नहीं और दस्तावेज़ में उपलब्ध है या नहीं:

'joinAdInterestGroup' in navigator &&
  document.featurePolicy.allowsFeature('join-ad-interest-group') &&
  document.featurePolicy.allowsFeature('run-ad-auction') ?
  console.log('navigator.joinAdInterestGroup() is supported on this page') :
  console.log('navigator.joinAdInterestGroup() is not supported on this page');

मैं Protected Audience से ऑप्ट आउट कैसे करूं?

Protected Audience API का ऐक्सेस, साइट के मालिक के तौर पर या व्यक्तिगत उपयोगकर्ता के तौर पर ब्लॉक किया जा सकता है.

साइटें, साइट के ऐक्सेस को कैसे कंट्रोल कर सकती हैं?

Protected Audience को इस्तेमाल करने के लिए, साइटों को अनुमतियों की नीति सेट करनी होगी Protected Audience से जुड़ी सुविधाएं उपलब्ध कराई जा सकें. इससे यह पक्का करने में मदद मिलेगी कि आर्बिट्रेरी तीसरे पक्ष की कंपनियां, किसी साइट के एपीआई का इस्तेमाल जानकारी. हालांकि, पहले ऑरिजिन ट्रायल के दौरान टेस्टिंग की सुविधा देने के लिए, इस ज़रूरी शर्त को डिफ़ॉल्ट रूप से हटा दिया जाता है. जो साइटें टेस्टिंग के दौरान, Protected Audience से जुड़े फ़ंक्शन को साफ़ तौर पर बंद करना चाहती हैं वे इन साइटों का इस्तेमाल कर सकती हैं ऐक्सेस ब्लॉक करने के लिए, अनुमतियों की ज़रूरी नीति देखें.

Protected Audience की अनुमतियों से जुड़ी दो नीतियां हैं, जिन्हें अलग से सेट किया जा सकता है:

  • join-ad-interest-group, इंटरेस्ट ग्रुप में ब्राउज़र जोड़ने की सुविधा को चालू/बंद करता है
  • run-ad-auction, उपयोगकर्ता के डिवाइस पर नीलामी करने के लिए, फ़ंक्शन को चालू/बंद करता है

पहले पक्ष के कॉन्टेक्स्ट में, Protected Audience API का ऐक्सेस पूरी तरह से बंद किया जा सकता है. इसके लिए, यहां दी गई जानकारी देनी होगी एचटीटीपी रिस्पॉन्स हेडर में अनुमतियों की नीति:

Permissions-Policy: join-ad-interest-group=(), run-ad-auction=()

iframe में एपीआई के इस्तेमाल को बंद किया जा सकता है. इसके लिए,allow iframe एलिमेंट:

<iframe src="https://example.com" allow="join-ad-interest-group 'none'; run-ad-auction 'none'"></iframe>

पहली सुरक्षित ऑडियंस को ऑनलाइन टेस्ट करने की अनुमति से जुड़ी नीति सेक्शन में, इस बारे में ज़्यादा जानकारी दी गई है.

उपयोगकर्ता का ऑप्ट-आउट

उपयोगकर्ता, Protected Audience API और प्राइवसी सैंडबॉक्स की अन्य सुविधाओं के ऐक्सेस को ब्लॉक कर सकता है. इसके लिए, उसे इनमें से किसी एक का इस्तेमाल करना होगा ये तरीके अपनाएं:

  • Chrome की सेटिंग में जाकर, Privacy Sandbox के ट्रायल बंद करें: सेटिंग > सुरक्षा और निजता > प्राइवसी सैंडबॉक्स. इसे chrome://settings/adPrivacy पर भी ऐक्सेस किया जा सकता है.
  • Chrome सेटिंग में तीसरे पक्ष की कुकी बंद करें: सेटिंग > सुरक्षा और निजता.
  • कुकी और साइट का अन्य डेटा को "तीसरे पक्ष की कुकी ब्लॉक करें" पर सेट करें या "सभी कुकी ब्लॉक करें" chrome://settings/cookies से शुरू.
  • गुप्त मोड का इस्तेमाल करें.

Protected Audience से जुड़ी जानकारी देने वाले इस टूल में, एपीआई के डिज़ाइन से जुड़े एलिमेंट के बारे में ज़्यादा जानकारी मिलती है. साथ ही, यह भी बताया गया है कि एपीआई, निजता से जुड़े लक्ष्यों को कैसे पूरा करता है.

Protected Audience API से जुड़े वर्कलेट को डीबग करें

Chrome कैनरी 98.0.4718.0 से, Chrome DevTools में Protected Audience से जुड़े वर्कलेट डीबग किए जा सकते हैं.

सबसे पहले, इवेंट लिसनर ब्रेकपॉइंट पैनल में, एक नई कैटगरी के ज़रिए ब्रेकपॉइंट सेट किए जाएं स्रोत पैनल में.

का स्क्रीनशॉट
   Chrome कैनरी में DevTools, जो सोर्स पैनल में इवेंट लिसनर ब्रेकपॉइंट पैनल को हाइलाइट करता है.
   विज्ञापन नीलामी के वर्कलेट में, बिड करने वाले के बिडिंग के चरण की शुरुआत को चुना गया है.

जब ब्रेकपॉइंट ट्रिगर होता है, तब एक्ज़ीक्यूशन को उस शर्त के टॉप-लेवल पर पहले स्टेटमेंट से पहले रोक दिया जाता है वर्कलेट स्क्रिप्ट के लिए. बिडिंग/स्कोर/रिपोर्टिंग तक पहुंचने के लिए, सामान्य ब्रेकपॉइंट या चरण वाले निर्देशों का इस्तेमाल किया जा सकता है उस पर लागू होता है.

लाइव वर्कलेट की स्क्रिप्ट, Threads पैनल में भी दिखेंगी.

का स्क्रीनशॉट
Chrome कैनरी में DevTools, सोर्स पैनल में थ्रेड पैनल को हाइलाइट कर रहा है, जो मौजूदा
वर्कलेट स्क्रिप्ट को रोक दिया गया है.

कुछ वर्कलेट साथ-साथ चल सकते हैं. इसलिए, हो सकता है कि कई थ्रेड "रोका गया" में आएं राज्य है; तो थ्रेड की सूची का इस्तेमाल करके, थ्रेड के बीच स्विच किया जा सकता है. साथ ही, उन्हें फिर से शुरू किया जा सकता है या उनकी बारीकी से जांच की जा सकती है उचित.

Protected Audience API से जुड़े इवेंट की निगरानी करें

Chrome DevTools के ऐप्लिकेशन पैनल में, सुरक्षित ऑडियंस इंटरेस्ट ग्रुप और नीलामी के बारे में जानकारी देखी जा सकती है इवेंट.

अगर आप Protected Audience डेमो शॉपिंग साइट पर जाते हैं, तो DevTools सुरक्षित ऑडियंस मोड चालू करने वाले ब्राउज़र में, DevTools join इवेंट के बारे में जानकारी दिखाएगा.

कॉन्टेंट बनाने
   Chrome कैनरी में DevTools ऐप्लिकेशन का पैनल, जो सुरक्षित ऑडियंस की दिलचस्पी वाले ग्रुप के बारे में जानकारी दिखा रहा है
   इवेंट में शामिल हों.

अब, अगर आप Protected Audience डेमो पब्लिशर साइट पर जाते हैं, DevTools सुरक्षित ऑडियंस की सुविधा वाले ब्राउज़र में, bid और win इवेंट के बारे में जानकारी दिखाता है.

कॉन्टेंट बनाने
   Chrome कैनरी में DevTools ऐप्लिकेशन पैनल, जो Protected Audience API से जुड़ी नीलामी के बारे में जानकारी और
   इवेंट जीतने में मदद कर सकता है.

Protected Audience API कैसे काम करता है?

इस उदाहरण में, कोई उपयोगकर्ता पसंद के मुताबिक साइकल बनाने वाली किसी कंपनी की वेबसाइट ब्राउज़ करता है और बाद में किसी समाचार वेबसाइट पर जाता है और उसे बाइक निर्माता की एक नई बाइक का विज्ञापन दिखाया जाता है.

1. जब कोई उपयोगकर्ता विज्ञापन देने वाले की साइट पर जाता है

इलस्ट्रेशन
  एक व्यक्ति अपने लैपटॉप पर ब्राउज़र में, पसंद के मुताबिक साइकल बनाने वाली कंपनी की साइट पर जा रहा है.

मान लें कि कोई उपयोगकर्ता पसंद के मुताबिक साइकल बनाने वाली किसी कंपनी (यह विज्ञापन देने वाला) की वेबसाइट पर जाता है इस उदाहरण में कुछ समय बिताते हैं. साथ ही, प्रॉडक्ट पेज पर हाथ से बनी स्टील की बाइक के लिए कुछ समय बिताते हैं. इससे यह पता चलता है कि बाइक बनाने वाली कंपनी को रीमार्केटिंग के अवसर देना.

2. उपयोगकर्ता के ब्राउज़र से एक इंटरेस्ट ग्रुप जोड़ने के लिए कहा जाता है

इलस्ट्रेशन में एक व्यक्ति अपने लैपटॉप पर ब्राउज़र में कोई साइट देख रहा है. JavaScript
  ब्राउज़र में codejoinAdInterestGroup() चल रहा है.

पूरी जानकारी देने वाला सेक्शन: ब्राउज़र रिकॉर्ड इंटरेस्ट ग्रुप

विज्ञापन देने वाले का मांग-साइड प्लैटफ़ॉर्म (डीएसपी) या विज्ञापन देने वाले व्यक्ति या कंपनी का खुद) navigator.joinAdInterestGroup() को कॉल करके ब्राउज़र को उन ग्रुप की सूची जिनका ब्राउज़र सदस्य है. इस उदाहरण में, ग्रुप का नाम custom-bikes है और मालिक dsp.example है. इंटरेस्ट ग्रुप का मालिक (इस मामले में, डीएसपी) चौथे चरण में बताई गई विज्ञापन नीलामी में खरीदार शामिल है. एक जैसी दिलचस्पी वाले ग्रुप की सदस्यता, ब्राउज़र में उपयोगकर्ता के डिवाइस पर सेव होती है. साथ ही, इसे ब्राउज़र वेंडर या कोई अन्य व्यक्ति.

joinAdInterestGroup() को इनसे अनुमति चाहिए:

  • विज़िट की जा रही साइट
  • एक जैसी दिलचस्पी वाले ग्रुप का मालिक

उदाहरण के लिए: malicious.example के लिए कॉल करना मुमकिन नहीं होना चाहिए बिना इसकी अनुमति के मालिक के रूप में dsp.example के साथ joinAdInterestGroup() dsp.example.

विज़िट की जा रही साइट की अनुमति

एक ही ऑरिजिन: डिफ़ॉल्ट रूप से, यहां से joinAdInterestGroup() कॉल के लिए साफ़ तौर पर अनुमति दी जाती है उसी ऑरिजिन से जो विज़िट की जा रही साइट का है, यानी उसी ऑरिजिन से जिसका टॉप-लेवल फ़्रेम वाला हो. साइटें, Protected Audience से जुड़ी अनुमतियों की नीति के हेडर का इस्तेमाल कर सकती हैं joinAdInterestGroup() कॉल बंद करने के लिए join-ad-interest-group डायरेक्टिव.

क्रॉस ऑरिजिन: joinAdInterestGroup() को ऐसे ऑरिजिन से कॉल करना जो मौजूदा ऑरिजिन से अलग हैं पेज तभी सफल होगा, जब जिस साइट पर विज़िट किया जा रहा है उसने अनुमति नीति सेट की हो, जो क्रॉस-ऑरिजिन iframe से मिला joinAdInterestGroup().

इंटरेस्ट ग्रुप के मालिक से अनुमति

दिलचस्पी दिखाने वाले ग्रुप के मालिक की अनुमति, joinAdInterestGroup() को कॉल करके साफ़ तौर पर दी गई है . उदाहरण के लिए, dsp.example dsp.example के मालिकाना हक वाले इंटरेस्ट ग्रुप के लिए, iframe joinAdInterestGroup() को कॉल कर सकता है.

प्रस्ताव है कि joinAdInterestGroup() किसी पेज या मालिक के डोमेन के iframe में चल सकता है, या .well-known यूआरएल पर सूची का इस्तेमाल करके दिए गए दूसरे डोमेन को सौंपी जानी चाहिए.

navigator.joinAdInterestGroup() का इस्तेमाल करना

यहां दिए गए उदाहरण में बताया गया है कि एपीआई का इस्तेमाल कैसे किया जा सकता है:

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  biddingLogicUrl: ...,
  biddingWasmHelperUrl: ...,
  dailyUpdateUrl: ...,
  trustedBiddingSignalsUrl: ...,
  trustedBiddingSignalsKeys: ['key1', 'key2'],
  userBiddingSignals: {...},
  ads: [bikeAd1, bikeAd2, bikeAd3],
  adComponents: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2],
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

फ़ंक्शन के लिए पास किए गए interestGroup ऑब्जेक्ट का साइज़, 50 kiB से ज़्यादा नहीं होना चाहिए, वरना कॉल विफल हो जाएगा. दूसरा पैरामीटर, इंटरेस्ट ग्रुप की अवधि के बारे में बताता है, जिसे 30 तक सीमित किया गया था दिन. लगातार आने वाले कॉल, पहले से सेव की गई वैल्यू को ओवरराइट कर देते हैं.

एक जैसी दिलचस्पी वाले ग्रुप की प्रॉपर्टी

प्रॉपर्टी ज़रूरी है उदाहरण भूमिका
owner ज़रूरी है 'https://dsp.example' इंटरेस्ट ग्रुप के मालिक का ऑरिजिन.
name ज़रूरी है 'custom-bikes' इंटरेस्ट ग्रुप का नाम.
biddingLogicUrl** ज़रूरी नहीं* 'https://dsp.example/bid/custom-bikes/bid.js' वर्कलेट में JavaScript रन करने के लिए यूआरएल.
biddingWasmHelperUrl** ज़रूरी नहीं* 'https://dsp.example/bid/custom-bikes/bid.wasm' biddingLogicUrl से मिले WebAssembly कोड का यूआरएल.
dailyUpdateUrl** वैकल्पिक 'https://dsp.example/bid/custom-bikes/update' वह यूआरएल जो इंटरेस्ट ग्रुप के एट्रिब्यूट अपडेट करने के लिए, JSON फ़ॉर्म दिखाता है. (एक जैसी दिलचस्पी वाले ग्रुप को अपडेट करें देखें.)
trustedBiddingSignalsUrl** वैकल्पिक 'https://dsp.example/trusted/bidding-signals' बिड करने वाले के भरोसेमंद सर्वर पर की-वैल्यू वाले अनुरोधों के लिए बेस यूआरएल.
trustedBiddingSignalsKeys वैकल्पिक ['key1', 'key2' ...] की-वैल्यू भरोसेमंद सर्वर के अनुरोधों के लिए कुंजियां.
userBiddingSignals वैकल्पिक {...} अतिरिक्त मेटाडेटा, जिसे मालिक बिडिंग के दौरान इस्तेमाल कर सकता है.
ads ज़रूरी नहीं* [bikeAd1, bikeAd2, bikeAd3] इस इंटरेस्ट ग्रुप के लिए रेंडर किए जा सकने वाले विज्ञापन.
adComponents वैकल्पिक [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2] कई हिस्सों से बने विज्ञापनों के कॉम्पोनेंट.

* owner और name को छोड़कर, सभी प्रॉपर्टी ज़रूरी नहीं हैं. biddingLogicUrl और ads प्रॉपर्टी तय करना ज़रूरी नहीं है, लेकिन नीलामी में हिस्सा लेने के लिए ज़रूरी है. इसके इस्तेमाल के कुछ उदाहरण हो सकते हैं: इन प्रॉपर्टी के बिना एक इंटरेस्ट ग्रुप बनाना: उदाहरण के लिए, इंटरेस्ट ग्रुप का मालिक, एक ऐसे रुचि समूह में ब्राउज़र जोड़ना चाहते हैं जो अभी तक नहीं चल रहा है या कुछ इस्तेमाल नहीं किया जाएगा या हो सकता है कि कुछ समय के लिए उनका विज्ञापन बजट खत्म हो गया हो.

** biddingLogicUrl, biddingWasmHelperUrl, dailyUpdateUrl, और trustedBiddingSignalsUrl यूआरएल का ऑरिजिन, मालिक के तौर पर एक ही होना चाहिए. ads और adComponents यूआरएल पर ऐसी कोई पाबंदी नहीं है.

एक जैसी दिलचस्पी वाले ग्रुप के एट्रिब्यूट अपडेट करें

dailyUpdateUrl ऐसे वेब सर्वर के बारे में बताता है जो इंटरेस्ट ग्रुप के बारे में बताने वाली JSON प्रॉपर्टी दिखाता है. एक इंटरेस्ट ग्रुप के आधार पर, navigator.joinAdInterestGroup() को पास किए गए ऑब्जेक्ट के हिसाब से. यह समूह के मालिक को एक ऐसा तरीका उपलब्ध कराता है, जिससे इसकी विशेषताओं को समय-समय पर अपडेट किया जा सकेगा एक जैसी दिलचस्पी वाला ग्रुप. मौजूदा लागू होने के दौरान, इन एट्रिब्यूट में बदलाव किया जा सकता है:

  • biddingLogicUrl
  • biddingWasmHelperUrl
  • trustedBiddingSignalsUrl
  • trustedBiddingSignalsKeys
  • ads
  • priority

JSON में तय नहीं किए गए फ़ील्ड को ओवरराइट नहीं किया जाएगा—सिर्फ़ JSON में तय किए गए फ़ील्ड अपडेट किया गया है—जबकि navigator.joinAdInterestGroup() को कॉल करने से इंटरेस्ट ग्रुप की मौजूदा जानकारी बदल जाती है.

अपडेट तुरंत करने की कोशिश की जाती है और ये स्टेटस के तहत काम नहीं करते:

  • नेटवर्क अनुरोध का टाइम आउट (फ़िलहाल, 30 सेकंड).
  • अन्य नेटवर्क की गड़बड़ी.
  • JSON को पार्स नहीं किया जा सका.

अगर अपडेट करने में बहुत ज़्यादा समय लगता है, तो भी अपडेट रद्द किए जा सकते हैं. हालांकि, रद्द किए गए (बचे हुए) अपडेट पर, दर को सीमित नहीं करता. अपडेट की दर सीमित है प्रति दिन ज़्यादा से ज़्यादा एक हो सकता है. नेटवर्क की गड़बड़ियों की वजह से पूरे नहीं हो पाने वाले अपडेट, एक घंटे बाद फिर से अपडेट करने की कोशिश करते हैं और जो अपडेट इंटरनेट से डिस्कनेक्ट होने के कारण विफल हो जाते हैं, उन्हें पुनः कनेक्ट करने पर तुरंत पुनः प्रयास किया जाता है.

मैन्‍युअल अपडेट

मौजूदा फ़्रेम के ऑरिजिन के मालिकाना हक वाले इंटरेस्ट ग्रुप से जुड़े अपडेट, इसके ज़रिए मैन्युअल तरीके से ट्रिगर किए जा सकते हैं navigator.updateAdInterestGroups(). रेट सीमित करने की सुविधा, बार-बार अपडेट होने से रोकती है: navigator.updateAdInterestGroups() को बार-बार कॉल करने से, दर सीमा तय होने तक कुछ नहीं होगा अवधि (फ़िलहाल एक दिन) बीत चुकी है. दर सीमा रीसेट हो जाती है अगर एक ही इंटरेस्ट ग्रुप owner और name के लिए, navigator.joinAdInterestGroup() को फिर से कॉल किया गया है.

अपने-आप होने वाले अपडेट

नीलामी के लिए लोड किए गए सभी इंटरेस्ट ग्रुप, नीलामी पूरी होने के बाद अपने-आप अपडेट हो जाते हैं, मैन्युअल अपडेट की दर पर भी लागू होती है. कम से कम एक इंटरेस्ट ग्रुप वाले हर मालिक के लिए नीलामी में हिस्सा लेते हुए, ऐसा लगता है कि navigator.updateAdInterestGroups() को iframe जिसका ऑरिजिन उस मालिक से मेल खाता है.

किसी इंटरेस्ट ग्रुप के लिए विज्ञापन बताएं

ads और adComponents ऑब्जेक्ट में, विज्ञापन क्रिएटिव का यूआरएल शामिल है. साथ ही, यह वैकल्पिक तौर पर आर्बिट्रेरी है ऐसा मेटाडेटा जिसे बिडिंग के समय इस्तेमाल किया जा सकता है. उदाहरण के लिए:

{
  renderUrl: 'https://cdn.example/.../bikeAd1.html',
  metadata: bikeAd1metadata // optional
}

खरीदार बिड कैसे करते हैं?

एक इंटरेस्ट ग्रुप के मालिक की ओर से biddingLogicUrl पर दी गई स्क्रिप्ट में एक generateBid() शामिल होना चाहिए फ़ंक्शन का इस्तेमाल करना होगा. जब कोई विज्ञापन स्पेस बेचने वाला विक्रेता navigator.runAdAuction() को कॉल करता है, तो generatedBid() फ़ंक्शन को हर उस रुचि समूह के लिए एक बार कॉल किया जाता है जिसका ब्राउज़र सदस्य है, अगर रुचि समूह के स्वामी को बोली लगाने के लिए आमंत्रित किया गया है. दूसरे शब्दों में, हर उम्मीदवार के लिए generateBid() का इस्तेमाल एक बार किया जाता है विज्ञापन सेलर, पास किए गए नीलामी कॉन्फ़िगरेशन पैरामीटर के लिए, decisionLogicUrl प्रॉपर्टी देता है navigator.runAdAuction() तक. इस URL के कोड में एक scoreAd() फ़ंक्शन शामिल होना चाहिए, जो नीलामी में हर बिडर के लिए लगाई जाती है. इसका मकसद, generateBid() में मिली हर बिड को स्कोर देना है.

biddingLogicUrl पर उपलब्ध किसी विज्ञापन-स्थान खरीदार की ओर से दी गई स्क्रिप्ट में एक generateBid() फ़ंक्शन शामिल होना चाहिए. हर उम्मीदवार के विज्ञापन के लिए इस फ़ंक्शन को एक बार कॉल किया जाता है. runAdAuction() विज्ञापन से जुड़ी बिड और मेटाडेटा के साथ-साथ हर विज्ञापन की अलग-अलग जांच करता है. इसके बाद, विज्ञापन को न्यूमेरिक डिज़ायरेबिलिटी स्कोर.

generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  ...
  return {
    ad: adObject,
    bid: bidValue,
    render: renderUrl,
    adComponents: [adComponentRenderUrl1, ...]
   };
}

generateBid() में ये आर्ग्युमेंट इस्तेमाल किए जाते हैं:


  • interestGroup विज्ञापन खरीदार ने ऑब्जेक्ट को joinAdInterestGroup() को पास किया. (इंटरेस्ट ग्रुप dailyUpdateUrl के ज़रिए अपडेट किया जा सकता है.)


  • auctionSignals नीलामी कॉन्फ़िगरेशन आर्ग्युमेंट की ऐसी प्रॉपर्टी जिसे पास किया गया है विज्ञापन स्पेस विक्रेता के हिसाब से navigator.runAdAuction(). इससे पेज के कॉन्टेक्स्ट के बारे में जानकारी मिलती है (जैसे, विज्ञापन का साइज़ और पब्लिशर आईडी), नीलामी का टाइप (फ़र्स्ट-प्राइस या सेकंड-प्राइस) वगैरह मेटाडेटा.


  • perBuyerSignals auctionSignals की तरह ही, नीलामी कॉन्फ़िगरेशन की प्रॉपर्टी विक्रेता ने navigator.runAdAuction() को पास किया था. इससे काम के नतीजे मिल सकते हैं खरीदार के सर्वर से पेज के बारे में सिग्नल, अगर सेलर एक ऐसा SSP है जो यह खरीदार के सर्वर को रीयल-टाइम बिडिंग कॉल करता है और रिस्पॉन्स से क्वेरी का जवाब देता है. अगर पब्लिशर पृष्ठ सीधे खरीदार के सर्वर से संपर्क करता है. अगर ऐसा है, तो खरीदार क्रिप्टोग्राफ़िक जांच छेड़छाड़ से सुरक्षा के लिए, generateबिड() में उन सिग्नल के हस्ताक्षर मौजूद होते हैं.


  • trustedBiddingSignals एक ऐसा ऑब्जेक्ट जिसकी कुंजियां trustedBiddingSignalsKeys इंटरेस्ट ग्रुप और जिसकी वैल्यू trustedBiddingSignals अनुरोध में दिखाई जाती हैं.


  • browserSignals ब्राउज़र का बनाया कोई ऑब्जेक्ट. इसमें पेज के बारे में जानकारी हो सकती है संदर्भ (जैसे, मौजूदा पेज का hostname, जिसे विक्रेता आम तौर पर नकली बना सकता है) और डेटा रुचि समूह के लिए (जैसे कि ग्रुप ने पिछली बार कब कोई नीलामी जीती थी), उपयोगकर्ता के डिवाइस पर फ़्रीक्वेंसी कैपिंग).

browserSignals ऑब्जेक्ट में ये प्रॉपर्टी हैं:

{
  topWindowHostname: 'publisher.example',
  seller: 'https://ssp.example',
  joinCount: 3,
  bidCount: 17,
  prevWins: [[time1,ad1],[time2,ad2],...],
  wasmHelper: ... /* WebAssembly.Module object based on interest group's biddingWasmHelperUrl. */
  dataVersion: 1, /* Data-Version value from the buyer's Key/Value service response(s). */
}

bid की वैल्यू कैलकुलेट करने के लिए, generateBid() में मौजूद कोड, फ़ंक्शन के एट्रिब्यूट का इस्तेमाल कर सकता है पैरामीटर का इस्तेमाल करें. उदाहरण के लिए:

function generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  return {
    ...
    bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
    ...
  }
}

generateBid() चार प्रॉपर्टी वाला कोई ऑब्जेक्ट दिखाता है:


  • ad विज्ञापन के बारे में आर्बिट्ररी मेटाडेटा, जैसे कि वह जानकारी जो विक्रेता को इस बिड के बारे में जानने की उम्मीद करता है या विज्ञापन क्रिएटिव होते हैं. विक्रेता](/privacy-sandbox/resources/faq#ssp) इस जानकारी का इस्तेमाल नीलामी और फ़ैसले में करता है विज्ञापन क्रिएटिव होते हैं. सेलर इस जानकारी का इस्तेमाल नीलामी और फ़ैसले में करता है लॉजिक.


  • bid संख्या वाली वह बोली जो नीलामी में शामिल होगी. विक्रेता की तुलना करने की स्थिति में होना चाहिए बोलियां अलग-अलग खरीदारों की ओर से सेट की जाती हैं, इसलिए बोलियां कुछ विक्रेता द्वारा चुनी गई इकाई में होनी चाहिए (उदा. "USD प्रति हज़ार"). यदि बोली शून्य या ऋणात्मक है, तो यह रुचि समूह इसमें भाग नहीं लेगा विक्रेता की नीलामी में शामिल हो सकता है. इस प्रणाली के साथ, खरीदार कहां के लिए कोई भी विज्ञापनदाता नियम लागू कर सकता है उनके विज्ञापन दिख भी सकते हैं या नहीं भी.


  • render यूआरएल या यूआरएल की सूची, जिसका इस्तेमाल क्रिएटिव को रेंडर करने के लिए किया जाएगा, अगर यह बिड नीलामी जीतती है. (कई हिस्सों से बने विज्ञापन देखें देखें.) वैल्यू, इनमें से किसी एक वैल्यू के renderUrl से मैच होनी चाहिए रुचि समूह के लिए तय किए गए विज्ञापन.


  • adComponents ज़्यादा से ज़्यादा 20 कॉम्पोनेंट की एक वैकल्पिक सूची, कई हिस्सों से मिलकर बने विज्ञापन, इंटरेस्ट ग्रुप आर्ग्युमेंट की adComponents प्रॉपर्टी से लिया गया navigator.joinAdInterestGroup() को पास किया गया.

ब्राउज़र से एक इंटरेस्ट ग्रुप छोड़ने के लिए कहना

इंटरेस्ट ग्रुप का मालिक, इंटरेस्ट ग्रुप से ब्राउज़र को हटाने का अनुरोध कर सकता है. अन्य शब्दों पर, ब्राउज़र को इंटरेस्ट ग्रुप को उन लोगों की सूची से हटाने के लिए कहा जाता है जिनका वह सदस्य है.

navigator.leaveAdInterestGroup({
  owner: 'https://dsp.example',
  name: 'custom-bikes'
});

अगर कोई उपयोगकर्ता ऐसी साइट पर वापस आता है जिसने ब्राउज़र से एक इंटरेस्ट ग्रुप जोड़ने के लिए कहा है, तो इंटरेस्ट ग्रुप का मालिक ब्राउज़र को इंटरेस्ट ग्रुप हटाने का अनुरोध करने के लिए, navigator.leaveAdInterestGroup() फ़ंक्शन को कॉल कर सकता है. किसी विज्ञापन का कोड, इस फ़ंक्शन को उसके इंटरेस्ट ग्रुप के लिए भी कॉल कर सकता है.

3. उपयोगकर्ता किसी ऐसी साइट पर जाता है जो विज्ञापन स्पेस बेचती है

इलस्ट्रेशन में एक व्यक्ति को अपने लैपटॉप पर ब्राउज़र में किसी न्यूज़ वेबसाइट पर जाते हुए दिखाया गया है. साइट
  में एक रिक्त विज्ञापन स्लॉट है.

इसके बाद, उपयोगकर्ता विज्ञापन स्पेस बेचने वाली साइट पर जाता है. उदाहरण के लिए, यह एक समाचार वेबसाइट है. इस साइट पर विज्ञापन इन्वेंट्री, जिसे यह प्रोग्राम के हिसाब से, अपने-आप होने वाली प्रोसेस के ज़रिए बेचता है रीयल-टाइम बिडिंग.

4. विज्ञापन नीलामी ब्राउज़र में चलती है

इलस्ट्रेशन में एक व्यक्ति अपने लैपटॉप पर ब्राउज़र में न्यूज़ वेबसाइट देख रहा है. विज्ञापन है
  Protected Audience API का इस्तेमाल करके, नीलामी की जा रही है.

पूरी जानकारी देने वाला सेक्शन: विक्रेता, डिवाइस पर नीलामी करते हैं

विज्ञापन नीलामी को पब्लिशर का SSP, या खुद प्रकाशक हैं. नीलामी का मकसद किसी एक विज्ञापन के लिए, सबसे सही विज्ञापन चुनना होता है वर्तमान पेज पर उपलब्ध विज्ञापन स्लॉट. नीलामी में उन इंटरेस्ट ग्रुप को ध्यान में रखा जाता है ब्राउज़र, कुंजी/वैल्यू सेवाओं के सेलर और विज्ञापन स्पेस के खरीदारों से मिलने वाले डेटा का सदस्य है.

विज्ञापन स्पेस विक्रेता, उपयोगकर्ता के ब्राउज़र को कॉल करके विज्ञापन नीलामी शुरू करने का अनुरोध करता है navigator.runAdAuction().

उदाहरण के लिए:

const auctionConfig = {
  seller: 'https://ssp.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://dsp.example': {...},
    'https://another-buyer.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://dsp.example': 50,
    'https://another-buyer.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://some-other-ssp.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ]
};

const auctionResultPromise = navigator.runAdAuction(auctionConfig);

runAdAuction() ऐसा प्रॉमिस देता है जो URN (urn:uuid:<something>) की वैल्यू दिखाता है, जो विज्ञापन नीलामी के नतीजे. इसे ब्राउज़र से सिर्फ़ तब डिकोड किया जा सकता है, जब इसे फ़ेंस किए गए फ़्रेम में पास किया गया हो रेंडरिंग के लिए: पब्लिशर पेज, जीतने वाले विज्ञापन की जांच नहीं कर सकता.

decisionLogicUrl स्क्रिप्ट में हर विज्ञापन को, उससे जुड़ी बिड और मेटाडेटा को एक-एक करके असाइन किया जाता है. इसके बाद, उसे संख्या के हिसाब से पसंद के मुताबिक स्कोर दिया जाता है.

auctionConfig प्रॉपर्टी

प्रॉपर्टी ज़रूरी है उदाहरण भूमिका
seller ज़रूरी है 'https://ssp.example' सेलर का ऑरिजिन.
decisionLogicUrl ज़रूरी है 'https://ssp.example/auction-decision-logic.js' नीलामी वर्कलेट JavaScript के लिए यूआरएल.
trustedScoringSignalsUrl वैकल्पिक 'https://ssp.example/scoring-signals' विक्रेता के भरोसेमंद सर्वर का यूआरएल.
interestGroupBuyers* ज़रूरी है ['https://dsp.example', 'https://buyer2.example', ...] इंटरेस्ट ग्रुप के उन सभी मालिकों के ऑरिजिन जिन्हें नीलामी में बिड करने के लिए कहा गया है.
auctionSignals वैकल्पिक {...} पेज के कॉन्टेक्स्ट, नीलामी के टाइप वगैरह के बारे में सेलर की जानकारी.
sellerSignals वैकल्पिक {...} पब्लिशर सेटिंग पर आधारित जानकारी, संदर्भ के हिसाब से विज्ञापन का अनुरोध करना वगैरह.
sellerTimeout वैकल्पिक 100 विक्रेता की scoreAd() स्क्रिप्ट का ज़्यादा से ज़्यादा रनटाइम (मि॰से॰).
perBuyerSignals वैकल्पिक {'https://dsp.example': {...},
  'https://another-buyer.example': {...},
...}
हर खरीदार के लिए, पेज के बारे में काम के सिग्नल. ये सिग्नल सर्वर से मिलते हैं.
perBuyerTimeouts वैकल्पिक 50 विशेष खरीदार की generateBid() स्क्रिप्ट का अधिकतम रनटाइम (ms).
componentAuctions वैकल्पिक [{'seller': 'https://www.some-other-ssp.com',
  'decisionLogicUrl': ..., ...},
  ...]
कॉम्पोनेंट की नीलामियों के लिए अन्य कॉन्फ़िगरेशन.

* विक्रेता सभी इंटरेस्ट ग्रुप को बिड करने की अनुमति देने के लिए, interestGroupBuyers: '*' तय कर सकता है. इसके बाद, इंटरेस्ट ग्रुप के मालिक को शामिल करने के अलावा, किसी दूसरी शर्त के आधार पर विज्ञापनों को स्वीकार या अस्वीकार किया जाता है. उदाहरण के लिए, सेलर अपनी नीतियों के पालन की पुष्टि करने के लिए, विज्ञापन क्रिएटिव की समीक्षा कर सकता है.

** additionalBids सुरक्षित ऑडियंस को लागू करने के मौजूदा तरीके में काम नहीं करता. नीलामी पढ़ें हिस्सा लेने वाले लोगों सेक्शन में Protected Audience से जुड़ी ज़्यादा जानकारी देने वाला डायलॉग बॉक्स.

विज्ञापन कैसे चुने जाते हैं?

decisionLogicUrl पर कोड (नीलामी कॉन्फ़िगरेशन ऑब्जेक्ट की एक प्रॉपर्टी जिसे पास किया गया है runAdAuction()) में scoreAd() फ़ंक्शन होना चाहिए. यह हर विज्ञापन के लिए एक बार चलाया जाता है कि वह कितना सही है.

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
  ...
  return desirabilityScoreForThisAd;
}

scoreAd() में ये आर्ग्युमेंट इस्तेमाल किए जाते हैं:


  • adMetadata खरीदार से मिला आर्बिट्ररी मेटाडेटा.

  • bid एक अंकीय बोली मान.

  • auctionConfig नीलामी कॉन्फ़िगरेशन ऑब्जेक्ट navigator.runAdAuction() को पास किया गया.

  • trustedScoringSignals नीलामी के समय विक्रेता के भरोसेमंद सर्वर से मिली वैल्यू, विज्ञापन के बारे में विक्रेता की राय का प्रतिनिधित्व करती है.

  • browserSignals कोई ऐसा ऑब्जेक्ट जिसे ब्राउज़र ने बनाया है. इसमें वह जानकारी भी शामिल होती है जो ब्राउज़र ने पता है और विक्रेता की नीलामी स्क्रिप्ट जिसकी पुष्टि करना चाहती है:
{
  topWindowHostname: 'publisher.example',
  interestGroupOwner: 'https://dsp.example',
  renderUrl: 'https://cdn.example/render',
  adComponents: ['https://cdn.com/ad-component-1', ...],
  biddingDurationMsec: 12,
  dataVersion: 1 /* Data-Version value from the seller's Key/Value service response. */
}

नीलामी शुरू होने से पहले, विक्रेता उपलब्ध विज्ञापन स्लॉट के लिए सबसे अच्छा प्रासंगिक विज्ञापन खोजता है. इसका हिस्सा है इसका scoreAd() तर्क ऐसे किसी भी विज्ञापन को अस्वीकार करना है जो प्रासंगिक विजेता को पीछे नहीं छोड़ सकता.

5. विक्रेता और हिस्सा लेने वाले खरीदारों को कुंजी/वैल्यू सेवा से रीयलटाइम डेटा मिलता है

इलस्ट्रेशन में एक व्यक्ति अपने लैपटॉप पर ब्राउज़र में न्यूज़ वेबसाइट देख रहा है. विज्ञापन है
  Protected Audience API का इस्तेमाल करके नीलामी हो रही है. इसमें हिस्सा लेने वाले व्यक्ति को पासकोड/वैल्यू सेवा से डेटा मिलता है.

पूरी जानकारी देने वाला सेक्शन: Protected Audience Key/Value Service से रीयल-टाइम डेटा फ़ेच करना.

विज्ञापन नीलामी के दौरान, विज्ञापन स्पेस विक्रेता, खास विज्ञापन क्रिएटिव के बारे में रीयल टाइम डेटा हासिल कर सकता है. इसकी trustedScoringSignalsUrl प्रॉपर्टी का इस्तेमाल करके, कुंजी/वैल्यू सेवा को अनुरोध भेजकर नीलामी कॉन्फ़िगरेशन तर्क को कुंजियों के साथ navigator.runAdAuction() को पास किया गया ads और adComponents फ़ील्ड की सभी एंट्री की renderUrl प्रॉपर्टी से नीलामी में इंटरेस्ट ग्रुप शामिल करते हैं.

इसी तरह, विज्ञापन स्पेस का खरीदार कुंजी/वैल्यू सेवा से रीयल टाइम डेटा का अनुरोध कर सकता है. इसके लिए, वह इंटरेस्ट ग्रुप आर्ग्युमेंट की trustedBiddingSignalsUrl और trustedBiddingSignalsKeys प्रॉपर्टी navigator.joinAdInterestGroup() को पास किया गया.

runAdAuction() को कॉल करने पर, ब्राउज़र हर विज्ञापन खरीदार के भरोसेमंद सर्वर को एक अनुरोध भेजता है. कॉन्टेंट बनाने अनुरोध का यूआरएल ऐसा हो सकता है:

https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
  • बेस यूआरएल, trustedBiddingSignalsUrl से मिलता है.
  • hostname को ब्राउज़र उपलब्ध कराता है.
  • keys की वैल्यू, trustedBiddingSignalsKeys से ली जाती है.

इस अनुरोध का रिस्पॉन्स एक JSON ऑब्जेक्ट है, जो हर कुंजी के लिए वैल्यू देता है.

6. जीतने वाला विज्ञापन दिखाया जाता है

इलस्ट्रेशन में एक व्यक्ति अपने लैपटॉप पर ब्राउज़र में न्यूज़ वेबसाइट देख रहा है. विज्ञापन है
  बाइक के लिए (20% की छूट) दिखाई देता है—इसके ऊपर एक लॉक दिखाया गया है जिससे
  फ़ेंस वाला फ़्रेम.

पूरी जानकारी देने वाला सेक्शन: ब्राउज़र, जीतने वाले विज्ञापन को रेंडर करते हैं

जैसा कि पहले बताया गया है: runAdAuction() से मिलने वाला प्रॉमिस, URN में बदल जाता है जिसे रेंडरिंग के लिए फ़ेंस किए गए फ़्रेम पर भेजा जाता है और साइट सबसे अच्छा परफ़ॉर्म करने वाला विज्ञापन.

7. नीलामी के नतीजे की रिपोर्ट दी गई

पूरी जानकारी देने वाला सेक्शन: इवेंट-लेवल की रिपोर्टिंग (अभी के लिए)

सेलर की शिकायत का नतीजा

पूरी जानकारी देने वाला सेक्शन: रेंडर के दौरान सेलर की रिपोर्टिंग

decisionLogicUrl में दिया गया विक्रेता का JavaScript (जिसमें scoreAd() भी दिया गया है) नीलामी के परिणाम की रिपोर्ट करने के लिए, एक reportResult() फ़ंक्शन शामिल करें.

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

इस फ़ंक्शन में पास किए जाने वाले आर्ग्युमेंट, ये हैं:


  • auctionConfig नीलामी कॉन्फ़िगरेशन ऑब्जेक्ट navigator.runAdAuction() को पास किया गया.


  • browserSignals नीलामी के बारे में जानकारी देने वाले ब्राउज़र से बनाया गया ऑब्जेक्ट. उदाहरण के लिए:

    {
      'topWindowHostname': 'publisher.example',
      'interestGroupOwner': 'https://dsp.example',
      'renderUrl': 'https://cdn.example/url-of-winning-creative.wbn',
      'bid:' <bidValue>,
      'desirability': <winningAdScore>
    }
    

इस फ़ंक्शन की रिटर्न वैल्यू का इस्तेमाल बिड जीतने वाले बिडर के लिए sellerSignals आर्ग्युमेंट के तौर पर किया जाता है reportWin() फ़ंक्शन.

जीतने वाले बिडर की रिपोर्ट के नतीजे

पूरी जानकारी देने वाला सेक्शन: रेंडर और विज्ञापन इवेंट के बारे में खरीदार की रिपोर्टिंग

जीतने वाले बिडर की JavaScript (जिसने generateBid() भी दिया है) में reportWin() फ़ंक्शन का इस्तेमाल करके नीलामी के नतीजे की रिपोर्ट की जाती है.

reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals) {
  ...
}

इस फ़ंक्शन में पास किए जाने वाले आर्ग्युमेंट, ये हैं:

  • auctionSignals और perBuyerSignals
    जीतने वाली बिडर के लिए, वही वैल्यू generateBid() को पास की गई हैं.

  • sellerSignals reportResult() की रिटर्न वैल्यू, जिससे सेलर को खरीदार को जानकारी भेजने का अवसर दे सकते हैं.

  • browserSignals नीलामी के बारे में जानकारी देने वाले ब्राउज़र से बनाया गया ऑब्जेक्ट. उदाहरण के लिए:

    {
      'topWindowHostname': 'publisher.example',
      'seller': 'https://ssp.example',
      'interestGroupOwner': 'https://dsp.example',
      'interestGroupName': 'custom-bikes',
      'renderUrl': 'https://cdn.example/winning-creative.wbn',
      'bid:' <bidValue>
    }
    

कुछ समय के लिए नुकसान/जीत की रिपोर्टिंग लागू करना

कुछ समय के लिए, नीलामी की रिपोर्ट बनाने के लिए Chrome में दो तरीके उपलब्ध हैं:

  • forDebuggingOnly.reportAdAuctionLoss()
  • forDebuggingOnly.reportAdAuctionWin()

इन तरीकों में से हर तरीके में सिर्फ़ एक तर्क दिया जाता है: नीलामी पूरी होने के बाद फ़ेच किया जाने वाला यूआरएल. वे ये काम कर सकते हैं को अलग-अलग URL आर्ग्युमेंट के साथ, scoreAd() और generateBid() दोनों में एक से ज़्यादा बार कॉल किया जाना चाहिए.

Chrome, डीबग लॉस/जीत की रिपोर्ट सिर्फ़ तब भेजता है, जब नीलामी पूरी हो जाती है. अगर कोई नीलामी रद्द हो जाने पर (उदाहरण के लिए, नए नेविगेशन की वजह से), कोई रिपोर्ट जनरेट नहीं होगी.

ये तरीके Chrome में डिफ़ॉल्ट रूप से उपलब्ध होते हैं. तरीकों की जांच करने के लिए, chrome://settings/adPrivacy में विज्ञापन देखने वाले की निजता बनाए रखने वाले सभी एपीआई चालू करें. अगर Protected Audience को चालू करने के लिए, Chrome को कमांड लाइन फ़्लैग के साथ चलाया जा रहा है, तो आपको BiddingAndScoringDebugReportingAPI फ़्लैग को शामिल करके, तरीकों को साफ़ तौर पर चालू करें. अगर फ़्लैग करने का विकल्प चालू नहीं है, तब भी तरीके उपलब्ध होंगे, लेकिन कुछ न करें.

8. विज्ञापन क्लिक की सूचना दी जाती है

इलस्ट्रेशन
  एक व्यक्ति, न्यूज़ वेबसाइट पर बाड़े से घिरे फ़्रेम में, रिपोर्ट के साथ बाइक के विज्ञापन पर क्लिक करता है
  वाला डेटा होता है.

फ़ेंस किए गए फ़्रेम में रेंडर किए गए विज्ञापन पर होने वाले क्लिक को रिपोर्ट किया जाता है. यह कैसे काम कर सकता है, इस बारे में ज़्यादा जानने के लिए, फ़ेंस किए गए फ़्रेम के विज्ञापनों की रिपोर्टिंग देखें.



नीचे दिए गए डायग्राम में, Protected Audience से जुड़ी विज्ञापन नीलामी के हर चरण के बारे में बताया गया है:

इस इमेज में, Protected Audience से जुड़ी विज्ञापन नीलामी के हर चरण के बारे में खास जानकारी दी गई है


Protected Audience और TURTLEDOVE में क्या अंतर है?

Protected Audience, प्रपोज़ल के TURTLEDOVE ग्रुप में, Chromium में लागू किया जाने वाला पहला प्रयोग है.

Protected Audience, TURTLEDOVE के हाई-लेवल सिद्धांतों का पालन करता है. कुछ ऑनलाइन विज्ञापन, विज्ञापन देने वाले या विज्ञापन नेटवर्क कंपनी से इंटरैक्ट करने में दिलचस्पी रखने वाले किसी व्यक्ति को विज्ञापन दिखाने पर आधारित होते हैं. पहले यह विज्ञापन देने वालों के लिए काम करता था, ताकि वे किसी खास व्यक्ति को वेब साइटों पर ब्राउज़ करने के दौरान उसकी पहचान कर सकें. यह आज के वेब के लिए निजता की एक प्रमुख चिंता है.

TURTLEDOVE की कोशिश, इस इस्तेमाल के उदाहरण के लिए नया एपीआई उपलब्ध कराने के साथ-साथ निजता से जुड़े कुछ अहम बदलाव लाने पर है:

  • विज्ञापन देने वाला नहीं, बल्कि ब्राउज़र के पास यह जानकारी होती है कि विज्ञापन देने वाला व्यक्ति क्या सोचता है व्यक्ति की दिलचस्पी है.
  • विज्ञापनदाता किसी रुचि के आधार पर विज्ञापन दिखा सकते हैं, लेकिन उस रुचि को अन्य किसी व्यक्ति के बारे में जानकारी — खास तौर पर, यह जानकारी कि वे कौन हैं या वे किस पेज पर जा रहे हैं.

Protected Audience में TURTLEDOVE की शुरुआत हुई और इससे जुड़े प्रस्तावों का कलेक्शन हुआ, ताकि एपीआई का इस्तेमाल करने वाले डेवलपर को बेहतर तरीके से मदद मिल सके:

  • SPARROW में: Criteo ने सुझाव दिया कि ("गेटकीपर") का सेवा मॉडल, जो ट्रस्टेड एक्ज़ीक्यूशन एनवायरमेंट (टीईई) में चल रहा है. Protected Audience में, रीयल-टाइम डेटा लुकअप और एग्रीगेटेड रिपोर्टिंग के लिए, TEE का ज़्यादा सीमित इस्तेमाल किया जा सकता है.
  • NextRoll का TERN और Magnite का पैरॉट प्रस्तावों ने डिवाइस पर नीलामी में खरीदारों और विक्रेताओं की अलग-अलग भूमिकाओं की जानकारी दी. Protected Audience में विज्ञापन की बिडिंग/स्कोरिंग का फ़्लो, इस काम पर आधारित होता है.
  • RTB House के नतीजे पर आधारित और प्रॉडक्ट-लेवल TURTLEDOVE बदलाव करने से, पहचान छिपाने वाले मॉडल और उपयोगकर्ता के डिवाइस पर नीलामी से जुड़ी सुविधाओं को बेहतर बनाने में मदद मिली है
  • PARAKEET TURTLEDOVE जैसी विज्ञापन सेवा के लिए Microsoft का प्रस्ताव, जो TEE में चल रहे प्रॉक्सी सर्वर पर निर्भर करता है विज्ञापन अनुरोधों की पहचान छिपाने और निजता लागू करने के लिए, ब्राउज़र और AdTech की सेवा देने वाली कंपनियों के बीच प्रॉपर्टी. Protected Audience ने इस प्रॉक्सी मॉडल का इस्तेमाल नहीं किया है. हम JavaScript API जोड़ रहे हैं साथ ही, आने वाले समय में बेहतर तरीके से एक-दूसरे की मदद करने के लिए, दोनों प्रस्तावों की विशेषताएं शामिल हैं.

Protected Audience फ़िलहाल किसी वेबसाइट के विज्ञापन नेटवर्क को यह जानने से नहीं रोकता कि कोई व्यक्ति कौनसे विज्ञापन देखता है. हमें उम्मीद है का इस्तेमाल करें.

ब्राउज़र का कौनसा कॉन्फ़िगरेशन उपलब्ध है?

Chrome में प्राइवसी सैंडबॉक्स के ट्रायल के लिए, उपयोगकर्ता अपनी भागीदारी में बदलाव कर सकते हैं. इसके लिए, उन्हें यह सुविधा चालू या बंद करनी होगी chrome://settings/adPrivacy में टॉप-लेवल सेटिंग पर जाएं. शुरुआती टेस्टिंग के दौरान, लोग Protected Audience से ऑप्ट आउट करने के लिए, प्राइवसी सैंडबॉक्स की इस बेहतर सेटिंग का इस्तेमाल कर पाएगा. Chrome को अनुमति देने वाला प्लान उपयोगकर्ता, पूरे वेब पर जोड़े गए इंटरेस्ट ग्रुप की सूची को देख और मैनेज कर सकते हैं साइटों पर जाते हैं. प्राइवसी सैंडबॉक्स की टेक्नोलॉजी की तरह ही, उपयोगकर्ता सेटिंग में उपयोगकर्ताओं, रेगुलेटर, और अन्य लोगों से मिलने वाले सुझावों, शिकायतों या राय के हिसाब से बदलाव करते रहते हैं.

जैसे-जैसे सुरक्षित ऑडियंस के प्रपोज़ल की प्रोग्रेस आगे बढ़ेगी, हम Chrome में उपलब्ध सेटिंग को अपडेट करते रहेंगे. का इस्तेमाल करने के बारे में सलाह देते हैं. आने वाले समय में, हम Protected Audience और उससे जुड़े डेटा को मैनेज करने के लिए, ज़्यादा जानकारी वाली सेटिंग उपलब्ध कराएंगे.

जब उपयोगकर्ता गुप्त मोड में ब्राउज़ करते हैं, तब एपीआई कॉलर, ग्रुप की सदस्यता ऐक्सेस नहीं कर सकते. साथ ही, सदस्यता लेने पर उपयोगकर्ताओं के अपना साइट डेटा मिटाने पर, उन्हें हटा दिया जाता है.



दिलचस्पी बढ़ाएं और सुझाव दें

सहायता पाएं

लागू करने की प्रक्रिया, डेमो या दस्तावेज़ के बारे में कोई सवाल पूछने के लिए:

Chrome में Protected Audience API को लागू करने से जुड़ी गड़बड़ियों और समस्याओं के लिए: * मौजूदा समस्याएं देखें एपीआई के लिए रिपोर्ट किया गया. * crbug.com/new पर जाकर नई समस्या के बारे में बताएं.

अपडेट पाएं

ज़्यादा जानें


Unस्प्लैश पर रे हेनेसी की फ़ोटो.