Google Mobile Ads SDK में अब MRAID v3 के लिए बीटा वर्शन की सुविधा उपलब्ध है. यह MRAID v2 के लिए मौजूदा सहायता पर आधारित है. इससे विज्ञापन देने वाले लोग, Ad Manager के पब्लिशर को MRAID v3 क्रिएटिव दिखा सकते हैं. इस गाइड में, MRAID v3 के स्पेसिफ़िकेशन में दी गई उन जानकारी के बारे में बताया गया है जो साफ़ तौर पर नहीं बताई गई थीं और जिनकी अलग-अलग व्याख्या की जा सकती थी. यह गाइड, MRAID v3 क्रिएटिव के ऑथर के लिए है.
ज़रूरी शर्तें
पब्लिशर के पास ये होने चाहिए:
काम की शुरुआती जानकारी
अगर आपको MRAID के बारे में जानकारी नहीं है, तो IAB MRAID पेज पर जाकर ज़्यादा जानें. इसके अलावा, MRAID v3 की परिभाषाओं वाला दस्तावेज़ डाउनलोड किया जा सकता है. इसमें, नीचे बताए गए सभी पैरामीटर के साथ-साथ, MRAID v3 के बारे में IAB के ब्लॉग पोस्टकी जानकारी भी दी गई है.
MRAID v3 (बीटा) को लागू करने से जुड़ी जानकारी
दर्शनीयता - exposureChange इवेंट
यह इवेंट काम करता है. हमारा सुझाव है कि आप viewableChange इवेंट के बजाय, नए exposureChange इवेंट के लिए लिसनर का इस्तेमाल करें. viewableChange इवेंट को अब इस्तेमाल नहीं किया जा सकता.
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.storePicture()
किसी ऐप्लिकेशन को mraid.storePicture() के साथ काम करने के लिए, उसमें android.permission.WRITE_EXTERNAL_STORAGE की अनुमति शामिल होनी चाहिए.