सुरक्षित ऑडियंस के लिए, ऐप्लिकेशन इंस्टॉल करने का बढ़ावा देने वाले विज्ञापन फ़िल्टर करना

आम तौर पर, नए मोबाइल ऐप्लिकेशन इंस्टॉल, ऐप्लिकेशन इंस्टॉल करने का बढ़ावा देने वाले विज्ञापनों से मिलते हैं. विज्ञापन पर किए गए खर्च का आरओआई (लागत पर मुनाफ़ा) बढ़ाने के लिए, उन डिवाइसों पर ऐप्लिकेशन इंस्टॉल करने का विज्ञापन न दिखाएं जिन पर वह ऐप्लिकेशन पहले से इंस्टॉल है. इस प्रस्ताव में, हम इस प्रोसेस को "ऐप्लिकेशन इंस्टॉल करने के लिए विज्ञापन फ़िल्टर करना" कहते हैं.

इस प्रस्ताव में बताया गया है कि Android पर सुरक्षित ऑडियंस, कॉन्टेक्स्ट के हिसाब से विज्ञापन फ़िल्टर करने की सुविधा कैसे उपलब्ध कराती है. खास तौर पर, यह निजता बनाए रखते हुए, ऐप्लिकेशन इंस्टॉल करने का बढ़ावा देने वाले विज्ञापनों को फ़िल्टर करने में मदद करती है. इस सुविधा में हिस्सा लेने के लिए, डिवाइस पर मौजूद ऐप्लिकेशन को ऐप्लिकेशन इंस्टॉल करने के लिए विज्ञापन फ़िल्टर करने की सुविधा के लिए साफ़ तौर पर ऑप्ट-इन करना होगा. विज्ञापन चुनने के दौरान, विज्ञापन के लिए चुने गए विकल्पों को, विज्ञापन टेक्नोलॉजी के ज़रिए डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन की सूची के आधार पर फ़िल्टर किया जाता है.

इंस्टॉल किए गए ऐप्लिकेशन की सूची, सिर्फ़ विज्ञापन चुनने के फ़्लो में दिखती है. साथ ही, यह डिवाइस पर किसी ऐप्लिकेशन के मौजूद होने के आधार पर, किसी खास विज्ञापन को फ़िल्टर करने का सिग्नल देने के लिए, बाय-साइड प्लैटफ़ॉर्म पर निर्भर करती है.

ऐप्लिकेशन इंस्टॉल करने के लिए विज्ञापन फ़िल्टर करने की सुविधा सेट अप करने के लिए, यह तरीका अपनाएं:

पहला चरण: ऐप्लिकेशन इंस्टॉल करने का बढ़ावा देने वाले विज्ञापनों को फ़िल्टर करने के लिए ऐप्लिकेशन रजिस्टर करना

ऐप्लिकेशन इंस्टॉल करने के विज्ञापनों को फ़िल्टर करने की सुविधा के लिए ऑप्ट-इन करने के लिए, ऐप्लिकेशन डेवलपर अपने ऐप्लिकेशन या विज्ञापन टेक्नोलॉजी के SDK से registerForAdFiltering ऐप्लिकेशन रजिस्ट्रेशन एपीआई को कॉल करता है. साथ ही, विज्ञापन टेक्नोलॉजी के खरीदार के eTLD+1 की सूची भी देता है. इससे, सूची में शामिल खरीदारों को ऐप्लिकेशन के इंस्टॉल स्टेटस के आधार पर विज्ञापन फ़िल्टर करने की अनुमति मिलती है. यह अनुमति सिर्फ़ उन खरीदारों को मिलती है. चाहे वे सीधे तौर पर ऐसा करें या अपने विज्ञापन टेक्नोलॉजी के SDK टूल का इस्तेमाल करके. रजिस्टर करने पर, ऐप्लिकेशन डेवलपर को यह तय करने का पूरा कंट्रोल मिल जाता है कि ऐप्लिकेशन इंस्टॉल करने के लिए बढ़ावा देने वाले विज्ञापनों को फ़िल्टर करने की सुविधा में उनके ऐप्लिकेशन को शामिल करना है या नहीं. java void registerForAdFiltering(List<AdTechIdentifier> buyers);

दूसरा चरण: ऐप्लिकेशन इंस्टॉल करने के विज्ञापनों को फ़िल्टर करने का अनुरोध करना

जब किसी विज्ञापन को बिडिंग के लिए चुना जाता है, तो खरीदार उस विज्ञापन को फ़्लैग कर सकते हैं, ताकि ऐप्लिकेशन के इंस्टॉल होने की स्थिति के आधार पर उसे फ़िल्टर किया जा सके. ऐसा करने के लिए, विज्ञापन के मेटाडेटा में ऐप्लिकेशन के पैकेज का नाम शामिल करें. ऐप्लिकेशन इंस्टॉल करने के लिए विज्ञापन फ़िल्टर करने का अनुरोध, Protected Audience नीलामी की प्रोसेस में डाले गए विज्ञापन डेटा का हिस्सा होता है. यह विज्ञापन डेटा, इस आधार पर अलग-अलग तरीके से बनाया जाता है कि यह कॉन्टेक्स्ट या रीमार्केटिंग विज्ञापन है या नहीं.

  • कॉन्टेक्स्ट के हिसाब से विज्ञापन दिखाने के उदाहरण के लिए, फ़िल्टर करने की जानकारी को विज्ञापन डेटा के हिस्से के तौर पर शामिल किया जाता है. यह जानकारी, खरीदार, सुरक्षित ऑडियंस के बाहर कॉन्टेक्स्ट के हिसाब से बिड का जवाब देते समय, सेलर को दे सकते हैं. यह ऐप्लिकेशन इंस्टॉल करने के लिए विज्ञापन फ़िल्टर करने का मुख्य उदाहरण है. सुरक्षित ऑडियंस को उम्मीद है कि फ़िल्टर करने की जानकारी, विज्ञापन के हिसाब से जवाब के हिस्से के तौर पर दी जाएगी. ठीक उसी तरह जैसे विज्ञापन के हिसाब से तैयार किए गए किसी भी अन्य मेटाडेटा को दिया जाता है.
  • रीमार्केटिंग के इस्तेमाल के उदाहरण के लिए, Protected Audience को उम्मीद है कि फ़िल्टर करने की जानकारी को कस्टम ऑडियंस में शामिल किया जाएगा. ऑडियंस में शामिल होने के दो अवसर होते हैं: ऑडियंस में शामिल होने के दौरान और ऑडियंस अपडेट करने की प्रोसेस के तहत, नई ऑडियंस का डेटा फ़ेच करने के दौरान. ऐप्लिकेशन इंस्टॉल करने का बढ़ावा देने वाले विज्ञापनों को फ़िल्टर करने का अनुरोध, AdData JSON ऑब्जेक्ट में इस तरह दिखना चाहिए: json { "render_uri": "https://..", "metadata": {..}, "filters": { "app_install": { "app_package_names": ["app1.package", "app2.package"] } } }

तीसरा चरण: विज्ञापन चुनते समय, ऐप्लिकेशन इंस्टॉल करने के लिए बढ़ावा देने वाले विज्ञापनों को फ़िल्टर करना

विज्ञापन अनुरोध के दौरान, खरीदार फ़िल्टर करने की जानकारी के साथ सेलर को कई विज्ञापन वापस भेज सकता है, ताकि इंस्टॉल किए गए ऐप्लिकेशन के विज्ञापन फ़िल्टर किए जा सकें. adData फ़ील्ड में selectAds फ़ंक्शन कॉन्फ़िगरेशन के हिस्से के तौर पर, बिक्री करने वाले पक्ष को फ़िल्टर करने की जानकारी देनी होगी. Android को इस तरह का मैसेज फ़ॉर्मैट चाहिए.

AdData myAdData = new AdData.Builder()
        .setRenderUri(Uri.parse("https://.."))
        .setMetadata("{...}")
        .setFilters(new AdFilters.Builder()
                .setAppInstalledFilter(new AppInstalledFilter.Builder()
                    .setPackageNames(ImmutableList.of("app1.package", "app2.package"))
                    .build())
                .build())
        .build();
AdSelectionConfig myAdSelectionConfig = new AdSelectionConfig.Builder()
    .setSeller(AdTechIdentifier.fromString("example-ssp1.com"))
    .setDecisionLogicUri(Uri.parse("https://..."))
    ...
    .setContextualAds(ImmutableList.of(new ContextualAd.Builder()
                      .setBuyer(AdTechIdentifier.fromString("example.com"))
                      .setReportingUri("https://example.com/reporting")
                      .setBid(20)
                      // myAdData could be taken from the JSON defined earlier
                      .setAd(myAdData)
                      .build()))
    .build();
// Invoke ad services API to initiate ad selection workflow.
selectAds(myAdSelectionConfig);

फ़िल्टर करने की प्रोसेस, selectAds API में की जाती है. अगर मैसेज में बताया गया ऐप्लिकेशन, विज्ञापन टेक्नोलॉजी खरीदारों की ऐप्लिकेशन इंस्टॉल करने की सूची में मौजूद ऐप्लिकेशन से मैच करता है, तो सुरक्षित ऑडियंस विज्ञापन को फ़िल्टर कर देती है. इसके दो नतीजे हो सकते हैं:

  • इस सूची में ऐप्लिकेशन नहीं मिला, इसका मतलब है कि यह इंस्टॉल नहीं है और न ही इसे खोला गया है.
  • ऐप्लिकेशन इस सूची में मौजूद है, इसका मतलब है कि वह इंस्टॉल हो गया है और उसे खोला जा सकता है. अगर Protected Audience को पता चलता है कि कोई ऐप्लिकेशन पहले से मौजूद है, तो उस विज्ञापन को उन विज्ञापनों की सूची से बाहर रखा जाता है जिनका इस्तेमाल नीलामी में scoreAds को चलाने के लिए किया जाता है.

संदर्भ के हिसाब से विज्ञापन दिखाने के लिए ध्यान रखने वाली बातें

ऐप्लिकेशन इंस्टॉल करने के लिए विज्ञापन फ़िल्टर करने की सुविधा की मदद से, Protected Audience API, कॉन्टेक्स्ट के हिसाब से विज्ञापन फ़िल्टर करने की सुविधा के साथ काम करना शुरू कर देते हैं. कुछ मामलों में, नीलामी में संदर्भ और रीमार्केटिंग विज्ञापनों का मिश्रण होता है या पूरी तरह से सिर्फ़ संदर्भ विज्ञापनों का होता है. ऐसे में, कुछ बातों के बारे में बताना ज़रूरी होता है.

  • selectAd नीलामी होने पर, खरीदार के पास ContextualAd ऑब्जेक्ट की सूची को पास करने का विकल्प होता है. इन ऑब्जेक्ट में, विज्ञापन खरीदार का eTLD+1, विज्ञापन के लिए बिड, विज्ञापन के लिए रिपोर्टिंग लॉजिक पर ले जाने वाला यूआरएल, और AdData शामिल होता है. इसमें, विज्ञापन के असल कॉन्टेंट का यूआरएल और खरीदार का पुष्टि करने वाला हस्ताक्षर होता है. ज़्यादा जानकारी के लिए, संदर्भ के हिसाब से विज्ञापन दिखाने के लिए हस्ताक्षर देखें. ध्यान दें कि AdData फ़ॉर्मैट का इस्तेमाल, कॉन्टेक्स्ट और रीमार्केटिंग, दोनों तरह के विज्ञापनों में किया जाता है.
  • नीलामी की प्रोसेस की शुरुआत में, संदर्भ के हिसाब से दिखाए जाने वाले और रीमार्केटिंग विज्ञापनों को AdData.adFilters.appInstallFilters.packageNames में शामिल पैकेज के नामों के सेट का इस्तेमाल करके फ़िल्टर किया जाता है. इसके बाद, किसी भी रीमार्केटिंग विज्ञापन के लिए बिड वैल्यू तय की जाती हैं. साथ ही, दिए गए scoreAds फ़ंक्शन का इस्तेमाल करके, रीमार्केटिंग और कॉन्टेक्स्ट के हिसाब से विज्ञापन, दोनों को स्कोर दिया जाता है. सबसे ज़्यादा स्कोर वाला विज्ञापन जीत जाता है. ध्यान दें कि यह प्रोसेस तब भी काम करती है, जब कोई रीमार्केटिंग विज्ञापन मौजूद न हो.
  • अगर कोई कॉन्टेक्स्ट विज्ञापन नीलामी जीतता है और ऐप्लिकेशन से इंप्रेशन रिपोर्टिंग ट्रिगर होती है, तो Protected Audience, कॉन्टेक्स्ट विज्ञापन डेटा में शामिल रिपोर्टिंग यूआरएल से reportWin() नाम का एक JS फ़ंक्शन डाउनलोड और उसे लागू करता है. यह उसी तरह है जिस तरह नीलामी में जीतने वाले रीमार्केटिंग विज्ञापन के लिए रिपोर्टिंग की जाती है.

    JavaScript रिपोर्टिंग फ़ंक्शन का सैंपल:

    function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer,
    contextual_signals) {
    let reporting_address = 'https://reporting.example.com';
    return {'status': 0, 'results': {'reporting_uri':
         reporting_address + '?some_signal=' + per_buyer_signals.some_signal} };
    }
    

कॉन्टेक्स्ट के हिसाब से विज्ञापन दिखाने की सुविधा

  • कॉन्टेक्स्ट के हिसाब से दिखाए जाने वाले ऐसे विज्ञापनों के लिए, खरीदार को हस्ताक्षर करना होगा जिनमें ऐप्लिकेशन इंस्टॉल करने की सुविधा को फ़िल्टर किया गया हो. प्लैटफ़ॉर्म इस हस्ताक्षर का इस्तेमाल, विज्ञापन देने वाली उस टेक्नोलॉजी की पुष्टि करने के लिए करता है जिसने विज्ञापन दिखाए हैं. साथ ही, यह भी तय करता है कि विज्ञापनों पर कौनसे विज्ञापन टेक्नोलॉजी ऐप्लिकेशन इंस्टॉल फ़िल्टर लागू करने हैं. ऐसा इसलिए किया जाता है, ताकि नुकसान पहुंचाने वाले किसी विज्ञापन टेक्नोलॉजी (विज्ञापन दिखाने वाले सिस्टम) को किसी दूसरे विज्ञापन टेक्नोलॉजी की पहचान का इस्तेमाल करने से रोका जा सके. इससे, वह दूसरे विज्ञापन टेक्नोलॉजी के ऐप्लिकेशन इंस्टॉल फ़िल्टरिंग रजिस्ट्रेशन का फ़ायदा नहीं ले पाएगा.

  • Privacy Sandbox, रजिस्टर करने के दौरान दिए गए विज्ञापन टेक्नोलॉजी एंडपॉइंट से ये कुंजियां फ़ेच करेगा. हमारा सुझाव है कि पासकोड को अक्सर अपडेट किया जाना चाहिए. हालांकि, इसे हर छह महीने से ज़्यादा समय तक अपडेट नहीं किया जाना चाहिए.

  • Privacy Sandbox, रजिस्टर करने की प्रोसेस के दौरान, विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली कंपनियों से, उनके दिए गए एंडपॉइंट की उपलब्धता की पुष्टि करने के लिए कहेगा. मौजूदा और हाल ही में रजिस्टर किए गए विज्ञापन टेक्नोलॉजी पार्टनर को ज़रूरी कार्रवाई के बारे में ज़्यादा जानने के लिए, रजिस्टर करने के निर्देश देखें.

  • इसे लागू करने के बारे में ज़्यादा जानकारी के साथ, डेवलपर गाइड को जल्द ही पब्लिश किया जाएगा.