सुरक्षित ऑडियंस नीलामियों का विश्लेषण Perfetto के साथ विज़ुअल तौर पर या SQL क्वेरी की मदद से किया जा सकता है. विज्ञापन टेक्नोलॉजी में, प्रोटेक्टेड ऑडियंस नीलामियों की परफ़ॉर्मेंस का आकलन करने के लिए, Perfetto की मदद से प्रोफ़ाइलिंग का इस्तेमाल किया जा सकता है. इनमें ये शामिल हैं:
- बिडिंग और स्कोरिंग स्क्रिप्ट के लिए सीपीयू समय
- कुंजी/वैल्यू सेवा जैसे एचटीटीपी अनुरोधों के इंतज़ार का समय
- कोल्ड कैश और हॉट कैश की परफ़ॉर्मेंस पर असर
- कस्टम ऑडियंस की तुलना में कम कस्टम ऑडियंस
- बड़े बनाम छोटे सिग्नल के सेट
- हर कस्टम ऑडियंस के लिए अलग-अलग बिडिंग लॉजिक स्क्रिप्ट, जिनकी तुलना में सभी बिडिंग के लिए एक ही स्क्रिप्ट का इस्तेमाल किया जाता है
सेटअप
Perfetto और Privacy Sandbox डेटा स्टोर करने की जगहों का क्लोन बनाएं.
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
Android Studio में,
privacy-sandbox-samples/Fledge/FledgeKotlin
डायरेक्ट्री से Protected Audience सैंपल ऐप्लिकेशन खोलें.अपने टेस्ट डिवाइस या एम्युलेटर पर, सैंपल ऐप्लिकेशन बनाएं और उसे इंस्टॉल करें.
नीलामी करें और Perfetto ट्रेस हासिल करें
- टेस्ट एचटीटीपीएस एंडपॉइंट को सेट अप और डिप्लॉय करना. होस्ट किए गए एंडपॉइंट के यूआरएल का ध्यान रखें, क्योंकि Protected Audience डेमो ऐप्लिकेशन के काम करने के लिए, ये एंडपॉइंट ज़रूरी हैं.
दिए गए टेस्ट एंडपॉइंट यूआरएल के साथ डेमो ऐप्लिकेशन लॉन्च करें.
<test-endpoint-url>
की जगह, होस्ट किए गए उस एंडपॉइंट यूआरएल का इस्तेमाल करें जिसे आपने पिछले चरण में रिकॉर्ड किया था.adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
"Shoes CA" को टॉगल करें, ताकि यह पक्का किया जा सके कि कम से कम एक कस्टम ऑडियंस चालू हो.
प्राइवसी सैंडबॉक्स DevTools GitHub रिपॉज़िटरी से trace_config.textproto फ़ाइल का इस्तेमाल करके ट्रेस रिकॉर्ड करें:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
"विज्ञापन चुनें" बटन पर टैप करें और नीलामी के नतीजे आने का इंतज़ार करें. नीलामी पूरी होने पर, आउटपुट में "
http://example.com/bidding/render_shoes
का विज्ञापन दिखेगा" जैसा एक मैसेज दिखेगा.अपने टर्मिनल में, ट्रेस को खत्म करने के लिए,
record_android_trace
प्रोग्राम को (Ctrl+C) बंद करें. आपके ब्राउज़र में Perfetto यूज़र इंटरफ़ेस (यूआई) खुलता है, जिसमें ट्रेस डेटा लोड होता है.
Perfetto में ट्रेस को विज़ुअल तौर पर एक्सप्लोर करें
यूज़र इंटरफ़ेस (यूआई) के सबसे ऊपर मौजूद पता बार का इस्तेमाल करके, "RunOnDeviceAdSelection" खोजें. खोज पूरी करने और नतीजे देखने के लिए, डालें पर क्लिक करें:
किसी ट्रेस की जांच करने के लिए उस पर क्लिक करें. निष्पादन इंतज़ार के समय जैसे विवरण यहां उपलब्ध हैं.
सुरक्षित ऑडियंस के लिए खास तौर पर बनाए गए ट्रेस सेगमेंट
Protected Audience की नीलामी एक मुश्किल प्रोसेस है और Perfetto ट्रेस की मदद से कई अलग-अलग सेगमेंट कैप्चर किए जाते हैं. इस टेबल में बताया गया है कि हर ट्रेस सेगमेंट क्या दिखाता है.
समय | सेगमेंट करें | ब्यौरा | फ़्रीक्वेंसी |
---|---|---|---|
नीलामी से पहले | RunOnDeviceAdSelection |
नीलामी शुरू होने से लेकर आखिर तक | हर नीलामी |
बिडिंग (खरीदारी-पक्ष) | FilterContextualAds |
प्रासंगिक विज्ञापनों पर ऐप्लिकेशन इंस्टॉल और फ़्रीक्वेंसी कैप फ़िल्टर करना | हर नीलामी |
GetBuyersCustomAudience |
डेटाबेस से खरीदार की कस्टम ऑडियंस लोड करें | हर खरीदार | |
FilterCustomAudiences |
कस्टम ऑडियंस के लिए, ऐप्लिकेशन इंस्टॉल और फ़्रीक्वेंसी कैप फ़िल्टर करना | हर नीलामी | |
GetTrustedBiddingSignals |
खरीदार के बिडिंग सिग्नल लोड करें | हर खरीदार | |
RunBiddingPerCustomAudience |
एक कस्टम ऑडियंस के लिए विज्ञापन बिडिंग | पसंद के मुताबिक हर ऑडियंस के हिसाब से | |
GetBuyerDecisionLogic |
कैश मेमोरी में सेव किए जाने पर, नेटवर्क या डेटाबेस से खरीदार का JavaScript लोड करें | पसंद के मुताबिक हर ऑडियंस के हिसाब से | |
RunBidding |
खरीदार के लिए JavaScript चलाना | हर खरीदार | |
GenerateBids |
पसंद के मुताबिक ऑडियंस के लिए JavaScript चलाना | पसंद के मुताबिक हर ऑडियंस के हिसाब से | |
स्कोरिंग (सेल-साइड) | GetTrustedScoringSignals |
विक्रेता के स्कोरिंग सिग्नल लोड करें | हर सेलर के लिए |
RunAdScoring |
स्कोरिंग के लिए JavaScript का इस्तेमाल करना | हर नीलामी | |
ScoreAd |
किसी विज्ञापन के लिए JavaScript चलाना | हर विज्ञापन | |
GetAdSelectionLogic |
सेलर के विज्ञापन चुनने का लॉजिक लोड करें | हर नीलामी | |
RunAdOutcomeSelection |
फ़ाइनल फ़िल्टर | हर नीलामी | |
नीलामी के बाद | PersistOnDeviceAdSelection |
डेटाबेस में नीलामी का नतीजा लिखें | हर नीलामी |
प्रोग्राम चलाने में लगने वाले औसत समय के लिए क्वेरी
किसी खास ट्रेस के अंदर क्या हो रहा है, इसका सटीक माप पाने के लिए Perfetto SQL क्वेरी का इस्तेमाल कर सकता है.
इस सेक्शन में, JavaScript लागू होने में लगने वाले औसत समय को मापने का तरीका बताया गया है.
- Perfetto में, बाएं नेविगेशन पैनल में "क्वेरी (SQL)" पर जाएं.
यह क्वेरी डालें:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
क्वेरी चलाएं और नतीजों की जांच करें.