शेयर किए गए स्टोरेज और निजी एग्रीगेशन को लागू करने के लिए क्विकस्टार्ट

यह दस्तावेज़, शेयर किए गए स्टोरेज और निजी एग्रीगेशन का इस्तेमाल करने के लिए, क्विक स्टार्ट गाइड है. आपको दोनों एपीआई के बारे में जानकारी होनी चाहिए, क्योंकि शेयर किया गया स्टोरेज वैल्यू को सेव करता है और Private Aggregation एग्रीगेट की जा सकने वाली रिपोर्ट बनाता है.

टारगेट ऑडियंस: विज्ञापन टेक्नोलॉजी और मेज़रमेंट की सेवा देने वाली कंपनियां.

डेमो आज़माएं

लाइव डेमो आज़माएं. यह तरीका अपनाएं डेमो निर्देशों में दिए गए निर्देशों का पालन करें. Chrome DevTools खोलने से, अलग-अलग इस्तेमाल के उदाहरणों के नतीजों को विज़ुअलाइज़ करने में मदद मिलती है. इस्तेमाल के उदाहरण डेमो में उपलब्ध है:

  • निजी एग्रीगेशन
    • यूनीक रीच का मेज़रमेंट
    • डेमोग्राफ़िक्स मेज़रमेंट
    • K+ फ़्रीक्वेंसी मेज़रमेंट
  • सामान्य इस्तेमाल
    • फ़ेंस किए गए फ़्रेम के अंदर होवर-ओवर इवेंट को मापें
    • टॉप-लेवल नेविगेशन
    • यह कंट्रोल करना कि तीसरे पक्ष कहां लिख सकते हैं

शेयर किया गया स्टोरेज देखने का तरीका

शेयर किए गए स्टोरेज में सेव की गई जानकारी देखने के लिए, Chrome DevTools का इस्तेमाल करें. सेव किए गए डेटा से ये Application -> Shared Storage में मौजूद होते हैं.

Chrome DevTools का इस्तेमाल करके, शेयर किए गए स्टोरेज में सेव किया गया डेटा देखें.

निजी एग्रीगेशन के लिए रिपोर्ट देखें

भेजी गई इकट्ठा की जा सकने वाली रिपोर्ट देखने के लिए, यहां जाएं chrome://private-aggregation-internals. डीबग मोड चालू होने पर, एक रिपोर्ट को तुरंत (बिना किसी देरी के) भेजा जाता है [[YOUR_ORIGIN]]/.well-known/private-aggregation/debug/report-shared-storage अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है साथ ही आपको सही समय पर, [[YOUR_ORIGIN]]/.well-known/private-aggregation/report-shared-storage.

डीबग करने की सुविधा चालू करने के लिए, डीबग करना में दिए गए निर्देशों का पालन करें सेक्शन में जाएं.

chrome://private-aggregation-internals में रिपोर्ट देखना.

Shared Storage API

क्रॉस-साइट ट्रैकिंग से बचने के लिए, ब्राउज़र ने इसमें लोकल स्टोरेज, कुकी वगैरह शामिल हैं. हालांकि, कुछ मामलों में इसका इस्तेमाल भी किया जा सकता है जहां स्टोरेज की ज़रूरत नहीं होती है. Shared Storage API, अलग-अलग टॉप-लेवल साइटों पर, निजता बनाए रखने वाले रीड ऐक्सेस के साथ, अनलिमिटेड लिखने का ऐक्सेस देता है.

शेयर किए गए स्टोरेज को कॉन्टेक्स्ट ऑरिजिन (कॉलर) तक सीमित किया गया है sharedStorage).

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

शेयर किए गए स्टोरेज की सुविधा शुरू करना

विज्ञापन टेक्नोलॉजी विशेषज्ञ, JavaScript या रिस्पॉन्स हेडर का इस्तेमाल करके, शेयर किए गए स्टोरेज में डेटा लिख सकते हैं. शेयर किए गए स्टोरेज से डेटा पढ़ने की सुविधा, सिर्फ़ वर्कलेट नाम के अलग-थलग JavaScript एनवायरमेंट में काम करती है.

  • JavaScript का इस्तेमाल करके विज्ञापन टेक्नोलॉजी विशेषज्ञ, शेयर किए गए स्टोरेज के कुछ फ़ंक्शन कर सकते हैं. जैसे, JavaScript वर्कलेट के बाहर वैल्यू सेट करना, जोड़ना, और मिटाना. हालांकि, शेयर किए गए स्टोरेज की जानकारी पढ़ने और परफ़ॉर्मेंस निजी एग्रीगेशन को JavaScript वर्कलेट से पूरा करना होगा. JavaScript वर्कलेट के बाहर इस्तेमाल किए जा सकने वाले तरीके, सुझाया गया एपीआई प्लैटफ़ॉर्म - वर्कलेट के बाहर में देखे जा सकते हैं.

    किसी कार्रवाई के दौरान वर्कलेट में इस्तेमाल किए जाने वाले तरीके, सुझाया गया एपीआई प्लैटफ़ॉर्म - वर्कलेट में में देखे जा सकते हैं.

  • रिस्पॉन्स हेडर का इस्तेमाल करना

    JavaScript की तरह ही, केवल विशिष्ट फ़ंक्शन जैसे कि सेटिंग, जोड़ना, साथ ही, शेयर किए गए स्टोरेज में मौजूद वैल्यू को मिटाने के लिए, रिस्पॉन्स हेडर का इस्तेमाल करें. रिस्पॉन्स हेडर में, Shared Storage के साथ काम करने के लिए, अनुरोध हेडर में Shared-Storage-Writable: ?1 को शामिल करना होगा.

    क्लाइंट से अनुरोध भेजने के लिए, नीचे दिए गए कोड को चलाएं. आपकी चुनी गई विधि:

    • fetch() का इस्तेमाल करना

      fetch("https://a.example/path/for/updates", {sharedStorageWritable: true});
      
    • iframe या img टैग का इस्तेमाल करना

      <iframe src="https://a.example/path/for/updates" sharedstoragewritable></iframe>
      
    • iframe या img टैग के साथ IDL एट्रिब्यूट का इस्तेमाल करना

      let iframe = document.getElementById("my-iframe");
      iframe.sharedStorageWritable = true;
      iframe.src = "https://a.example/path/for/updates";
      

ज़्यादा जानकारी के लिए, शेयर किया गया स्टोरेज: रिस्पॉन्स' पेज पर जाएं हेडर.

शेयर किए गए स्टोरेज में डेटा सेव करना

शेयर किए गए स्टोरेज में लिखने के लिए, sharedStorage.set() को अंदर या बाहर से कॉल करें JavaScript वर्कलेट. अगर वर्कलेट के बाहर से कॉल किया जाता है, तो डेटा उस ब्राउज़िंग कॉन्टेक्स्ट के ऑरिजिन में लिखा जाता है जिससे कॉल किया गया था. अगर कॉल किया जाए, तो वर्कलेट के अंदर, डेटा को ब्राउज़िंग संदर्भ के मूल पर लिखा जाता है वर्कलेट को लोड किया गया. सेट की गई कुंजियों की समयसीमा 30 है पिछले अपडेट के बाद से दिन.

ignoreIfPresent फ़ील्ड भरना ज़रूरी नहीं है. अगर यह मौजूद है और true पर सेट है, तो पहले से मौजूद होने पर, इसे अपडेट नहीं किया जाता. set() कॉल के बाद, पासकोड की समयसीमा 30 दिनों के लिए रिन्यू हो जाती है. भले ही, पासकोड अपडेट न किया गया हो.

अगर एक ही पेज लोड में, एक ही कुंजी का इस्तेमाल करके शेयर किए गए स्टोरेज को कई बार ऐक्सेस किया जाता है, तो कुंजी की वैल्यू को बदल दिया जाता है. अगर कुंजी की पिछली वैल्यू को बनाए रखना ज़रूरी है, तो sharedStorage.append() का इस्तेमाल करना अच्छा रहेगा.

  • JavaScript का इस्तेमाल करना

    वर्कलेट के बाहर:

    window.sharedStorage.set('myKey', 'myValue1', { ignoreIfPresent: true });
    // Shared Storage: {'myKey': 'myValue1'}
    window.sharedStorage.set('myKey', 'myValue2', { ignoreIfPresent: true });
    // Shared Storage: {'myKey': 'myValue1'}
    window.sharedStorage.set('myKey', 'myValue2', { ignoreIfPresent: false });
    // Shared Storage: {'myKey': 'myValue2'}
    

    इसी तरह, वर्कलेट के अंदर:

    sharedStorage.set('myKey', 'myValue1', { ignoreIfPresent: true });
    
  • रिस्पॉन्स हेडर का इस्तेमाल करना

    रिस्पॉन्स हेडर का इस्तेमाल करके भी Shared Storage पर जवाब दिया जा सकता है. ऐसा करने के लिए, रिस्पॉन्स हेडर में Shared-Storage-Write का इस्तेमाल करें. साथ ही, इन निर्देशों का भी इस्तेमाल करें:

    Shared-Storage-Write : set;key="myKey";value="myValue";ignore_if_present
    
    Shared-Storage-Write : set;key="myKey";value="myValue";ignore_if_present=?0
    

    एक से ज़्यादा आइटम को कॉमा लगाकर अलग किया जा सकता है और उनमें set, append, delete और clear.

    Shared-Storage-Write :
    set;key="hello";value="world";ignore_if_present, set;key="good";value="bye"
    

कोई वैल्यू जोड़ना

'जोड़ें' तरीके का इस्तेमाल करके, किसी मौजूदा बटन में वैल्यू जोड़ी जा सकती है. अगर कुंजी मौजूद नहीं है, तो append() को कॉल करने से कुंजी बनती है और मान सेट किया जाता है. यह काम कर सकता है को JavaScript या रिस्पॉन्स हेडर का इस्तेमाल करके पूरा करना होगा.

  • JavaScript का इस्तेमाल करना

    मौजूदा बटन की वैल्यू अपडेट करने के लिए, वर्कलेट के अंदर या बाहर, sharedStorage.append() का इस्तेमाल करें.

    window.sharedStorage.append('myKey', 'myValue1');
    // Shared Storage: {'myKey': 'myValue1'}
    window.sharedStorage.append('myKey', 'myValue2');
    // Shared Storage: {'myKey': 'myValue1myValue2'}
    window.sharedStorage.append('anotherKey', 'hello');
    // Shared Storage: {'myKey': 'myValue1myValue2', 'anotherKey': 'hello'}
    

    वर्कलेट के अंदर जोड़ने के लिए:

    sharedStorage.append('myKey', 'myValue1');
    
  • रिस्पॉन्स हेडर का इस्तेमाल करना

    शेयर किए गए स्टोरेज में कोई वैल्यू सेट करने की तरह ही, की-वैल्यू पेयर में पास करने के लिए, रिस्पॉन्स हेडर में Shared-Storage-Write.

    Shared-Storage-Write : append;key="myKey";value="myValue2"
    

शेयर किए गए स्टोरेज से डेटा पढ़ना

Shared Storage में मौजूद डेटा को सिर्फ़ वर्कलेट में जाकर पढ़ा जा सकता है.

await sharedStorage.get('mykey');

उस ब्राउज़िंग कॉन्टेक्स्ट का ऑरिजिन जिससे वर्कलेट मॉड्यूल लोड किया गया था तय करता है कि किसका शेयर किया गया स्टोरेज पढ़ा गया है.

शेयर किए गए स्टोरेज से आइटम मिटाया जा रहा है

शेयर किए गए स्टोरेज से, डेटा को मिटाने के लिए, उसके अंदर मौजूद JavaScript का इस्तेमाल भी किया जा सकता है वर्कलेट के बाहर या delete() के साथ रिस्पॉन्स हेडर का इस्तेमाल करके. मिटाने के लिए सभी कुंजियों को एक साथ इस्तेमाल करने के लिए, दोनों में से किसी भी एक में से clear() का इस्तेमाल करें.

  • JavaScript का इस्तेमाल करना

    वर्कलेट के बाहर से Shared Storage से फ़ाइल मिटाने के लिए:

    window.sharedStorage.delete('myKey');
    

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

    sharedStorage.delete('myKey');
    

    वर्कलेट के बाहर से, सभी कुंजियों को एक साथ मिटाने के लिए:

    window.sharedStorage.clear();
    

    वर्कलेट में मौजूद सभी कुंजियों को एक साथ मिटाने के लिए:

    sharedStorage.clear();
    
  • रिस्पॉन्स हेडर का इस्तेमाल करना

    रिस्पॉन्स हेडर का इस्तेमाल करके वैल्यू मिटाने के लिए, रिस्पॉन्स हेडर में Shared-Storage-Write का इस्तेमाल करके, मिटाने के लिए कुंजी को पास किया जा सकता है.

    delete;key="myKey"
    

    रिस्पॉन्स हेडर का इस्तेमाल करके सभी कुंजियों को मिटाने के लिए:

    clear;
    

कॉन्टेक्स्ट स्विच करना

Shared Storage का डेटा ऑरिजिन (उदाहरण के लिए, https://example.adtech.com) यहां से शुरू हुआ.

<script> टैग का इस्तेमाल करके तीसरे पक्ष का कोड लोड करने पर, कोड को एम्बेड करने वाले व्यक्ति के ब्राउज़िंग कॉन्टेक्स्ट में चलाया जाता है. इसलिए, जब तीसरे पक्ष के कोड sharedStorage.set() को कॉल करता है, तो डेटा एम्बेडर के शेयर किए गए पर लिखा जाता है डिवाइस का स्टोरेज. जब iframe में तीसरे पक्ष का कोड लोड किया जाता है, तो कोड को गया है और उसका ऑरिजिन iframe का ऑरिजिन है. इसलिए, iframe से किया गया sharedStorage.set() कॉल, डेटा को iframe के ऑरिजिन के शेयर किए गए स्टोरेज में सेव करता है.

पहले पक्ष का कॉन्टेक्स्ट

अगर किसी पहले पक्ष के पेज में तीसरे पक्ष का ऐसा JavaScript कोड जोड़ा गया है जो sharedStorage.set() या sharedStorage.delete() को कॉल करता है, तो की-वैल्यू पेयर को पहले पक्ष के संदर्भ में सेव किया जाता है.

एम्बेड किए गए तीसरे पक्ष की JavaScript की मदद से, पहले पक्ष के पेज में सेव किया गया डेटा.

तीसरे पक्ष का कॉन्टेक्स्ट

की-वैल्यू पेयर को विज्ञापन टेक्नोलॉजी या तीसरे पक्ष के संदर्भ में स्टोर किया जा सकता है. इसके लिए, एक iframe बनाएं और iframe में मौजूद JavaScript कोड में set() या delete() को कॉल करें.

विज्ञापन टेक्नोलॉजी या तीसरे पक्ष के कॉन्टेक्स्ट में सेव किया गया डेटा.

Private Aggregation API

शेयर किए गए स्टोरेज में सेव किए गए इकट्ठा किए जा सकने वाले डेटा को मेज़र करने के लिए, 'निजी' का इस्तेमाल किया जा सकता है एग्रीगेशन एपीआई.

रिपोर्ट बनाने के लिए, वर्कलेट में contributeToHistogram() को इस बकेट और मान. बकेट को बिना साइन वाले 128-बिट वाले पूर्णांक के तौर पर दिखाया जाता है. इसे फ़ंक्शन में BigInt के तौर पर पास करना ज़रूरी है. यह वैल्यू एक पॉज़िटिव संख्या होनी चाहिए.

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

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

privateAggregation.contributeToHistogram({
  bucket: BigInt(myBucket),
  value: parseInt(myBucketValue)
});

शेयर किया गया स्टोरेज और निजी एग्रीगेशन लागू करना

आपको शेयर किए गए स्टोरेज से डेटा ऐक्सेस करने के लिए एक वर्कलेट बनाना होगा. ऐसा करने के लिए, वर्कलेट के यूआरएल के साथ createWorklet() को कॉल करें. डिफ़ॉल्ट रूप से, शेयर की गई फ़ाइलें इस्तेमाल करते समय createWorklet() के साथ स्टोरेज का इस्तेमाल करते हैं, तो डेटा पार्टिशन का ऑरिजिन चालू होगा ब्राउज़िंग कॉन्टेक्स्ट ऑरिजिन, वर्कलेट स्क्रिप्ट का ऑरिजिन नहीं होता.

डिफ़ॉल्ट व्यवहार बदलने के लिए, createWorklet को कॉल करते समय dataOrigin प्रॉपर्टी सेट करें.

  • dataOrigin: "context-origin": (डिफ़ॉल्ट) डेटा को शेयर की गई ड्राइव में सेव किया जाता है के ऑरिजिन के साथ काम करने की अनुमति नहीं है.
  • dataOrigin: "script-origin": डेटा को वर्कलेट स्क्रिप्ट के ऑरिजिन के शेयर किए गए स्टोरेज में सेव किया जाता है. ध्यान दें कि इस मोड को चालू करने के लिए, आपको ऑप्ट-इन करना होगा.
sharedStorage.createWorklet(scriptUrl, {dataOrigin: "script-origin"});

ऑप्ट-इन करने के लिए, "script-origin" का इस्तेमाल करते समय, स्क्रिप्ट एंडपॉइंट को Shared-Storage-Cross-Origin-Worklet-Allowed हेडर के साथ जवाब दें. ध्यान दें कि क्रॉस-ऑरिजिन अनुरोधों के लिए, सीओआरएस चालू होना चाहिए.

Shared-Storage-Cross-Origin-Worklet-Allowed : ?1

क्रॉस-ऑरिजिन iframe का इस्तेमाल करना

शेयर किए गए स्टोरेज के वर्कलेट को शुरू करने के लिए, iframe ज़रूरी है.

विज्ञापन के iframe में, addModule() को कॉल करके वर्कलेट मॉड्यूल लोड करें. sharedStorageWorklet.js वर्कलेट फ़ाइल में रजिस्टर किए गए तरीके को चलाने के लिए, उसी विज्ञापन iframe JavaScript में sharedStorage.run() को कॉल करें.

const sharedStorageWorklet = await window.sharedStorage.createWorklet(
  'https://any-origin.example/modules/sharedStorageWorklet.js'
);
await sharedStorageWorklet.run('shared-storage-report', {
  data: { campaignId: '1234' },
});

वर्कलेट स्क्रिप्ट में, आपको एसिंक run वाली क्लास बनानी होगी तरीके और register उसे विज्ञापन के iframe में चलाने के लिए सेट करें. sharedStorageWorklet.js में:

class SharedStorageReportOperation {
  async run(data) {
    // Other code goes here.
    bucket = getBucket(...);
    value = getValue(...);
    privateAggregation.contributeToHistogram({
      bucket,
      value
    });
  }
}
register('shared-storage-report', SharedStorageReportOperation);

अलग-अलग डोमेन से अनुरोध करने की सुविधा का इस्तेमाल करना

शेयर किए गए स्टोरेज और निजी एग्रीगेशन की मदद से, क्रॉस-ऑरिजिन iframe के बिना क्रॉस-ऑरिजिन वर्कलेट बनाए जा सकते हैं.

पहले पक्ष का पेज, क्रॉस-ऑरिजिन JavaScript एंडपॉइंट पर createWorklet() कॉल भी शुरू कर सकता है. वर्कलेट बनाते समय, आपको वर्कलेट के डेटा सेगमेंट के ऑरिजिन को स्क्रिप्ट के ऑरिजिन के तौर पर सेट करना होगा.

async function crossOriginCall() {
  const privateAggregationWorklet = await sharedStorage.createWorklet(
    'https://cross-origin.example/js/worklet.js',
    { dataOrigin: 'script-origin' }
  );
  await privateAggregationWorklet.run('pa-worklet');
}
crossOriginCall();

क्रॉस-ऑरिजिन JavaScript एंडपॉइंट को हेडर के साथ जवाब देना होगा Shared-Storage-Cross-Origin-Worklet-Allowed और ध्यान दें कि सीओआरएस इनके लिए चालू है अनुरोध किया है.

Shared-Storage-Cross-Origin-Worklet-Allowed : ?1

createWorklet() का इस्तेमाल करके बनाए गए वर्कलेट में selectURL और run() होंगे. इसके लिए, addModule() उपलब्ध नहीं है.

class CrossOriginWorklet {
  async run(data){
    // Other code goes here.
    bucket = getBucket(...);
    value = getValue(...);
    privateAggregation.contributeToHistogram({
      bucket,
      value
    });
  }
}

डीबग करना

डीबग करने की सुविधा चालू करने के लिए, उसी तरीके से enableDebugMode() JavaScript तरीके को कॉल करें शेयर किए गए स्टोरेज और प्राइवेट एग्रीगेशन का इस्तेमाल करता है. यह कार्रवाई, इसी संदर्भ में आने वाली रिपोर्ट पर लागू होगी.

privateAggregation.enableDebugMode();

रिपोर्ट को उन कॉन्टेक्स्ट से जोड़ने के लिए जिन्होंने उन्हें ट्रिगर किया है, आपके पास 64-बिट बिना हस्ताक्षर वाली पूर्णांक डीबग कुंजी सेट करने का विकल्प है. यह कुंजी, JavaScript कॉल को भेजी जाती है. debugKey, BigInt है.

privateAggregation.enableDebugMode({debugKey: 1234});

शेयर किए गए स्टोरेज को डीबग करना

शेयर किए गए स्टोरेज से जुड़ी गड़बड़ी का सामान्य मैसेज:

Promise is rejected without and explicit error message

कॉल को रैप करके, शेयर किए गए स्टोरेज को डीबग किया जा सकता है try-catch ब्लॉक.

try {
  privateAggregation.contributeToHistogram({bucket, value});
} catch (e){
  console.log(e);
}

निजी एग्रीगेशन को डीबग करना

रिपोर्ट /.well-known/private-aggregation/report-shared-storage को भेजी जाती हैं और /.well-known/private-aggregation/debug/report-shared-storage. रिपोर्ट डीबग करें नीचे दिए गए JSON जैसा पेलोड मिलेगा. यह पेलोड, api फ़ील्ड को "शेयर किया गया स्टोरेज" के तौर पर दिखाता है.

{
   "aggregation_coordinator_origin": "https://publickeyservice.msmt.gcp.privacysandboxservices.com",
   "aggregation_service_payloads": [ {
      "debug_cleartext_payload": "omRkYXRhlKJldmFsdWVEAAAAgGZidWNrZXRQAAAAAAAAAAAAAAAAB1vNFaJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAGlvcGVyYXRpb25paGlzdG9ncmFt",
      "key_id": "1569ab37-da44-4a26-80d9-5ed6524ab2a7",
      "payload": "/9nHrWn1MnJWRxFvanbubciWE9mPyIij6uYLi5k351eQCd3/TZpe2knaatUNcniq4a4e61tmKebv50OmMRZFnnCfcAwIdIgLHu1a3en97PojqWJBfO52RiVMIcP7KQTLzMxq2LhvPSdV4zjXo1Teu/JuIK3LIyis3vUMpS+tUAX0QV+I6X5SVmZFiNW9aMb8DwLOtqrBy5JJ/EkOIY0G+1Fi1/3R7UtKsqM1o71A/OzdmlNkwO7EV/VUNinGvWnd19FvDHe/kqkNdTHKbhAnMmbZzHW9bsEQS81leElCla6BTdbdbeeFU/jbTj0AOaoNOIe5r7FU5NG6nW4ULXTCbLLjTQ1mtl3id3IP41Zin1JvABCDC/HUSgLFz8EUqkmbMIOlMfNYA79aURq6FqE0GO0HtICYf0GPNdVv7p4jY3FNn6+JS4l5F3t+3lP9ceo4IpCE+31jzMtYJ+19xFh6C5ufteBR/iknZFcc1w3caQBhgRl5jt8DbaOzYcW4690H8Ul4Oh2wRO+6/njifk+pExLay/O5swLi2lUUph5OUEaaztwwzh2mnhwIBxMkPnfsGihiF+5KDEajVfMZ3NLsIDoZO+l4RTZrkqE+jVkAqaZGBiCIx42Edp/JV0DXfrryypCdQBZr8iEbSzCM9hKsMfLN7S/VkPe5rDwOZbhKCn5XXgfGz5tSx/KbZgsQf4OCEhwAyNPHAh3MHU7xmkQ3pKg4EIUC/WOtKAlVDOtDMmPPoQY1eAwJhw9SxZaYF1kHjUkTm3EnGhgXgOwCRWqeboNenSFaCyp6DbFNI3+ImONMi2oswrrZO+54Tyhca5mnLIiInI+C3SlP4Sv1jFECIUdf/mifJRM5hMj6OChzHf4sEifjqtD4A30c4OzGexWarie2xakdQej9Go4Lm0GZEDBfcAdWLT9HwmpeI2u4HDAblXDvLN8jYFDOOtzOl90oU7AwdhkumUCFLRadXAccXW9SvLfDswRkXMffMJLFqkRKVE1GPonFFtlzaRqp7IgE8L6AOtz6NDcxAjHnEuzDPPMcWMl1AFH0gq7h"
   } ],
   "debug_key": "1234",
   "shared_info": "{\"api\":\"shared-storage\",\"debug_mode\":\"enabled\",\"report_id\":\"80d93c0a-a94e-4ab7-aeb5-a4ecd4bfc598\",\"reporting_origin\":\"https://privacy-sandbox-demos-dsp.dev\",\"scheduled_report_time\":\"1717784740\",\"version\":\"0.1\"}"
}

क्लीयरटेक्स्ट पेलोड डीबग करें

debug_cleartext_payload को Base64 और CBOR में कोड में बदला गया है. आपके पास बकेट देखने और डीकोडर का इस्तेमाल करके या शेयर किए गए स्टोरेज' में मिला JavaScript कोड डिकोडर का इस्तेमाल करें.

अगले चरण

यहां दिए गए पेजों पर, शेयर किए गए स्टोरेज और निजी एग्रीगेशन एपीआई के अहम पहलुओं के बारे में बताया गया है.

एपीआई के बारे में जानकारी होने के बाद, रिपोर्ट इकट्ठा करना शुरू किया जा सकता है, जिन्हें पीओएसटी अनुरोध के तौर पर, नीचे दिए गए एंडपॉइंट पर JSON अनुरोध का मुख्य हिस्सा.

  • डीबग रिपोर्ट - context-origin/.well-known/private-aggregation/debug/report-shared-storage
  • रिपोर्ट - context-origin/.well-known/private-aggregation/report-shared-storage अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

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

सुझाव/राय दें या शिकायत करें

GitHub पर एपीआई और दस्तावेज़ के बारे में, अपने सुझाव/राय दी जा सकती हैं या शिकायत की जा सकती है.