IMA Android SDK, पूरी तरह से अपने-आप चलने वाली विज्ञापन प्लेलिस्ट के साथ काम करता है. यह सुविधा, विज्ञापनों को ट्रैफ़िक करते समय, Google Ad Manager में बताए गए तरीके से कॉन्टेंट में विज्ञापन ब्रेक डालती है. इससे, वीडियो प्लेयर के उस कोड को भी काफ़ी हद तक आसान बनाया जा सकता है जो विज्ञापन ब्रेक के लिए ज़रूरी होता है. इसमें वीडियो शुरू होने से पहले, बीच में, और वीडियो खत्म होने के बाद दिखने वाले विज्ञापन शामिल हैं.
- Ad Manager में विज्ञापनों को ट्रैफ़िक करते समय, विज्ञापन दिखाने के अलग-अलग नियम तय किए जा सकते हैं. जैसे, "कॉन्टेंट की शुरुआत में हमेशा विज्ञापन ब्रेक दिखाएं" या "हर 30 मिनट के कॉन्टेंट के बाद एक मिनट का विज्ञापन ब्रेक दिखाएं".
- विज्ञापनों का अनुरोध किए जाने पर, विज्ञापन सर्वर एक विज्ञापन प्लेलिस्ट दिखा सकता है. एसडीके, प्लेलिस्ट को प्रोसेस करता है और विज्ञापन दिखाने के लिए तय की गई जगहों को अपने-आप शेड्यूल करता है.
- Android, विज्ञापन और कॉन्टेंट चलाने के लिए एक ही वीडियो प्लेयर का इस्तेमाल करता है. इसलिए, अगर आपको विज्ञापन के नियम लागू करने हैं, तो विज्ञापन शुरू होने पर आपको अपने कॉन्टेंट की प्लेहेड पोज़िशन सेव करनी होगी. इसके बाद, विज्ञापन खत्म होने पर उस पोज़िशन पर जाना होगा.
पक्का करें कि आपने अपने वीडियो प्लेयर में
VideoAdPlayer
इंटरफ़ेस लागू किया हो. इससे यह पक्का होता है कि Ad Manager में तय किए गए समय पर, विज्ञापन के लिए ब्रेक अपने-आप जुड़ जाएं.private boolean playingContent = true; private int contentPosition = -1; private List
callbacks = new ArrayList (); @Override public void addCallback(VideoAdPlayerCallback callback) { callbacks.add(callback); } @Override public void removeCallback(VideoAdPlayerCallback callback) { callbacks.remove(callback); } public void loadContent() { playingContent = true; load(CONTENT_URL); } @Override public void loadAd(String mediaUrl) { playingContent = false; load(mediaUrl); } public void pauseContent() { savePosition(); pause(); } @Override public void pauseAd() { pause(); } private void pause() { myVideoView.pause(); for (VideoAdPlayerCallback callback : callbacks) { callback.onPause(); } } public void resumeContent() { loadContent(); if (contentPosition > 0) { restorePosition(); } resume(); } @Override public void resumeAd() { resume(); } private void resume() { myVideoView.start(); for (VideoAdPlayerCallback callback : callbacks) { callback.onResume(); } } public void savePosition() { contentPosition = myVideoView.getCurrentPosition(); } public void restorePosition() { myVideoView.seekTo(contentPosition); } - विज्ञापन ब्रेक के दौरान कॉन्टेंट को रोकने और फिर से शुरू करने के लिए,
CONTENT_PAUSE_REQUESTED
औरCONTENT_RESUME_REQUESTED
इवेंट का इस्तेमाल किया जाता है. इन इवेंट के बारे में ज़्यादा जानने के लिए, एपीआई से जुड़े दस्तावेज़ देखें.
ध्यान दें: जब कॉन्टेंट चलना बंद हो जाए या उपयोगकर्ता ने प्लेबैक रोक दिया हो, तो AdsLoader.contentComplete को कॉल करना न भूलें. इससे SDK को यह सूचना मिलती है कि कॉन्टेंट चलना बंद हो गया है. इसके बाद, एसडीके, वीडियो खत्म होने के बाद दिखने वाले विज्ञापन ब्रेक को चलाता है. हालांकि, ऐसा तब होता है, जब उसे शेड्यूल किया गया हो. ALL_ADS_COMPLETED
इवेंट तब ट्रिगर होता है, जब सभी विज्ञापन ब्रेक चल चुके हों. इसके अलावा, ध्यान दें कि कॉन्टेंट को ट्रैक करना तब शुरू होता है, जब init()
को कॉल किया जाता है. आपको कॉन्टेंट चलाने से पहले हमेशा init()
को कॉल करना चाहिए.