IMA SDK टूल की मदद से, वेबसाइटों और ऐप्लिकेशन में आसानी से मल्टीमीडिया विज्ञापन इंटिग्रेट किए जा सकते हैं. IMA SDK टूल, वीएएसटी (वीडियो विज्ञापन देने के लिए टेंप्लेट) का पालन करने वाले किसी भी विज्ञापन सर्वर से विज्ञापनों का अनुरोध कर सकते हैं. साथ ही, आपके ऐप्लिकेशन में विज्ञापन चलाने की सुविधा को मैनेज कर सकते हैं. IMA क्लाइंट-साइड SDK टूल की मदद से, आपके पास कॉन्टेंट वीडियो के प्लेबैक का कंट्रोल होता है. वहीं, SDK टूल विज्ञापन के प्लेबैक को मैनेज करता है. विज्ञापन, ऐप्लिकेशन के कॉन्टेंट वीडियो प्लेयर के ऊपर मौजूद, अलग से मौजूद वीडियो प्लेयर में चलते हैं.
इस गाइड में, किसी आसान वीडियो प्लेयर ऐप्लिकेशन में IMA SDK टूल को इंटिग्रेट करने का तरीका बताया गया है. अगर आपको इंटिग्रेशन का पूरा सैंपल देखना है या उसका पालन करना है, तो GitHub से आसान उदाहरण डाउनलोड करें. अगर आपको SDK टूल के साथ पहले से इंटिग्रेट किया गया HTML5 प्लेयर चाहिए, तो Video.js के लिए IMA SDK टूल प्लग इन देखें.
IMA क्लाइंट-साइड की खास जानकारी
IMA क्लाइंट-साइड को लागू करने के लिए, SDK के चार मुख्य कॉम्पोनेंट शामिल होते हैं. इनके बारे में इस गाइड में बताया गया है:
AdDisplayContainer
: यह एक कंटेनर ऑब्जेक्ट है. इससे पता चलता है कि IMA, विज्ञापन यूज़र इंटरफ़ेस (यूआई) एलिमेंट को कहां रेंडर करता है और विज्ञापन दिखने से जुड़े आंकड़ों को कैसे मेज़र करता है. इसमें ऐक्टिव व्यू और ओपन मेज़रमेंट भी शामिल है.AdsLoader
: यह एक ऐसा ऑब्जेक्ट है जो विज्ञापनों का अनुरोध करता है और विज्ञापन अनुरोध के जवाबों से मिलने वाले इवेंट को हैंडल करता है. आपको सिर्फ़ एक विज्ञापन लोडर को इंस्टैंशिएट करना चाहिए. इसका इस्तेमाल, ऐप्लिकेशन के पूरे लाइफ़साइकल के दौरान किया जा सकता है.AdsRequest
: विज्ञापन अनुरोध को तय करने वाला ऑब्जेक्ट. विज्ञापन अनुरोधों में, वीएएसटी विज्ञापन टैग के यूआरएल के साथ-साथ, विज्ञापन डाइमेंशन जैसे अन्य पैरामीटर की जानकारी भी दी जाती है.AdsManager
: यह एक ऑब्जेक्ट है, जिसमें विज्ञापन अनुरोध का जवाब होता है. साथ ही, यह विज्ञापन चलाने की प्रोसेस को कंट्रोल करता है और SDK टूल से ट्रिगर किए गए विज्ञापन इवेंट को सुनता है.
ज़रूरी शर्तें
शुरू करने से पहले, आपके पास ये चीज़ें होनी चाहिए:
- तीन खाली फ़ाइलें:
- 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 पर सैंपल देखें.