IMA SDK की मदद से, अपनी वेबसाइटों और ऐप्लिकेशन में मल्टीमीडिया विज्ञापन आसानी से इंटिग्रेट किए जा सकते हैं. IMA SDK, VAST के साथ काम करने वाले किसी भी विज्ञापन सर्वर से विज्ञापनों का अनुरोध कर सकते हैं. साथ ही, आपके ऐप्लिकेशन में विज्ञापन चलाने की सुविधा को मैनेज कर सकते हैं. IMA क्लाइंट-साइड SDK टूल की मदद से, कॉन्टेंट वीडियो के प्लेबैक को कंट्रोल किया जा सकता है. वहीं, विज्ञापन के प्लेबैक को SDK टूल मैनेज करता है. विज्ञापन, ऐप्लिकेशन के कॉन्टेंट वीडियो प्लेयर के ऊपर मौजूद किसी अलग वीडियो प्लेयर में चलते हैं.
इस गाइड में, IMA SDK को किसी सामान्य वीडियो प्लेयर ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है. अगर आपको इंटिग्रेशन का पूरा सैंपल देखना है या साथ-साथ इंटिग्रेट करना है, तो GitHub से सामान्य उदाहरण डाउनलोड करें. अगर आपको SDK टूल के साथ पहले से इंटिग्रेट किया गया HTML5 प्लेयर चाहिए, तो Video.js के लिए IMA SDK प्लगिन देखें.
IMA क्लाइंट-साइड की खास जानकारी
IMA क्लाइंट-साइड को लागू करने में, एसडीके के चार मुख्य कॉम्पोनेंट शामिल होते हैं. इनके बारे में इस गाइड में बताया गया है:
AdDisplayContainer
: यह एक कंटेनर ऑब्जेक्ट है. इससे यह तय होता है कि IMA, विज्ञापन के यूज़र इंटरफ़ेस (यूआई) एलिमेंट को कहां रेंडर करता है और विज्ञापन दिखने से जुड़े आंकड़ों को मेज़र करता है. इसमें ऐक्टिव व्यू और ओपन मेज़रमेंट शामिल हैं.AdsLoader
: यह एक ऐसा ऑब्जेक्ट है जो विज्ञापनों का अनुरोध करता है और विज्ञापन अनुरोधों के जवाबों से इवेंट हैंडल करता है. आपको सिर्फ़ एक विज्ञापन लोडर को इंस्टैंशिएट करना चाहिए. इसका इस्तेमाल, ऐप्लिकेशन के पूरे लाइफ़टाइम में किया जा सकता है.AdsRequest
: यह एक ऐसा ऑब्जेक्ट है जो विज्ञापन अनुरोध को तय करता है. विज्ञापन अनुरोधों में, वीएएसटी विज्ञापन टैग के लिए यूआरएल के साथ-साथ विज्ञापन डाइमेंशन जैसे अतिरिक्त पैरामीटर भी शामिल होते हैं.AdsManager
: यह एक ऐसा ऑब्जेक्ट है जिसमें विज्ञापन के अनुरोध का जवाब होता है. यह विज्ञापन के चलने की प्रोसेस को कंट्रोल करता है और एसडीके से ट्रिगर होने वाले विज्ञापन इवेंट को सुनता है.
ज़रूरी शर्तें
शुरू करने से पहले, आपको इनकी ज़रूरत होगी:
- तीन खाली फ़ाइलें:
- index.html
- style.css
- ads.js
- आपके कंप्यूटर पर Python इंस्टॉल होना चाहिए या टेस्टिंग के लिए वेब सर्वर होना चाहिए
1. डेवलपमेंट सर्वर शुरू करना
IMA SDK, उन डिपेंडेंसी को लोड करने के लिए उसी प्रोटोकॉल का इस्तेमाल करता है जिस प्रोटोकॉल का इस्तेमाल उस पेज के लिए किया जाता है जहां से उसे लोड किया जाता है. इसलिए, आपको अपने ऐप्लिकेशन की जांच करने के लिए वेब सर्वर का इस्तेमाल करना होगा. लोकल डेवलपमेंट सर्वर शुरू करने का सबसे आसान तरीका, Python के बिल्ट-इन सर्वर का इस्तेमाल करना है.
- कमांड लाइन का इस्तेमाल करके, उस डायरेक्ट्री से यह कमांड चलाएं जिसमें आपकी index.html फ़ाइल मौजूद है:
python -m http.server 8000
- किसी वेब ब्राउज़र में,
http://localhost:8000/
पर जाएं
Apache HTTP Server जैसे किसी अन्य वेब सर्वर का इस्तेमाल भी किया जा सकता है.
2. एक सामान्य वीडियो प्लेयर बनाना
सबसे पहले, index.html में बदलाव करके एक सामान्य HTML5 वीडियो एलिमेंट बनाएं. इसे रैपिंग एलिमेंट में शामिल करें. साथ ही, वीडियो चलाने के लिए एक बटन बनाएं. इस उदाहरण में, IMA SDK को इंपोर्ट किया गया है और AdDisplayContainer
कंटेनर एलिमेंट को सेट अप किया गया है. ज़्यादा जानकारी के लिए, IMA SDK टूल इंपोर्ट करना और विज्ञापन कंटेनर बनाना लेख पढ़ें.
style.css और ads.js फ़ाइलों को लोड करने के लिए, ज़रूरी टैग जोड़ें. इसके बाद, styles.css में बदलाव करके, वीडियो प्लेयर को फ़ोन या टैबलेट के हिसाब से रिस्पॉन्सिव बनाएं. आखिर में, ads.js में अपने वैरिएबल का एलान करें और 'चलाएं' बटन पर क्लिक करने पर वीडियो चलाने की सुविधा को ट्रिगर करें.
ध्यान दें कि ads.js कोड स्निपेट में setUpIMA()
को कॉल करने का तरीका शामिल होता है. इसे AdsLoader को शुरू करें और विज्ञापन का अनुरोध करें सेक्शन में तय किया गया है.
3. IMA SDK इंपोर्ट करना
इसके बाद, index.html में स्क्रिप्ट टैग का इस्तेमाल करके, IMA फ़्रेमवर्क जोड़ें. इसे ads.js
टैग से पहले जोड़ें.
4. विज्ञापन कंटेनर बनाना
ज़्यादातर ब्राउज़र में, IMA SDK, विज्ञापन और विज्ञापन से जुड़े यूज़र इंटरफ़ेस (यूआई) एलिमेंट, दोनों को दिखाने के लिए विज्ञापन कंटेनर एलिमेंट का इस्तेमाल करता है. इस कंटेनर का साइज़ ऐसा होना चाहिए कि यह वीडियो एलिमेंट को ऊपर-बाएं कोने से ओवरले कर सके. इस कंटेनर में रखे गए विज्ञापनों की ऊंचाई और चौड़ाई, adsManager
ऑब्जेक्ट सेट करता है. इसलिए, आपको इन वैल्यू को मैन्युअल तरीके से सेट करने की ज़रूरत नहीं है.
इस विज्ञापन कंटेनर एलिमेंट को लागू करने के लिए, सबसे पहले video-container
एलिमेंट के अंदर एक नया div
बनाएं. इसके बाद, सीएसएस को अपडेट करके एलिमेंट को video-element
के सबसे ऊपर बाईं ओर रखें. आखिर में, नए विज्ञापन कंटेनर div
का इस्तेमाल करके AdDisplayContainer
ऑब्जेक्ट बनाने के लिए, createAdDisplayContainer()
फ़ंक्शन जोड़ें.
5. AdsLoader को शुरू करना और विज्ञापन का अनुरोध करना
विज्ञापन का अनुरोध करने के लिए, AdsLoader
इंस्टेंस बनाएं. AdsLoader
कंस्ट्रक्टर, AdDisplayContainer
ऑब्जेक्ट को इनपुट के तौर पर लेता है. इसका इस्तेमाल, किसी विज्ञापन टैग यूआरएल से जुड़े AdsRequest
ऑब्जेक्ट को प्रोसेस करने के लिए किया जा सकता है. इस उदाहरण में इस्तेमाल किए गए विज्ञापन टैग में 10 सेकंड का प्री-रोल विज्ञापन शामिल है. IMA वीडियो सुइट इंस्पेक्टर का इस्तेमाल करके, इस या किसी भी विज्ञापन टैग यूआरएल की जांच की जा सकती है.
सबसे सही तरीका यह है कि पेज के पूरे लाइफ़साइकल के लिए, AdsLoader
का सिर्फ़ एक इंस्टेंस बनाए रखें. विज्ञापन के अन्य अनुरोध करने के लिए, एक नया AdsRequest
ऑब्जेक्ट बनाएं. हालांकि, उसी AdsLoader
का फिर से इस्तेमाल करें. ज़्यादा जानकारी के लिए, IMA SDK के बारे में अक्सर पूछे जाने वाले सवाल देखें.
AdsLoader.addEventListener
का इस्तेमाल करके, लोड किए गए विज्ञापनों और गड़बड़ी वाले इवेंट को सुनें और उनका जवाब दें. इन इवेंट को सुनें:
ADS_MANAGER_LOADED
AD_ERROR
onAdsManagerLoaded()
और onAdError()
लिसनर बनाने के लिए, यह उदाहरण देखें:
6. AdsLoader इवेंट के लिए जवाब देना
जब AdsLoader
विज्ञापन लोड कर लेता है, तब वह ADS_MANAGER_LOADED
इवेंट दिखाता है. AdsManager
ऑब्जेक्ट को शुरू करने के लिए, कॉलबैक को पास किए गए इवेंट को पार्स करें. AdsManager
, विज्ञापन टैग यूआरएल के रिस्पॉन्स में तय किए गए अलग-अलग विज्ञापनों को लोड करता है.
पक्का करें कि आपने लोड करने की प्रोसेस के दौरान होने वाली किसी भी गड़बड़ी को ठीक कर लिया हो. अगर विज्ञापन लोड नहीं होते हैं, तो पक्का करें कि मीडिया बिना विज्ञापनों के चलता रहे. इससे, कॉन्टेंट देखने वाले उपयोगकर्ता के अनुभव में कोई रुकावट नहीं आएगी.
onAdsManagerLoaded()
फ़ंक्शन में सेट किए गए लिसनर के बारे में ज़्यादा जानने के लिए, यहां दिए गए उप-सेक्शन देखें:
AdsManager
गड़बड़ियों को ठीक करना
AdsLoader
के लिए बनाया गया गड़बड़ी हैंडलर, AdsManager
के लिए भी गड़बड़ी हैंडलर के तौर पर काम कर सकता है. इवेंट हैंडलर, onAdError()
फ़ंक्शन का फिर से इस्तेमाल कर रहा है.
वीडियो चलाने और रोकने से जुड़े इवेंट मैनेज करना
जब AdsManager
विज्ञापन दिखाने के लिए तैयार होता है, तब वह CONTENT_PAUSE_REQUESTED
इवेंट को ट्रिगर करता है. इस इवेंट को हैंडल करने के लिए, वीडियो प्लेयर को रोकें. इसी तरह, जब कोई विज्ञापन पूरा हो जाता है, तो AdsManager
, CONTENT_RESUME_REQUESTED
इवेंट को ट्रिगर करता है. इस इवेंट को हैंडल करने के लिए, कॉन्टेंट वीडियो पर वीडियो चलाने की सुविधा फिर से शुरू करें.
onContentPauseRequested()
और onContentResumeRequested()
फ़ंक्शन की परिभाषाओं के लिए, यह उदाहरण देखें:
नॉन-लीनियर विज्ञापनों के दौरान कॉन्टेंट चलाने की सुविधा को मैनेज करना
विज्ञापन दिखाने के लिए तैयार होने पर, AdsManager
कॉन्टेंट वीडियो को रोक देता है. हालांकि, इस व्यवहार से नॉन-लीनियर विज्ञापनों का पता नहीं चलता. इनमें विज्ञापन दिखाए जाने के दौरान भी कॉन्टेंट चलता रहता है.
नॉन-लीनियर विज्ञापनों के लिए, AdsManager
को सुनें, ताकि वह LOADED
इवेंट को ट्रिगर कर सके. देखें कि विज्ञापन लीनियर है या नहीं. अगर नहीं है, तो वीडियो एलिमेंट पर वीडियो चलाना फिर से शुरू करें.
onAdLoaded()
फ़ंक्शन की परिभाषा के लिए, यह उदाहरण देखें.
7. मोबाइल डिवाइसों पर, वीडियो को रोकने के लिए क्लिक करने की सुविधा ट्रिगर करना
AdContainer
, वीडियो एलिमेंट पर ओवरले होता है. इसलिए, उपयोगकर्ता सीधे तौर पर वीडियो प्लेयर के साथ इंटरैक्ट नहीं कर सकते. इससे मोबाइल डिवाइसों पर मौजूद उपयोगकर्ताओं को उलझन हो सकती है. वे वीडियो प्लेयर पर टैप करके, वीडियो को रोकना चाहते हैं. इस समस्या को ठीक करने के लिए, IMA SDK उन सभी क्लिक को विज्ञापन ओवरले से AdContainer
एलिमेंट पर भेजता है जिन्हें IMA हैंडल नहीं करता. यहां उन्हें हैंडल किया जा सकता है. यह सुविधा, मोबाइल के अलावा अन्य ब्राउज़र पर दिखने वाले लीनियर विज्ञापनों के लिए उपलब्ध नहीं है. ऐसा इसलिए, क्योंकि विज्ञापन पर क्लिक करने से क्लिकथ्रू लिंक खुल जाता है.
क्लिक करके रोकने की सुविधा लागू करने के लिए, विंडो लोड लिसनर में adContainerClick()
क्लिक हैंडलर फ़ंक्शन जोड़ें.
8. AdsManager शुरू करना
विज्ञापन चलाना शुरू करने के लिए, AdsManager
शुरू करें. मोबाइल ब्राउज़र पर पूरी तरह से काम करने के लिए, विज्ञापनों को अपने-आप चलने की सुविधा बंद करें. इसके बजाय, उपयोगकर्ता के पेज के साथ इंटरैक्ट करने पर विज्ञापन चलने की सुविधा चालू करें. जैसे, 'चलाएं' बटन पर क्लिक करना.
9. प्लेयर का साइज़ बदलने की सुविधा
विंडो के साइज़ में बदलाव होने पर, adsManager.resize()
को कॉल करें. इससे विज्ञापन, वीडियो प्लेयर के साइज़ के हिसाब से अपने-आप रीसाइज़ हो जाएंगे. साथ ही, स्क्रीन ओरिएंटेशन में हुए बदलावों के हिसाब से भी विज्ञापन अपने-आप रीसाइज़ हो जाएंगे.
हो गया! अब IMA SDK की मदद से, विज्ञापनों का अनुरोध किया जा रहा है और उन्हें दिखाया जा रहा है. SDK की अन्य बेहतर सुविधाओं के बारे में जानने के लिए, अन्य गाइड या GitHub पर मौजूद सैंपल देखें.