मोबाइल पर दिखने वाले रिच मीडिया विज्ञापन

Google Mobile Ads SDK में अब MRAID v3 के लिए बीटा वर्शन की सुविधा उपलब्ध है. यह MRAID v2 के लिए मौजूदा सुविधा पर आधारित है. इससे विज्ञापन देने वाले लोग, Ad Manager के पब्लिशर को MRAID v3 क्रिएटिव दिखा सकते हैं. इस गाइड में, MRAID v3 के स्पेसिफ़िकेशन में दी गई उन जानकारी के बारे में बताया गया है जो साफ़ तौर पर नहीं बताई गई थीं और जिनकी अलग-अलग व्याख्या की जा सकती थी. यह गाइड, MRAID v3 क्रिएटिव के लेखकों के लिए है.

ज़रूरी शर्तें

पब्लिशर के पास ये वर्शन होने चाहिए:

  • MRAID v3 के लिए, iOS के लिए Google Mobile Ads SDK 7.30.0 या इसके बाद का वर्शन
  • MRAID v2 के लिए, iOS के लिए Google Mobile Ads SDK 7.4.0 या इसके बाद का वर्शन

काम की शुरुआती जानकारी

अगर आपको MRAID के बारे में जानकारी नहीं है, तो IAB MRAID पेज पर जाकर ज़्यादा जानें. इसके अलावा, MRAID v3 की परिभाषाओं वाला दस्तावेज़ डाउनलोड किया जा सकता है. इसमें, नीचे बताए गए सभी पैरामीटर के साथ-साथ MRAID v3 के बारे में IAB के ब्लॉग पोस्ट की जानकारी भी दी गई है.

MRAID v3 (बीटा) को लागू करने से जुड़ी जानकारी

दर्शनीयता - exposureChange इवेंट

यह इवेंट काम करता है. हमारा सुझाव है कि आप बंद हो चुके viewableChange इवेंट के बजाय, नए exposureChange इवेंट के लिए लिसनर का इस्तेमाल करें. mraid.isViewable() तरीका भी बंद हो गया है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा बनाए रखने के लिए, बंद हो चुके इन तरीकों के लिए अब भी सहायता उपलब्ध है.

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

इस्तेमाल के उदाहरण देखने के लिए, MRAID v3 का स्पेसिफ़िकेशन देखें.

MRAID की पहचान और उसे शुरू करना. साथ ही, MRAID_ENV एट्रिब्यूट

एसडीके, MRAID v3 के स्पेसिफ़िकेशन में बताए गए, शुरू करने के प्रोटोकॉल के मुताबिक काम करता है.

MRAID_ENV ऑब्जेक्ट में, एसडीके IDFA, limitAdTracking, ऐप्लिकेशन आईडी या COPPA (ये सभी पैरामीटर ज़रूरी नहीं हैं) नहीं भेजता. यह MRAID_ENV ऑब्जेक्ट में सभी ज़रूरी वैरिएबल उपलब्ध कराता है. इनमें MRAID वर्शन, एसडीके का नाम, और एसडीके का वर्शन शामिल है.

ऑडियो की आवाज़ के मेज़रमेंट से जुड़े आंकड़े

एक नया इवेंट (audioVolumeChange) जोड़ा गया है. इससे यह पता चलता है कि ऑडियो सुना जा सकता है या नहीं. साथ ही, इससे वॉल्यूम में बदलाव होने की जानकारी भी मिलती है.

audioVolumeChange इवेंट में सिर्फ़ एक पैरामीटर होता है: volume_percentage. इसकी वैल्यू, ऑडियो चलाने के लिए तय की गई ज़्यादा से ज़्यादा वॉल्यूम का प्रतिशत होती है. यह 0.0 और 100.0 के बीच का फ़्लोटिंग-पॉइंट नंबर होता है. अगर ऑडियो चलाने की अनुमति नहीं है, तो इसकी वैल्यू 0.0 होती है. अगर वॉल्यूम का पता नहीं लगाया जा सकता, तो इसकी वैल्यू null होती है.

इस्तेमाल के उदाहरण देखने के लिए, MRAID v3 का स्पेसिफ़िकेशन देखें.

mraid.getLocation()

mraid.getLocation() काम नहीं करता. इसलिए, यह हमेशा -1 दिखाता है.

mraid.unload()

इस तरीके को कभी भी कॉल किया जा सकता है. एसडीके, विज्ञापन को खारिज करके, संसाधनों को डीएलोकेट करके, और फिर वेबव्यू को हटाकर या उसे किसी दूसरे दस्तावेज़ या नए विज्ञापन से बदलकर इस पर प्रतिक्रिया देता है.

जब क्रिएटिव unload() को कॉल करता है, तो नेटिव लेयर, अलग-अलग तरह के क्रिएटिव के लिए इस तरह से जवाब देती है:

टाइप unload() का व्यवहार
Banner मौजूदा विज्ञापन के अनुरोध के पैरामीटर का इस्तेमाल करके, विज्ञापन का नया अनुरोध करें.
पेज पर अचानक दिखने वाले विज्ञापन पेज पर अचानक दिखने वाले विज्ञापन को बंद करें.

VPAID (वीडियो प्लेयर ऐड इंटरफ़ेस डेफ़िनिशन)

Google Mobile Ads SDK, VPAID के साथ काम नहीं करता. mraid.supports('vpaid') की वैल्यू गलत होती है.

mraid.useCustomClose()

फ़ॉर्मैट और क्रिएटिव के टाइप के आधार पर, mraid.useCustomClose() काम नहीं कर सकता.

MRAID v2 को लागू करने से जुड़ी जानकारी

mraid.getVersion()

जब तक क्रिएटिव लोड नहीं हो जाता, तब तक mraid.getVersion() की वैल्यू 2.0 नहीं होती. जब mraid.getState() की वैल्यू loading हो, तब MRAID वर्शन की जांच न करें.

mraid.resize()

जब mraid.resize() को कॉल किया जाता है, तो ओरिजनल बैनर की जगह, बैनर की स्क्रीनशॉट वाली इमेज दिखती है. अगर साइज़ बदलने के बाद विज्ञापन, ओरिजनल विज्ञापन की जगह को कवर नहीं करता है, तो यह साफ़ तौर पर दिखता है.

साइज़ बदलने के बाद दिखने वाले विज्ञापन, ओरिजनल बैनर फ़्रेम के हिसाब से भी नहीं दिखते. अगर किसी बैनर को स्क्रोल करने वाले व्यू में रखा जाता है, तो साइज़ बदलने के बाद दिखने वाला विज्ञापन, बैनर के साथ स्क्रोल नहीं करता.

mraid.setResizeProperties()

mraid.setResizeProperties() को कॉल करने पर, ज़रूरी प्रॉपर्टी की पूरी सूची शामिल होनी चाहिए. अगर साइज़ बदलने की प्रॉपर्टी अमान्य हैं, तो वे अपनी डिफ़ॉल्ट वैल्यू पर सेट हो जाएंगी. साथ ही, mraid.setResizeProperties() को मान्य पैरामीटर के साथ फिर से कॉल किए जाने तक, mraid.resize() को कॉल करने पर कोई कार्रवाई नहीं होगी.

mraid.getMaxSize()

mraid.getMaxSize() का इस्तेमाल सिर्फ़ साइज़ बदलने के बाद दिखने वाले विज्ञापनों के लिए, ज़्यादा से ज़्यादा साइज़ तय करने के लिए किया जाना चाहिए. बड़ा किए जा सकने वाले विज्ञापन का साइज़ तय करने के लिए, mraid.getScreenSize() का इस्तेमाल करें.

mraid.setOrientationProperties()

allowOrientationChange प्रॉपर्टी को true पर सेट करके, mraid.setOrientationProperties() को कॉल करने पर, forceOrientation प्रॉपर्टी को सेट करने से कोई फ़र्क़ नहीं पड़ेगा. जिन क्रिएटिव को ओरिएंटेशन फ़ोर्स करना है उन्हें allowOrientationChange को false पर सेट करना चाहिए.

mraid.isViewable()

अगर कोई व्यू, दिखने वाले विज्ञापन को कवर करता है, तब भी mraid.isViewable() की वैल्यू true होगी. ऐप्लिकेशन के कॉन्टेंट से, दिखने वाले विज्ञापन कवर नहीं होने चाहिए.

mraid.getCurrentPosition()

जब दो हिस्सों वाला बड़ा किया जा सकने वाला विज्ञापन, बड़े किए गए मोड में होता है, तब पहले हिस्से पर mraid.getCurrentPosition() को कॉल करने पर, स्क्रीन का साइज़ दिखेगा.

mraid.supports()

एसडीके के 7.11.0 वर्शन से, mraid.supports("storePicture") और mraid.supports("calendar") की वैल्यू हमेशा false होती है. MRAID v2 के स्पेसिफ़िकेशन के मुताबिक, क्रिएटिव को इन तरीकों के उपलब्ध न होने पर भी काम करना चाहिए.

mraid.storePicture()

जब कोई MRAID क्रिएटिव, mraid.storePicture() को कॉल करता है, तो ऐप्लिकेशन अपने-आप इमेज सेव करने की अनुमति का अनुरोध करता है.