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

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

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

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

  • MRAID v3 के लिए, Google Play services 15.0.0 या इसके बाद का वर्शन
  • MRAID v2 के लिए, Google Play services 7.8 या इसके बाद का वर्शन

काम के प्राइमर

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

MRAID v3 (बीटा वर्शन) को लागू करने के बारे में जानकारी

विज्ञापन दिखने से जुड़े आंकड़े - exposureChange इवेंट

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

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

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

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

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

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

सुनाई देने की सुविधा का मेज़रमेंट

एक नया इवेंट (audioVolumeChange) जोड़ा गया है. इससे यह पता चलता है कि ऑडियो सुनाई दे रहा है या नहीं और आवाज़ कब बदली.

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

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

mraid.getLocation()

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

mraid.unload()

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

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

टाइप unload() फ़ंक्शन का व्यवहार
बैनर मौजूदा विज्ञापन के अनुरोध पैरामीटर के साथ नया विज्ञापन अनुरोध करें.
इंटरस्टीशियल विज्ञापन इंटरस्टीशियल विज्ञापन बंद करें.

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.resize() को तब तक कोई कॉल नहीं मिलेगा, जब तक mraid.setResizeProperties() को मान्य पैरामीटर के साथ फिर से कॉल नहीं किया जाता.

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.storePicture()

किसी ऐप्लिकेशन के लिए mraid.storePicture() की सुविधा काम करे, इसके लिए उसमें android.permission.WRITE_EXTERNAL_STORAGE अनुमति शामिल होनी चाहिए.