Google Mobile Ads SDK में अब MRAID v3 के लिए बीटा वर्शन की सुविधा उपलब्ध है. यह MRAID v2 के लिए मौजूदा सहायता पर आधारित है. इससे विज्ञापन देने वाले लोग, Ad Manager के पब्लिशर को MRAID v3 क्रिएटिव दिखा सकते हैं. इस गाइड में, MRAID के लागू करने से जुड़ी उन जानकारी के बारे में बताया गया है जो 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() को कॉल करता है, तो ऐप्लिकेशन अपने-आप इमेज सेव करने की अनुमति का अनुरोध करता है.