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