IMA SDK टूल की मदद से, अपनी वेबसाइटों और ऐप्लिकेशन में आसानी से मल्टीमीडिया विज्ञापन इंटिग्रेट किए जा सकते हैं. IMA SDK टूल, वीएएसटी (वीडियो विज्ञापन देने के लिए टेंप्लेट) का पालन करने वाले किसी भी विज्ञापन सर्वर से विज्ञापनों का अनुरोध कर सकते हैं. साथ ही, आपके ऐप्लिकेशन में विज्ञापन चलाने की सुविधा को मैनेज कर सकते हैं. IMA डीएआई SDK की मदद से, ऐप्लिकेशन विज्ञापन और कॉन्टेंट वीडियो के लिए स्ट्रीम का अनुरोध करते हैं. यह वीओडी या लाइव कॉन्टेंट हो सकता है. इसके बाद, SDK टूल एक साथ कई वीडियो स्ट्रीम दिखाता है, ताकि आपको अपने ऐप्लिकेशन में विज्ञापन और कॉन्टेंट वीडियो के बीच स्विच करने की ज़रूरत न पड़े.
डीआई (डायनामिक विज्ञापन) का वह समाधान चुनें जिसमें आपकी दिलचस्पी है
पॉड में डीएआई का इस्तेमाल करना
IMA SDK टूल की मदद से, अपनी वेबसाइटों और ऐप्लिकेशन में आसानी से मल्टीमीडिया विज्ञापन इंटिग्रेट किए जा सकते हैं. IMA SDK टूल, वीएएसटी (वीडियो विज्ञापन देने के लिए टेंप्लेट) का पालन करने वाले किसी भी विज्ञापन सर्वर से विज्ञापनों का अनुरोध कर सकते हैं. साथ ही, आपके ऐप्लिकेशन में विज्ञापन चलाने की सुविधा को मैनेज कर सकते हैं. IMA डीएआई SDK की मदद से, ऐप्लिकेशन विज्ञापन और कॉन्टेंट वीडियो के लिए स्ट्रीम का अनुरोध करते हैं. यह वीओडी या लाइव कॉन्टेंट हो सकता है. इसके बाद, SDK टूल एक साथ कई वीडियो स्ट्रीम दिखाता है, ताकि आपको अपने ऐप्लिकेशन में विज्ञापन और कॉन्टेंट वीडियो के बीच स्विच करने की ज़रूरत न पड़े.
इस गाइड में, लाइव और वीओडी स्ट्रीम चलाने के लिए, वीडियो प्लेयर के साथ IMA डीएआई SDK का इस्तेमाल करके, डीएआई पॉड सेविंग स्ट्रीम चलाने का तरीका बताया गया है. इंटिग्रेशन का पूरा सैंपल देखने या उससे जुड़े निर्देशों का पालन करने के लिए, पॉड दिखाने का उदाहरण डाउनलोड करें.
IMA डीएआई पॉड दिखाने की सुविधा के बारे में खास जानकारी
StreamRequest
: यह एक ऐसा ऑब्जेक्ट है जो Google के विज्ञापन सर्वर को स्ट्रीम का अनुरोध करता है. पॉड सर्विंग की सुविधा चालू करने के लिए, इसेImaSdkFactory.createPodStreamRequest()
याImaSdkFactory.createPodVodStreamRequest()
का इस्तेमाल करके बनाया जाना चाहिए. इन तरीकों के लिए, नेटवर्क कोड की ज़रूरत होती है. साथ ही,createPodStreamRequest
के लिए कस्टम एसेट पासकोड और एपीआई पासकोड की ज़रूरत होती है. हालांकि, एपीआई पासकोड देना ज़रूरी नहीं है. दोनों में अन्य वैकल्पिक पैरामीटर शामिल हैं.StreamManager
: यह एक ऐसा ऑब्जेक्ट है जो वीडियो स्ट्रीम और IMA डीएआई SDK टूल के बीच कम्यूनिकेशन मैनेज करता है. जैसे, ट्रैकिंग पिंग को ट्रिगर करना और स्ट्रीम इवेंट को पब्लिशर को फ़ॉरवर्ड करना.
ज़रूरी शर्तें
डीएआई विज्ञापनों के साथ वीडियो स्ट्रीम चलाने के लिए, IMA डीएआई SDK टूल के साथ पहले से सेट अप किया गया Android ऐप्लिकेशन. अगर आपके पास पहले से ऐसा कोई ऐप्लिकेशन नहीं है, तो हमारा सुझाव है कि आप शुरुआत के लिए, Android DAI BasicExample का इस्तेमाल करें. BasicExample में, इस गाइड में रेफ़र किया गया कोडबेस है.
IMA डीआई का काम करने के लिए, आपके ऐप्लिकेशन के लिए
VideoStreamPlayerCallback.onUserTextReceived()
का इस्तेमाल करके आईडी3 इवेंट भेजना ज़रूरी है. पूरी सेवा वाले डीआई कोड स्निपेट का यह उदाहरण देखें.
पॉडकास्ट दिखाने के लिए वैरिएबल सेट अप करना
पॉड विज्ञापन दिखाने के लिए ज़रूरी सभी बदलाव, SampleAdsWrapper.java में किए जाते हैं. पहला चरण, कॉन्स्टेंट वैरिएबल अपडेट करना है.
यहां विज्ञापन पॉड स्ट्रीम के अनुरोध के लिए कॉन्स्टेंट जोड़े गए हैं:
STREAM_URL
: सिर्फ़ लाइव स्ट्रीम के लिए इस्तेमाल किया जाता है - यह वीडियो स्ट्रीम का यूआरएल होता है. इसे, आपके मेनिफ़ेस्ट मैनिप्युलेटर या पॉड सर्विंग का इस्तेमाल करने वाले तीसरे पक्ष के पार्टनर से मिलता है. अनुरोध करने से पहले, आपको IMA डीएआई एसडीके से मिला स्ट्रीम आईडी डालना होगा. इस मामले में, स्ट्रीम यूआरएल में एक प्लेसहोल्डर,"[[STREAMID]]"
शामिल होता है. अनुरोध करने से पहले, इसे स्ट्रीम आईडी से बदल दिया जाता है.NETWORK_CODE
: आपके Ad Manager 360 खाते का नेटवर्क कोड.CUSTOM_ASSET_KEY
: सिर्फ़ लाइव स्ट्रीम के लिए इस्तेमाल किया जाता है - यह कस्टम एसेट पासकोड है, जो Ad Manager 360 में आपके पॉड सर्विंग इवेंट की पहचान करता है. इसे आपका मेनिफ़ेस्ट मैनिप्युलेटर या तीसरे पक्ष का पॉड सर्विंग पार्टनर बना सकता है.API_KEY
: सिर्फ़ लाइव स्ट्रीम के लिए इस्तेमाल किया जाता है - यह एक वैकल्पिक एपीआई पासकोड है. IMA डीएआई SDK टूल से स्ट्रीम आईडी पाने के लिए, इसकी ज़रूरत पड़ सकती है.
Android DAI BasicExample को अलग-अलग तरह की स्ट्रीम चलाने के लिए डिज़ाइन किया गया है. हालांकि, पॉड सर्विंग के लिए, इसे सिर्फ़ एक स्ट्रीम चलाने के लिए सेट अप किया गया है. उदाहरण के वैरिएबल सेक्शन को बदलकर, इनसे मैच करें:
/** This class adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {
// Podserving Stream Constants.
private static final String STREAM_URL =
"https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
"master.m3u8?gen-seg-redirect=true&network=51636543&event=google-sample" +
"&pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
"&seg-host=dai.google.com&stream_id=[[STREAMID]]";
private static final String NETWORK_CODE = "51636543";
private static final String CUSTOM_ASSET_KEY = "google-sample";
private static final String API_KEY = "";
private static final String PLAYER_TYPE = "DAISamplePlayer";
/** Log interface, so we can output the log commands to the UI or similar. */
public interface Logger {
...
पॉड सर्विंग की सुविधा चालू करने के लिए, लाइव या वीओडी पॉड स्ट्रीम का अनुरोध करना
लाइव स्ट्रीम के लिए पॉड दिखाना
buildStreamRequest()
का तरीका हटाएं. इसका इस्तेमाल, अलग-अलग तरह की स्ट्रीम बनाने के बीच स्विच करने के लिए किया जाता था. इसके बाद, लाइव पॉड विज्ञापन दिखाने का अनुरोध बनाने के लिए, requestAndPlayAds()
को कॉल पर बदलेंImaSdkFactory.createPodStreamRequest()
. आखिर में, AdsLoader.requestStream()
का इस्तेमाल करके स्ट्रीम का अनुरोध करें.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
वीओडी स्ट्रीम पॉड दिखाना
buildStreamRequest()
का तरीका हटाएं. इसका इस्तेमाल, अलग-अलग तरह की स्ट्रीम बनाने के बीच स्विच करने के लिए किया जाता था. इसके बाद, वीओडी पॉड विज्ञापन दिखाने का अनुरोध बनाने के लिए, requestAndPlayAds()
को कॉलImaSdkFactory.createPodVodStreamRequest()
में बदलें. आखिर में, AdsLoader.requestStream()
का इस्तेमाल करके स्ट्रीम का अनुरोध करें.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
स्ट्रीम के यूआरएल में बदलाव करना और उसे सेट करना
लाइव स्ट्रीम के लिए पॉड दिखाना
स्ट्रीम आईडी पाने के लिए, StreamManager.getStreamId()
को कॉल करें. इसके बाद, इसे "[[STREAMID]]"
की जगह STEAM_URL
में डालना होगा. यह बदलाव करने के बाद, videoPlayer.setStreamUrl()
का इस्तेमाल करके नया स्ट्रीम यूआरएल सेट किया जा सकता है.
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);
streamManager.init();
videoPlayer.setStreamUrl(streamUrl);
videoPlayer.play();
}
वीओडी स्ट्रीम पॉड दिखाना
स्ट्रीम आईडी पाने के लिए, StreamManager.getStreamId()
को कॉल करें. इसके बाद, अपने वीडियो टेक्नोलॉजी पार्टनर (वीटीपी) से स्ट्रीम यूआरएल का अनुरोध करें. इसके बाद, IMA को स्ट्रीम का यूआरएल और आपके टीवीपी से मिले सबटाइटल लोड करने के लिए, StreamManager.loadThirdPartyStream()
को कॉल करें.
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
// 'vtpInterface' is a place holder for your own video technology partner
// (VTP) API calls.
String streamUrl = vtpInterface.requestStreamURL(streamID);
streamManager.init();
// Pass any subtitles returned by your VTP in this step as well.
streamManager.loadThirdPartyStream(streamUrl, subtitles);
}
पॉड सर्विंग की सुविधा चालू होने पर, IMA VideoStreamPlayer.loadUrl()
को कॉल नहीं करता. इसलिए, videoPlayer.setStreamUrl()
और videoPlayer.play()
को किए गए सभी कॉल हटाए जा सकते हैं.
IMA DAI ऐसेट को हटाना
IMA DAI SDK की मदद से, पॉड सेर्विंग स्ट्रीम में विज्ञापनों का अनुरोध करने और उन्हें दिखाने के बाद, हमारा सुझाव है कि पॉड सेर्विंग सेशन पूरा होने के बाद, सभी संसाधनों को हटा दें. स्ट्रीम का प्लेबैक रोकने, विज्ञापन की सभी ट्रैकिंग रोकने, और लोड की गई सभी स्ट्रीम ऐसेट को रिलीज़ करने के लिए, StreamManager.destroy()
को कॉल करें.
Android SDK के इस्तेमाल के अन्य उदाहरण देखने के लिए, GitHub पर सैंपल देखें.