Android पर नेटिव विज्ञापन

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

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

एसडीके रनटाइम में बैनर विज्ञापन दिखाने की सुविधा, SurfaceControlViewHost एपीआई के ज़रिए मिलती है. इससे एसडीके को, एसडीके रनटाइम प्रोसेस से उपयोगकर्ता इंटरफ़ेस वाले एलिमेंट दिखाने की अनुमति मिलती है. इन्हें क्लाइंट ऐप्लिकेशन से नहीं बदला जा सकता. SurfaceView Z above या Z below मोड का इस्तेमाल करके यह तय करें कि SDK यूज़र इंटरफ़ेस (यूआई) को रेंडर करने वाला सर्फ़ेस, क्लाइंट ऐप्लिकेशन की विंडो के ऊपर है या नीचे. ज़ेड अबव मोड का इस्तेमाल करके विज्ञापन रेंडर किए जाने पर, एसडीके को उपयोगकर्ता के इंटरैक्शन से MotionEvents मिलता है. हालांकि, क्लाइंट ऐप्लिकेशन के व्यू, विज्ञापन पर नहीं दिखते. जब विज्ञापन को Z बिलो मोड में रेंडर किया जाता है, तो ऐप्लिकेशन, विज्ञापन के ऊपर अपने व्यू दिखाता है. हालांकि, विज्ञापन पर उपयोगकर्ता की गतिविधि से मिलने वाले MotionEvents ऐप्लिकेशन को मिलते हैं, न कि एसडीके टूल को.

एसडीके और पब्लिशर, यूज़र इंटरफ़ेस (यूआई) सेशन को सेट अप करने और उसे बनाए रखने के लिए, privacysandbox.ui Jetpack लाइब्रेरी का इस्तेमाल कर सकते हैं.

ऐप्लिकेशन के मालिकाना हक वाला विज्ञापन कंटेनर

हमने एक प्रोटोटाइप बनाया है, जिसमें नेटिव विज्ञापन दिखाने वाले सभी व्यू (ऐप्लिकेशन के ओवरले भी शामिल हैं) को एसडीके के कंट्रोल में रखा गया है. हमने पाया कि ऐसा किया जा सकता है, लेकिन इससे यूज़र इंटरफ़ेस (यूआई) पर कुछ पाबंदियां लग जाती हैं. साथ ही, एसडीके के साथ इंटिग्रेशन करना मुश्किल हो जाता है. ज़्यादा व्यावहारिक तरीका यह है कि ऐप्लिकेशन को ज़्यादातर व्यू का मालिकाना हक दिया जाए. SDK टूल अब भी SandboxedSdkView से privacysandbox.ui का इस्तेमाल करके, कुछ यूज़र इंटरफ़ेस (यूआई) दिखा सकता है. जैसे, विज्ञापन व्यू. इस तरीके से, इस विज्ञापन फ़ॉर्मैट के मौजूदा और आने वाले समय के इस्तेमाल के उदाहरणों को सबसे ज़्यादा फ़ायदा मिलता है: इस तरीके से, ऐप्लिकेशन डेवलपर को विज्ञापन कॉम्पोनेंट को अपनी ज़रूरत के हिसाब से व्यवस्थित करने और स्टाइल करने का मौका मिलता है. वहीं, एसडीके के पास वीडियो प्लेयर का मालिकाना हक बना रहता है. साथ ही, मीडिया कंट्रोल का ऐक्सेस भी बना रहता है.

इस डायग्राम में दिखाया गया है कि पब्लिशर और SDK के बीच डेटा कैसे ट्रांसफ़र होता है.
नेटिव विज्ञापन कंट्रोल करने के लिए सुझाया गया फ़्लो.

विज्ञापन की स्थिति के बारे में सूचनाएं

धोखाधड़ी का पता लगाने और नीति के उल्लंघनों का पता लगाने के लिए, अलग-अलग एसडीके, विज्ञापन व्यू की अलग-अलग प्रॉपर्टी देखते हैं. हम इस सुविधा को बिना किसी रुकावट के उपलब्ध कराना चाहते हैं. इसके लिए, हम यह तय नहीं करेंगे कि किन प्रॉपर्टी का इस्तेमाल करना है. साथ ही, हम एसडीके के लिए भी कोई रुकावट नहीं बनना चाहते, ताकि वह क्वेरी की गई प्रॉपर्टी के सेट को बदल सके. हम NativeAdContainerInfo का इस्तेमाल करके, विज्ञापन कंटेनर और उसके चाइल्ड व्यू का प्रतिनिधित्व करने का सुझाव देते हैं. यह पार्सल किया जा सकने वाला ऑब्जेक्ट होगा. इसमें कई गेटर होंगे, जो विज्ञापन कंटेनर और उसके कॉन्टेंट तक सीमित जानकारी दिखाएंगे. इस जानकारी में निजता बनाए रखने का ध्यान रखा जाएगा और इसे कंप्यूट करना महंगा नहीं होगा. एसडीके, NativeAdContainerInfo में शामिल सिग्नल की कैटगरी के लिए ऑप्ट इन कर सकेगा. एसडीके को यह ऑब्जेक्ट तब मिलेगा, जब विज्ञापन की स्थिति में एसडीके के हिसाब से बदलाव होगा. जैसे, बिल किए जा सकने वाले इवेंट, जैसे कि विज्ञापन इंप्रेशन और उपयोगकर्ता के क्लिक.`

इसके अलावा, पब्लिशर NativeAdContainer में जोड़े गए हर चाइल्ड के लिए, व्यू के हिसाब से टैग (स्ट्रिंग) जोड़ पाएगा. इनका इस्तेमाल करके, एसडीके को यह बताया जा सकता है कि हर चाइल्ड किस विज्ञापन ऐसेट से जुड़ा है.

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

प्रमाणित करना

विज्ञापन दिखाने के बारे में ज़्यादा भरोसेमंद जानकारी पाने के लिए, एसडीके को ये पुष्टि करने वाले दस्तावेज़ उपलब्ध कराए जाएंगे:

  1. डिवाइस की इंटिग्रिटी की पुष्टि करना: डिवाइस की इंटिग्रिटी का पता लगाने के लिए, Key Attestation जैसे प्लैटफ़ॉर्म एपीआई का इस्तेमाल करें.
  2. एपीके की पहचान: एपीके की पहचान की पुष्टि करने के लिए, SdkSandbox API जैसे कि SdkSandboxController.getClientPackageName और PackageManager API जैसे कि requestChecksum का इस्तेमाल करें.
  3. VerifiedMotionEvents: Android के आने वाले वर्शन में, हम क्लाइंट ऐप्लिकेशन को यह सुविधा देने पर काम कर रहे हैं कि वह इस नेटिव विज्ञापन के एसडीके के मालिकाना हक वाले हिस्सों पर, उपयोगकर्ता के सभी जेस्चर के लिए टच फ़ोकस ट्रांसफ़र कर सके, ताकि एसडीके उन्हें हैंडल कर सके. सिस्टम एपीआई का इस्तेमाल करके, MotionEvents को VerifiedMotionEvents में बदला जा सकता है. अगर एसडीके चाहें, तो उपयोगकर्ता के इंटरैक्शन के जवाब में अपना यूज़र इंटरफ़ेस (यूआई) दिखा सकते हैं.

ऐसे सवाल जिन पर फ़ैसला लेना बाकी है

  1. क्या एसडीके टूल के लिए, VerifiedMotionEvents को खुद जनरेट करना बेहतर है या एसडीके टूल के लिए, यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी को ऐसा करना चाहिए?
  2. क्या एसडीके को पब्लिशर को वीडियो वाले व्यू का मालिकाना हक देना चाहिए या खुद इन व्यू का मालिकाना हक रखना चाहिए?
  3. आपको AppOwnedAdContainerInfo ऑब्जेक्ट में कौनसी प्रॉपर्टी शामिल करनी हैं?
  4. आपको स्क्रीन पर एक ही समय में, एसडीके के मालिकाना हक वाले कितने विज्ञापन या विज्ञापन कॉम्पोनेंट दिखाने हैं?