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