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

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

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

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

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

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

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

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

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

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

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

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

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

SDK टूल के लिए ये प्रमाणित किए जाएंगे, ताकि विज्ञापन दिखाने के तरीके को बेहतर बनाया जा सके:

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

खुले सवाल

हम इन विषयों के बारे में सुझाव/राय देते हैं या शिकायत करते हैं:

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