सुरक्षित ऑडियंस नीलामी की प्रोफ़ाइल बनाना

सुरक्षित ऑडियंस नीलामियों का विश्लेषण Perfetto के साथ विज़ुअल तौर पर या SQL क्वेरी की मदद से किया जा सकता है. विज्ञापन टेक्नोलॉजी में, प्रोटेक्टेड ऑडियंस नीलामियों की परफ़ॉर्मेंस का आकलन करने के लिए, Perfetto की मदद से प्रोफ़ाइलिंग का इस्तेमाल किया जा सकता है. इनमें ये शामिल हैं:

  • बिडिंग और स्कोरिंग स्क्रिप्ट के लिए सीपीयू समय
  • कुंजी/वैल्यू सेवा जैसे एचटीटीपी अनुरोधों के इंतज़ार का समय
  • कोल्ड कैश और हॉट कैश की परफ़ॉर्मेंस पर असर
  • कस्टम ऑडियंस की तुलना में कम कस्टम ऑडियंस
  • बड़े बनाम छोटे सिग्नल के सेट
  • हर कस्टम ऑडियंस के लिए अलग-अलग बिडिंग लॉजिक स्क्रिप्ट, जिनकी तुलना में सभी बिडिंग के लिए एक ही स्क्रिप्ट का इस्तेमाल किया जाता है

सेटअप

  1. Perfetto और Privacy Sandbox डेटा स्टोर करने की जगहों का क्लोन बनाएं.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
    
  2. Android Studio में, privacy-sandbox-samples/Fledge/FledgeKotlin डायरेक्ट्री से Protected Audience सैंपल ऐप्लिकेशन खोलें.

  3. अपने टेस्ट डिवाइस या एम्युलेटर पर, सैंपल ऐप्लिकेशन बनाएं और उसे इंस्टॉल करें.

नीलामी करें और Perfetto ट्रेस हासिल करें

  1. टेस्ट एचटीटीपीएस एंडपॉइंट को सेट अप और डिप्लॉय करना. होस्ट किए गए एंडपॉइंट के यूआरएल का ध्यान रखें, क्योंकि Protected Audience डेमो ऐप्लिकेशन के काम करने के लिए, ये एंडपॉइंट ज़रूरी हैं.
  2. दिए गए टेस्ट एंडपॉइंट यूआरएल के साथ डेमो ऐप्लिकेशन लॉन्च करें. <test-endpoint-url> की जगह, होस्ट किए गए उस एंडपॉइंट यूआरएल का इस्तेमाल करें जिसे आपने पिछले चरण में रिकॉर्ड किया था.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
    
  3. "Shoes CA" को टॉगल करें, ताकि यह पक्का किया जा सके कि कम से कम एक कस्टम ऑडियंस चालू हो.

    डेमो ऐप्लिकेशन का स्क्रीनशॉट. The Shoes CA को टॉगल किया गया है.
    Protected Audience Demo ऐप्लिकेशन.
  4. प्राइवसी सैंडबॉक्स DevTools GitHub रिपॉज़िटरी से trace_config.textproto फ़ाइल का इस्तेमाल करके ट्रेस रिकॉर्ड करें:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
    
  5. "विज्ञापन चुनें" बटन पर टैप करें और नीलामी के नतीजे आने का इंतज़ार करें. नीलामी पूरी होने पर, आउटपुट में "http://example.com/bidding/render_shoes का विज्ञापन दिखेगा" जैसा एक मैसेज दिखेगा.

  6. अपने टर्मिनल में, ट्रेस को खत्म करने के लिए, record_android_trace प्रोग्राम को (Ctrl+C) बंद करें. आपके ब्राउज़र में Perfetto यूज़र इंटरफ़ेस (यूआई) खुलता है, जिसमें ट्रेस डेटा लोड होता है.

Perfetto में ट्रेस को विज़ुअल तौर पर एक्सप्लोर करें

  1. यूज़र इंटरफ़ेस (यूआई) के सबसे ऊपर मौजूद पता बार का इस्तेमाल करके, "RunOnDeviceAdSelection" खोजें. खोज पूरी करने और नतीजे देखने के लिए, डालें पर क्लिक करें:

    Protected Audience की नीलामी को देखते हुए Perfetto का यूज़र इंटरफ़ेस (यूआई) देखें. RunOnDeviceAdSelection और Run Bidding जैसे ट्रैक देखे जा सकते हैं.
    परफ़ेटो में, एक खरीदारी वाली सुरक्षित ऑडियंस की नीलामी.
  2. किसी ट्रेस की जांच करने के लिए उस पर क्लिक करें. निष्पादन इंतज़ार के समय जैसे विवरण यहां उपलब्ध हैं.

    ट्रेस सेगमेंट की जांच करने वाला Perfetto यूज़र इंटरफ़ेस (यूआई). इंतज़ार के समय की जानकारी दिख रही है.
    ट्रेस सेगमेंट की जांच करना.

सुरक्षित ऑडियंस के लिए खास तौर पर बनाए गए ट्रेस सेगमेंट

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 लागू होने में लगने वाले औसत समय को मापने का तरीका बताया गया है.

  1. Perfetto में, बाएं नेविगेशन पैनल में "क्वेरी (SQL)" पर जाएं.
  2. यह क्वेरी डालें:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. क्वेरी चलाएं और नतीजों की जांच करें.

    एसक्यूएल क्वेरी के नतीजे. इंतज़ार का औसत समय 17693688 नैनोसेकंड है.
    SQL क्वेरी के नतीजे नैनोसेकंड में मिलते हैं.