Protected Audience की डीबग रिपोर्टिंग की सुविधा की मदद से, विज्ञापन टेक्नोलॉजी डेवलपर रिमोट यूआरएल का एलान कर सकते हैं. इससे उन्हें डिवाइसों से GET अनुरोध मिलता है. ऐसा तब होता है, जब कोई नीलामी जीत ली जाती है या हार जाती है. इससे, इस्तेमाल के इन उदाहरणों को लागू किया जा सकता है:
- नीलामी के नतीजों के बारे में रिपोर्ट पाना.
- जानें कि नीलामियां क्यों नहीं जीती जा सकीं. उदाहरण के लिए: यह समझना कि बिडिंग या स्कोरिंग स्क्रिप्ट को लागू करने में कोई समस्या है या यह मुख्य लॉजिक से जुड़ी समस्या है.
- JavaScript लॉजिक अपडेट होने पर समस्याएं ढूंढना
इवेंट-लेवल की डीबग रिपोर्टिंग, Privacy Sandbox की डेवलपर प्रीव्यू 9 में टेस्टिंग के लिए उपलब्ध है. डिबग रिपोर्टिंग की सुविधा, उन सभी डिवाइसों पर काम करती है जिन पर AdId उपलब्ध है.
हमारा प्लान, प्लैटफ़ॉर्म को Private Aggregation Service की मदद से नीलामी के नतीजे रिपोर्ट करने की सुविधा देना है. इससे यह पक्का होता है कि बाद में रिपोर्टिंग की सुविधा का इस्तेमाल करके, अलग-अलग उपयोगकर्ताओं की कस्टम ऑडियंस को पब्लिशर के ऐप्लिकेशन से नहीं जोड़ा जा सकता. इवेंट-लेवल रिपोर्टिंग की सुविधा कुछ समय के लिए उपलब्ध है. यह तब तक उपलब्ध रहेगी, जब तक रिपोर्टिंग का सही फ़्रेमवर्क रिलीज़ नहीं हो जाता.
[Chrome के FLEDGE के ऑरिजिनल ऑरिजिन ट्रायल में डीबग रिपोर्टिंग के बारे में ज़्यादा जानें प्रस्ताव][10].
इस्तेमाल
डबग रिपोर्टिंग को लागू करने के लिए, यहां दिए गए JavaScript API का इस्तेमाल किया जाता है. इन दोनों में यूआरएल स्ट्रिंग आर्ग्युमेंट होता है:
forDebuggingOnly.reportAdAuctionWin(String url)forDebuggingOnly.reportAdAuctionLoss(String url)
नीचे दिए गए उदाहरण में, विज्ञापन की नीलामी हारने की रिपोर्ट दी गई है. इसमें जीतने वाली बिड और इंटरनल वैरिएबल की जानकारी शामिल है. इसके बाद, इस डेटा का इस्तेमाल डीबग करने के लिए किया जा सकता है.
let someDebuggableVariable = 123;
const url = "https://example.com/reportLoss?winningBid=${winningBid}&someDebuggableVariable=" + someDebuggableVariable;
forDebuggingOnly.reportAdAuctionLoss(url);
नीलामी पूरी होने के बाद, ${winningBid} टेंप्लेट को असल वैल्यू से बदल दिया जाता है.
विक्रेताओं के पास, scoreAds फ़ंक्शन से rejectReason दिखाने का विकल्प होता है:
function scoreAd(ad, bid, auction_config, seller_signals,
trusted_scoring_signals, contextual_signal,
custom_audience_signal) {
let score = ...
return {
'status': 0,
'score': score,
'rejectReason': 'blocked-by-publisher'
}
}
अगर सेलर, अनुरोध अस्वीकार करने की वजह नहीं बताता है, तो not-available भेजा जाता है.
यूआरएल वैरिएबल
डीबग यूआरएल में जोड़े जा सकने वाले वैरिएबल, Chrome में मौजूद वैरिएबल के बराबर होते हैं. हालांकि, ${topLevelWinningBid} और ${topLevelMadeWinningBid} उपलब्ध नहीं हैं, क्योंकि Android पर कॉम्पोनेंट ऑक्शन की सुविधा उपलब्ध नहीं है.
| वैरिएबल का नाम | ब्यौरा |
winningBid |
नीलामी जीतने वाली बिड की वैल्यू. |
madeWinningBid |
बूलियन वैल्यू, यह दिखाती है कि क्या इस कस्टम ऑडियंस के खरीदार ने सबसे ज़्यादा बोली लगाई है. ऐसा इस कस्टम ऑडियंस या खरीदार की किसी अन्य कस्टम ऑडियंस के ज़रिए किया गया है. |
highestScoringOtherBid |
बिड की वह वैल्यू जिसे विक्रेता की scoreAd स्क्रिप्ट ने दूसरी सबसे ज़्यादा वैल्यू के तौर पर स्कोर किया है. ध्यान दें कि यह दूसरी सबसे ज़्यादा बिड वैल्यू नहीं हो सकती, क्योंकि स्कोर और बिड अलग-अलग हो सकते हैं. |
madeHighestScoringOtherBid |
बूलियन वैल्यू से पता चलता है कि इस कस्टम ऑडियंस के खरीदार ने ${highestScoringOtherBid} बिड लगाई है या नहीं. बिड, इस कस्टम ऑडियंस या उसी खरीदार वाली किसी दूसरी कस्टम ऑडियंस ने लगाई है. |
rejectReason |
यह एक स्ट्रिंग है, जिसे सेलर सेट करता है. इसमें वह बताता है कि उसने बिड क्यों अस्वीकार की. इनमें से कोई भी वैल्यू हो सकती है:
|
कंस्ट्रेंट
- यूआरएल होस्ट, Privacy Sandbox में शामिल किए गए आपके डोमेन से मेल खाना चाहिए.
- यूआरएल में 4,096 से ज़्यादा वर्ण नहीं होने चाहिए. इसमें डोमेन,
https://प्रीफ़िक्स, और नीलामी के बदले गए डेटा को शामिल किया जाता है. - आने वाली रिलीज़ में, डीबग पिंग सिर्फ़ वाई-फ़ाई से कनेक्ट होने पर भेजे जाते हैं.
डिवाइस पर काम करने का तरीका
मोबाइल एनवायरमेंट में, मेमोरी और नेटवर्क के इस्तेमाल को सुरक्षित रखना हमारी मुख्य प्राथमिकता है. इसलिए, डीबग रिपोर्ट बैच में जनरेट होती हैं.
यहां दी गई सिस्टम प्रॉपर्टी, बैच रेट और साइज़ को कंट्रोल करती हैं. इन्हें डेवलपमेंट के लिए कम वैल्यू पर अडजस्ट किया जा सकता है:
fledge_event_level_debug_reporting_batching_ratefledge_event_level_debug_reporting_batch_size
नीलामी पूरी होने के 15 से 60 मिनट के अंदर, डीबग रिपोर्ट उपलब्ध हो जाती है.
डीबग रिपोर्ट में पूरी जानकारी होने की कोई गारंटी नहीं है. अगर सर्वर को कॉल भेजे जाने से पहले डिवाइस रीबूट हो जाता है या adservices प्रोसेस क्रैश हो जाती है, तो इन इवेंट को हटा दिया जाता है.
हर विज्ञापन टेक्नोलॉजी के पास, हर नीलामी के लिए ज़्यादा से ज़्यादा 75 रजिस्टर किए गए डीबग यूआरएल होते हैं. सीमा पूरी होने के बाद रजिस्टर किए गए यूआरएल को हटा दिया जाता है.
आखिर में, अगर उपयोगकर्ता ने AdId बंद कर दिया है, तो डीबग रिपोर्ट भेजी जाती हैं. यह सुविधा, डेवलपर प्रीव्यू 9 में लागू नहीं की गई है. हालांकि, इसे आने वाले वर्शन में लागू किया जाएगा.
विज्ञापन टेक्नोलॉजी से जुड़े सर्वर का व्यवहार
डीबग रिपोर्टिंग के लिए, विज्ञापन टेक्नोलॉजी सर्वर को इन बातों का ध्यान रखना चाहिए:
- डिवाइस,
forDebuggingOnly.*एपीआई के ज़रिए बताए गए सर्वर को GET अनुरोध भेजता है. - हर अनुरोध, इवेंट-लेवल की एक डीबग रिपोर्ट दिखाता है: विज्ञापन नीलामी में जीत या हार.
- हर अनुरोध में कोई मुख्य हिस्सा नहीं होता. सारा डेटा क्वेरी पैरामीटर में होता है.
- बड़े रिस्पॉन्स पेलोड से परफ़ॉर्मेंस और डेटा के इस्तेमाल पर बुरा असर पड़ सकता है. इसलिए, इन्हें अनदेखा कर दिया जाता है.