शेयर किए गए स्टोरेज में इकट्ठा किए गए डेटा के आधार पर कोई यूआरएल चुनें और कॉन्टेंट को फ़ेंस किए गए फ़्रेम में रेंडर करें.
Shared Storage API की मदद से, किसी यूआरएल को चुना जा सकता है, ताकि उसे क्रॉस-साइट डेटा का इस्तेमाल करके फ़ेंस किए गए फ़्रेम में रेंडर किया जा सके. क्रॉस-साइट डेटा को पढ़ने और उसमें बदलाव करने के लिए, JavaScript का इस्तेमाल करें. इसके बाद, सेव किए गए डेटा के आधार पर, दी गई सूची से कोई यूआरएल चुनें. उस यूआरएल को फ़ेंस किए गए फ़्रेम में रेंडर किया जा सकता है.
यूआरएल के तौर पर, किसी भी तरह का कॉन्टेंट चुना जा सकता है: विज्ञापन, लेख, इमेज, एचटीएमएल, कॉल-टू-ऐक्शन (जैसे, बटन) वगैरह.
उदाहरण के लिए, मान लें कि आपके पास एक ट्रैवल साइट है और आपने तीन अलग-अलग विज्ञापन क्रिएटिव के साथ एक विज्ञापन कैंपेन चलाया है. आपको उपयोगकर्ता के इंटरैक्शन (व्यू या क्लिक) के आधार पर, इन क्रिएटिव का क्रम तय करना है.
जब कोई उपयोगकर्ता पहली बार विज्ञापन के लिए उपलब्ध जगह देखता है, तो शेयर किए गए स्टोरेज में उस क्रिएटिव के लिए आईडी और क्लिक की स्थिति सेव की जा सकती है. इसका मतलब है कि जब आपने उस उपयोगकर्ता की विज़िट की गई अन्य साइटों पर विज्ञापन नीलामी जीती है, तो उस डेटा के आधार पर कोई दूसरा विज्ञापन दिखाया जा सकता है.
यह जानकारी पाने के लिए, आपका JavaScript वर्कलेट में चलता है. हालांकि, आपका कोड पैरंट पेज पर मौजूद iframe या फ़ेंस किए गए फ़्रेम के बाहर इंटरैक्ट या कम्यूनिकेट नहीं कर सकता.
आइए, एक और उदाहरण देखते हैं. मान लें कि आपको यह पता करना है कि एम्बेड किए गए कॉन्टेक्स्ट में कौनसा लेख बेहतर परफ़ॉर्म करेगा. जब आपको अपनी साइट पर कोई उपयोगकर्ता दिखे, तो उसे किसी एक्सपेरिमेंट ग्रुप में असाइन किया जा सकता है. इसके बाद, उस ग्रुप आईडी को शेयर किए गए स्टोरेज में सेव किया जा सकता है, ताकि उसे अलग-अलग साइटों के संदर्भ में ऐक्सेस किया जा सके. किसी दूसरी साइट पर, आपका फ़ेंस किया गया फ़्रेम, उस उपयोगकर्ता के प्रयोग ग्रुप के आधार पर यूआरएल चुन सकता है. यह यूआरएल, शेयर किए गए स्टोरेज में सेव किया गया होता है.
शेयर किए गए स्टोरेज की मदद से, अलग-अलग साइटों के डेटा के आधार पर बेहतर फ़ैसले लिए जा सकते हैं. इसके लिए, आपको उपयोगकर्ता की जानकारी (जैसे, ब्राउज़र इतिहास या अन्य निजी जानकारी) को एम्बेड करने वाली साइट के साथ शेयर करने या अपने सर्वर पर डेटा एक्सफ़िल्टर करने की ज़रूरत नहीं होती.
उपयोग के उदाहरण
शेयर किए गए स्टोरेज में मौजूद यूआरएल चुनने की सुविधा, इन कामों में मदद करती है:
- विज्ञापन क्रिएटिव घुमाना:
क्रिएटिव आईडी और उपयोगकर्ता इंटरैक्शन जैसे डेटा को सेव करके, यह तय किया जा सकता है कि उपयोगकर्ताओं को अलग-अलग साइटों पर कौनसा क्रिएटिव दिखे.
- फ़्रीक्वेंसी. ब्राउज़र व्यू की संख्या को शेयर किए गए स्टोरेज में सेव किया जा सकता है. साथ ही, इसका इस्तेमाल यह तय करने के लिए किया जा सकता है कि उपयोगकर्ता को कौनसा क्रिएटिव दिखाया जाए.
- A/B टेस्टिंग करना: किसी उपयोगकर्ता को एक्सपेरिमेंट ग्रुप में असाइन करें. इसके बाद, उस ग्रुप आईडी को शेयर किए गए स्टोरेज में सेव करें, ताकि उसे अलग-अलग साइटों से ऐक्सेस किया जा सके.
- उपयोगकर्ता अनुभव को पसंद के मुताबिक बनाएं: उपयोगकर्ता के रजिस्ट्रेशन स्टेटस या पुष्टि की अन्य स्थितियों के आधार पर, कस्टम कॉन्टेंट और कॉल-टू-ऐक्शन शेयर करें.
बजट मैनेज करना
अलग-अलग साइटों पर डेटा लीक होने के जोखिम को कम करने के लिए, Select URL API लंबे और छोटे समय के बजट के कॉम्बिनेशन वाले बजट सिस्टम का इस्तेमाल करता है:
- लंबे समय के लिए बजट:
selectURL()
का इस्तेमाल करते समय, हर कॉलर-साइट के लिए हर दिन 12 बिट का बजट. यह बजट सिर्फ़ तब कटता है, जब चुने गए यूआरएल को होस्ट करने वाला फ़्रेम, टॉप-लेवल नेविगेशन करता है. इसकी लागत का हिसाबlog2(number of URLs)
के हिसाब से लगाया जाता है. इसलिए, अगर आपने चुनने के लिए आठ यूआरएल दिए हैं, तो लागत तीन बिट होगी. दिन के लिए बचे हुए बजट का हिसाब12 - (sum of bits deducted in the last 24 hours)
के तौर पर लगाया जाता है. अगर बजट काफ़ी नहीं है, तो डिफ़ॉल्ट यूआरएल (सूची में पहला यूआरएल) दिखाया जाता है. अगर डिफ़ॉल्ट यूआरएल पर नेविगेट किया जाता है, तो एक बिट लॉग किया जाता है. कुछ समय के लिए बजट: हर पेज लोड के हिसाब से अतिरिक्त सीमाएं. हर कॉल करने वाली साइट के लिए, हर पेज लोड पर 6 बिट का बजट होता है. इससे यह तय होता है कि कोई कॉल करने वाली साइट,
selectURL()
का इस्तेमाल करके कितनी जानकारी लीक कर सकती है. इसके अलावा, हर पेज लोड के लिए कुल 12 बिट का बजट भी होता है. यह एक पेज पर मौजूद सभी कॉलिंग साइटों के लिए तय की गई कुल सीमा होती है.सेव की गई क्वेरी की मदद से, उसी पेज पर पिछले
selectURL()
नतीजे का फिर से इस्तेमाल किया जा सकता है. इससे, कम अवधि के बजट के इस्तेमाल में कमी आती है. जबselectURL()
को सेव की गई क्वेरी के नाम के साथ पहली बार कॉल किया जाता है, तो नतीजों का इंडेक्स, पेज के लाइफ़टाइम के लिए सेव किया जाएगा. फ़ॉलो-अप कॉल के लिए,selectURL()
को सेव की गई उसी क्वेरी के नाम के साथ कॉल करने पर, सेव किया गया इंडेक्स दिखाया जाएगा और रजिस्टर किया गया ऑपरेशन नहीं चलेगा. इस मामले में, बजट का इस्तेमाल सिर्फ़ पहली बार किए जाने पर किया जाएगा. हालांकि, एक ही पेज लोड होने के दौरान, फिर से इस्तेमाल करने पर बजट का इस्तेमाल नहीं किया जाएगा. ऐसा इसलिए, क्योंकि कोई नई जानकारी नहीं दिखती.सेव की गई क्वेरी को लागू करने के लिए, विकल्प ऑब्जेक्ट में अपनी चुनी गई क्वेरी के नाम के साथ
savedQuery
प्रॉपर्टी जोड़ें. इसका उदाहरण यहां दिया गया है.
फ़्लैग का इस्तेमाल करेंconst topProductUrls = [ { url: 'https://ad.example/default-top-product.html' }, { url: 'https://ad.example/experiment-top-product.html' }]; const relatedProductUrls = [ { url: 'https://ad.example/default-related-product.html' }, { url: 'https://ad.example/experiment-related-product.html' }]; // This is the first call to `selectURL()` with `savedQuery: 'control_or_experiment'` // on this page, so it will be charged to both per-page budgets. const topProductsConfig = await sharedStorage.selectURL( 'productExperiment', topProductUrls, { savedQuery: 'control_or_experiment', keepAlive: true, resolveToConfig: true }); document.getElementById('topProductsFencedFrame').config = topProductsConfig; // This next call with this savedQuery won't charge either of the per-page budgets. const relatedProductConfig = await sharedStorage.selectURL( 'productExperiment', relatedProductUrls, { savedQuery: 'control_or_experiment', resolveToConfig: true }); document.getElementById("relatedProductFencedFrame").config = relatedProductConfig;
यूआरएल चुनने की सुविधा आज़माएं
शेयर किए गए स्टोरेज एपीआई की मदद से यूआरएल चुनने की सुविधा, Chrome Canary/Dev/Beta M105 और उसके बाद के वर्शन में टेस्ट करने के लिए उपलब्ध है. यूआरएल चुनने की सुविधा को टेस्ट करने के लिए, chrome://settings/adPrivacy
में जाकर विज्ञापन की निजता से जुड़े सभी एपीआई चालू करें.
डेमो आज़माना
इसका डेमो उपलब्ध है. साथ ही, GitHub पर कोड की समीक्षा की जा सकती है.
यह डेमो, विज्ञापन देने वाले, विज्ञापन टेक्नोलॉजी, कॉन्टेंट डिस्ट्रिब्यूटर या तीसरे पक्ष की ऐसी सेवा के नज़रिए से बनाया गया है जो अलग-अलग पब्लिशर की साइटों पर जानकारी सेव करना चाहती है. डेमो में, हर इस्तेमाल के उदाहरण के लिए, तीसरे पक्ष का एक ही कोड, पब्लिशर A और पब्लिशर B, दोनों साइटों पर चलता है. क्रॉस-साइट कॉन्टेक्स्ट में डेटा शेयर करने का तरीका जानने के लिए, हर पब्लिशर के पेज पर जाएं.
दिलचस्पी बढ़ाएं और सुझाव दें
शेयर किए गए स्टोरेज के प्रस्ताव पर चर्चा जारी है और इसमें बदलाव हो सकता है आने वाले समय में. अगर आपने इस एपीआई को आज़माया है और आपके पास कोई सुझाव है, तो हमें ज़रूर बताएं.
- GitHub: पढ़ें प्रपोज़ल, व्हाइट पेपर पर जाएं, सवाल पूछें, और चर्चा में हिस्सा लें.
- Shared Storage API के बारे में सूचनाएं: हमारी ईमेल पाने वाले लोगों की सूची से जुड़ी सूचनाएं देखें या उनमें शामिल हों
- डेवलपर सहायता: इस ऐप्लिकेशन पर सवाल पूछें और चर्चाओं में शामिल हों Privacy Sandbox के लिए डेवलपर सहायता का डेटा स्टोर करने की जगह.