सुरक्षित ऑडियंस मीडिएशन की मदद से, एक से ज़्यादा सेलर के लिए नीलामी की सुविधा

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

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

  1. वॉटरफ़ॉल मीडिएशन: ऐप्लिकेशन डेवलपर विज्ञापन नेटवर्क की क्रम वाली सूची तय करते हैं. इन्हें अक्सर दिए गए नेटवर्क के लिए, पुराने eCPMs के हिसाब से रैंक किया जाता है. इस सूची को मीडिएशन चेन के तौर पर जाना जाता है. ऐप्लिकेशन डेवलपर का मीडिएशन प्लैटफ़ॉर्म इस सूची का इस्तेमाल करके, विज्ञापन नेटवर्क कंपनियों को उसी क्रम में कॉल करता है जिस क्रम में वे विज्ञापन की मांग के सोर्स का पता लगाने के लिए सूची में शामिल हैं.
  2. प्रोग्रामैटिक मीडिएशन: ऐप्लिकेशन डेवलपर विज्ञापन दिखाने के अवसरों के लिए बिडिंग में हिस्सा लेने के लिए, कई विज्ञापन नेटवर्क कंपनियों को कॉन्फ़िगर करता है. इन नेटवर्क को इस आधार पर रीयल-टाइम में बिड करने की अनुमति है कि वे अवसर को किस तरह अहमियत देते हैं.
  3. हाइब्रिड मीडिएशन: यह वॉटरफ़ॉल और प्रोग्राम के हिसाब से मीडिएशन की तकनीकों का कॉम्बिनेशन होता है.

वॉटरफ़ॉल मीडिएशन

वॉटरफ़ॉल मीडिएशन में, विज्ञापन का कोई अवसर उपलब्ध होने पर, विज्ञापन SDK टूल अपने बैकएंड सर्वर पर एक अनुरोध भेजता है. जवाब देने के लिए, सर्वर किसी सफल विज्ञापन क्रिएटिव का इस्तेमाल करता है. इसके बजाय, सर्वर उस मीडिएशन चेन का इस्तेमाल करता है जिसमें पुराने eCPM के हिसाब से क्रम में लगाए गए विज्ञापन नेटवर्क की सूची होती है.

वॉटरफ़ॉल मीडिएशन मॉडल का डायग्राम
पहली इमेज. वॉटरफ़ॉल मीडिएशन मॉडल.

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

वॉटरफ़ॉल मीडिएशन को अक्सर मीडिएशन चेन को नियमित तौर पर ऑर्डर करके ऑप्टिमाइज़ किया जाता है. ऐसा, पहले पक्ष के विज्ञापन डिमांड सोर्स से मिले eCPM के फिर से आकलन के आधार पर किया जाता है.

प्रोग्राम के हिसाब से, अपने-आप होने वाली प्रोसेस के दौरान मीडिएशन की सुविधा

किस विज्ञापन नेटवर्क कंपनी को विज्ञापन अनुरोध दिखाने का मौका मिलता है, यह तय करने के लिए पुराने eCPM का इस्तेमाल करने का एक विकल्प है. इसे "हेडर बिडिंग" भी कहा जाता है. प्रोग्रामैटिक मीडिएशन की मदद से, सेवा देने वाली कंपनियां सबसे अच्छे विज्ञापन को ढूंढने के लिए लाइव बिड की वैल्यू का इस्तेमाल करती हैं.

प्रोग्रामैटिक मीडिएशन मॉडल का डायग्राम
दूसरी इमेज: प्रोग्रामैटिक मीडिएशन मॉडल

हाइब्रिड मीडिएशन

कुछ प्रोग्रामैटिक मीडिएशन (अलग-अलग नेटवर्क से विज्ञापन दिखाना) समाधान, विज्ञापन नेटवर्क को वॉटरफ़ॉल और बिडिंग के हाइब्रिड मोड में जोड़ते हैं. इससे विज्ञापन पर ज़्यादा कंट्रोल मिलता है. साथ ही, इस सुविधा का इस्तेमाल करने वाली विज्ञापन नेटवर्क कंपनियों से आय बढ़ाने के लिए, लाइव eCPM का इस्तेमाल करने का फ़ायदा मिलता है.

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

सुरक्षित ऑडियंस वॉटरफ़ॉल मीडिएशन

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

  1. मीडिएशन SDK, काम के विज्ञापन सर्वर के एंडपॉइंट से मीडिएशन चेन को फ़ेच करता है. इससे, काम के विज्ञापन या मीडिएशन चेन दिखाए जा सकते हैं.
  2. अगर विज्ञापन सर्वर एंडपॉइंट कोई मीडिएशन चेन दिखाता है, तो मीडिएशन SDK टूल, चेन के हर आइटम पर एक क्रम में कार्रवाई करता है. साथ ही, विज्ञापन नेटवर्क कंपनी के SDK टूल को, काम के और रीमार्केटिंग वाले विज्ञापन चुनने के लिए कहा जाता है. चेन का हर आइटम, किसी विज्ञापन नेटवर्क कंपनी के उस अनुरोध के बारे में बताता है जिसमें एक खास कीमत पर इंप्रेशन, क्लिक या विज्ञापन के लिए तय किए गए समय के हिसाब से विज्ञापन स्पेस खरीदने का अनुरोध किया गया है.
  3. अगर चेन का कोई भी लाइन आइटम सफल विज्ञापन को नहीं चुनता है, तो मीडिएशन SDK टूल अपने विज्ञापन नेटवर्क से विज्ञापन दिखाने का विकल्प चुन सकता है. इसके लिए, वह रीमार्केटिंग और संदर्भ के हिसाब से दिखाए जाने वाले, दोनों तरह के विज्ञापनों पर विचार करने के लिए, सुरक्षित ऑडियंस विज्ञापन चुनने की सुविधा का इस्तेमाल कर सकता है.

Protected Audience के वॉटरफ़ॉल मीडिएशन फ़्लो का डायग्राम
तीसरी इमेज. Protected Audience API के साथ वॉटरफ़ॉल मीडिएशन.

पिछला डायग्राम, वॉटरफ़ॉल मीडिएशन एल्गोरिदम का एक उदाहरण दिखाता है. इसे मीडिएशन SDK टूल लागू कर सकता है, लेकिन पहले-पक्ष की विज्ञापन नेटवर्क कंपनी के पास इसे ऑप्टिमाइज़ करने की सुविधा नहीं होती. Protected Audience API, पहले पक्ष के विज्ञापन नेटवर्क को ऑप्टिमाइज़ करता है. इसके लिए, विज्ञापन चुनने के वर्कफ़्लो को चेन करने और सफल इंप्रेशन की रिपोर्टिंग करने की अनुमति दी जाती है.

विज्ञापन चुनने का नतीजा

selectAds() का रिटर्न टाइप एक AdSelectionOutcome ऑब्जेक्ट है. AdSelectionOutcome में जीतने वाले विज्ञापन का रेंडर यूआरआई और AdSelectionId शामिल होता है. यह एक ओपेक पूर्णांक होता है, जो जीतने वाले लाइन आइटम के विज्ञापन क्रिएटिव की पहचान करता है.

AdSelectionOutcome {
  Uri renderUri;
  Long AdSelectionId;
}

AdSelectionId, AdSelectionOutcome के लिए पॉइंटर की तरह काम करता है. फ़िलहाल, AdSelectionId को reportResult() तरीके में ReportImpressionInput पैरामीटर के तौर पर पास किया जाता है, ताकि उन सही विज्ञापनों की पहचान की जा सके जिन पर reportWin() और reportResult() तरीकों का इस्तेमाल किया गया है.

चेन विज्ञापन चुनने का प्रस्ताव

हम AdSelectionFromOutcomesConfig के साथ, selectAds() को ओवरलोड करने का सुझाव देते हैं.

val config = AdSelectionFromOutcomesConfig.Builder()
        .setSeller(seller)
        .setAdSelectionIds(listOf(outcome1pAdSelectionId))
        .setSelectionSignals({"bid_floor": bidFloorOfNextNetworkInline})
        .setSelectionLogicUri(selectionLogicUri)
        .build()
adSelectionClient.selectAds(config)

इससे मीडिएशन SDK टूल अपने विजेता विज्ञापन की बिड की तुलना, अगली-इनलाइन नेटवर्क की बिड की कम से कम सीमा से कर पाता है.

पहला उदाहरण:

दूसरा उदाहरण:

सफल इंप्रेशन की रिपोर्ट करें

अगर selectAds(AdSelectionFromOutcomes) में कोई विजेता होता है, तो वह विज्ञापन मीडिएशन में जीत जाता है. इसके बाद, reportImpression को selectAds(AdSelectionFromOutcomes) के जीतने वाले विज्ञापन और उससे जुड़े AdSelectionConfig के विज्ञापन चुनने के आईडी के साथ कॉल किया जाता है.

अगर किसी भी नेटवर्क के लिए, विजेता को selectAds(AdSelectionConfig) से दिया जाता है, तो reportImpression को विज्ञापन चुनने के आईडी और उस कॉल से कॉन्फ़िगरेशन के साथ कॉल किया जाता है.

वॉटरफ़ॉल मीडिएशन चलाएं

वॉटरफ़ॉल मीडिएशन प्रोसेस को चलाने के लिए, कार्रवाइयों का क्रम यहां दिया गया है.

  1. पहले पक्ष का विज्ञापन चुनें.
  2. मीडिएशन चेन पर फिर से लागू करें. हर तीसरे पक्ष के नेटवर्क के लिए, ये काम करें:
    1. AdSelectionFromOutcomeConfig बनाएं, जिसमें पहले पक्ष के outcomeId और तीसरे पक्ष के SDK टूल की बिड फ़्लोर शामिल हो
    2. पिछले चरण में दिए गए config के साथ, selectAds() को कॉल करें.
    3. अगर नतीजा खाली नहीं है, तो विज्ञापन दिखाएं.
    4. मौजूदा SDK टूल नेटवर्क अडैप्टर के selectAds() तरीके को कॉल करें. अगर नतीजा खाली नहीं है, तो विज्ञापन दिखाएं.
  3. अगर चेन से कोई विजेता नहीं मिलता है, तो पहले पक्ष का विज्ञापन दिखाएं.

सबसे सही तरीके

पहले पक्ष के ऑप्टिमाइज़ेशन से पहले, काम की नीलामियां चलाएं

रीमार्केटिंग की मांग से ज़्यादा बिड जनरेट हो सकती हैं, जिससे किसी मीडिएशन चेन में जीतने वाले नतीजे मिल सकते हैं. काटे-छांटने की प्रक्रिया का इस्तेमाल अक्सर रीमार्केटिंग ऑडियंस की सूची को बेहतर करके पहले-पक्ष के ऑप्टिमाइज़ेशन को चालू करने के लिए किया जाता है.

Protected Audience API की रीमार्केटिंग डिमांड, सिर्फ़ Protected Audience API के साथ क्लाइंट-साइड पर उपलब्ध होती है. इस वजह से, सर्वर साइड पर पहले पक्ष (ग्राहक) के ऑप्टिमाइज़ेशन को चालू करना मुश्किल हो सकता है. पहले पक्ष के ऑप्टिमाइज़ेशन से जुड़ी समस्याओं को कम करने के लिए, सबसे पहले, नीलामी के हिसाब से नीलामी करें. इसके बाद, जीतने वाले विज्ञापन के नतीजे के आधार पर, पहले पक्ष की ऑप्टिमाइज़ेशन करें. इसके बारे में इस पेज पर पहले बताया गया है.

अपनी ऑन-डिवाइस मीडिएशन चेन को छोटा रखें

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

अन्य जानकारी

Protected Audience API, एक से ज़्यादा विज्ञापन स्लॉट के लिए, मीडिएशन की पूरी सुविधा नहीं देता. हर विज्ञापन स्लॉट को अलग से प्रोसेस किया जाना चाहिए.

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

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