IMA डीएआई SDK टूल का इस्तेमाल शुरू करना

अपनी पसंद का डीएआई सलूशन चुनें

पूरी सेवा डीएआई

इस गाइड में, IMA CAF DAI SDK टूल का इस्तेमाल करके डीएआई स्ट्रीम चलाने का तरीका बताया गया है. अगर आपको इंटिग्रेशन के पूरे किए गए सैंपल को देखना है या उसके साथ फ़ॉलो करना है, तो उदाहरण डाउनलोड करें.

इस गाइड का इस्तेमाल करने से पहले, Chromecast ऐप्लिकेशन फ़्रेमवर्क के वेब रिसीवर प्रोटोकॉल के बारे में अच्छे से जान लें. इस गाइड में, सीएएफ़ रिसीवर के सिद्धांतों को बुनियादी तौर पर समझना ज़रूरी है. जैसे, मैसेज इंटरसेप्टर और mediaInformation ऑब्जेक्ट. साथ ही, सीएएफ़ भेजने वाले के तौर-तरीकों को समझने के लिए कास्ट कमांड और कंट्रोल टूल का इस्तेमाल करना भी ज़रूरी है.

IMA डीएआई का इस्तेमाल करने के लिए, आपके पास Ad Manager 360 खाता होना चाहिए. अगर आपके पास Ad Manager खाता है, तो ज़्यादा जानकारी के लिए अपने खाता मैनेजर से संपर्क करें. Ad Manager के लिए साइन अप करने के बारे में जानकारी पाने के लिए, Ad Manager सहायता केंद्र पर जाएं.

दूसरे प्लैटफ़ॉर्म के साथ इंटिग्रेट करने या IMA क्लाइंट-साइड SDK टूल के इस्तेमाल के बारे में जानकारी पाने के लिए, इंटरैक्टिव मीडिया विज्ञापन SDK टूल देखें.

CAF DAI की खास जानकारी

IMA CAF डीएआई SDK टूल का इस्तेमाल करके डीएआई लागू करने में दो मुख्य कॉम्पोनेंट लागू होते हैं, जैसा कि इस गाइड में बताया गया है:

  • StreamRequest: यह एक ऑब्जेक्ट है, जो Google के विज्ञापन सर्वर से स्ट्रीम के अनुरोध के बारे में बताता है. लाइव स्ट्रीम के अनुरोध दो तरह से किए जाते हैं:

    • LiveStreamRequest: यह एक ऐसेट कुंजी और एक वैकल्पिक एपीआई पासकोड के साथ-साथ, अन्य वैकल्पिक पैरामीटर की जानकारी देता है.
    • VODStreamRequest: इसमें आपको Content सोर्स आईडी, वीडियो आईडी, और एक वैकल्पिक एपीआई पासकोड के साथ-साथ अन्य वैकल्पिक पैरामीटर की जानकारी भी मिलती है.
  • StreamManager: एक ऐसा ऑब्जेक्ट जो वीडियो स्ट्रीम और IMA डीएआई SDK टूल के बीच कम्यूनिकेशन मैनेज करता है. जैसे, ट्रैकिंग पिंग और स्ट्रीम इवेंट को पब्लिशर को फ़ॉरवर्ड करना.

ज़रूरी शर्तें

  • Cast Developer Console खाता होना चाहिए. साथ ही, इसमें रजिस्टर किए गए टेस्ट डिवाइस का इस्तेमाल किया गया हो.
  • होस्ट किया गया वेब रिसीवर ऐप्लिकेशन, जिसे आपके Cast Developer Console के साथ रजिस्टर किया गया हो. साथ ही, इस ऐप्लिकेशन से मिले कोड को होस्ट करने के लिए, इस ऐप्लिकेशन में बदलाव भी किया जा सकता हो.
  • ईमेल भेजने वाला ऐसा ऐप्लिकेशन जिसे आपके वेब रिसीवर ऐप्लिकेशन का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया है. इस उदाहरण में, भेजने वाले के तौर पर कास्ट करने के निर्देश और कंट्रोल टूल का इस्तेमाल किया गया है.

भेजने वाले के MediaInfo ऑब्जेक्ट को कॉन्फ़िगर करें

सबसे पहले, नीचे दिए गए फ़ील्ड शामिल करने के लिए, भेजने वाले ऐप्लिकेशन के MediaInfo ऑब्जेक्ट को कॉन्फ़िगर करें:

contentId इस मीडिया आइटम के लिए यूनीक आइडेंटिफ़ायर
contentUrl अगर किसी वजह से DAI StreamRequest काम नहीं कर पाता, तो फ़ॉलबैक स्ट्रीम का यूआरएल लोड होना
streamType लाइव स्ट्रीम के लिए, यह वैल्यू `लाइव` पर सेट होनी चाहिए. वीओडी स्ट्रीम के लिए, यह वैल्यू `BUFFERED` पर सेट होनी चाहिए
customData assetKey सिर्फ़ लाइव स्ट्रीम. लोड की जाने वाली लाइव स्ट्रीम की पहचान करता है
contentSourceId सिर्फ़ वीओडी स्ट्रीम करने के लिए. यह उस मीडिया फ़ीड की पहचान करता है जिसमें अनुरोध की गई स्ट्रीम शामिल है.
videoId सिर्फ़ वीओडी स्ट्रीम करने के लिए. यह बताए गए मीडिया फ़ीड में अनुरोध की गई स्ट्रीम की पहचान करता है.
ApiKey एक वैकल्पिक एपीआई पासकोड, जिसकी ज़रूरत IMA डीएआई SDK टूल से स्ट्रीम यूआरएल को वापस पाने के लिए हो सकती है
senderCanSkip एक बूलियन वैल्यू, जिससे कॉन्टेंट पाने वाले को यह पता चलता है कि ईमेल भेजने वाले डिवाइस पर, स्किप बटन दिखाने की सुविधा है या नहीं. इससे, स्किप किए जा सकने वाले विज्ञापनों का इस्तेमाल किया जा सकता है

इन वैल्यू को कास्ट कमांड और कंट्रोल टूल में कॉन्फ़िगर करने के लिए, लोड मीडिया टैब पर क्लिक करें और कस्टम लोड अनुरोध के टाइप को LOAD पर सेट करें. इसके बाद, टेक्स्ट एरिया में JSON डेटा को, यहां दिए गए JSON ऑब्जेक्ट में से किसी एक से बदलें:

लाइव

{
  "media": {
    "contentId": "bbb",
    "contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
    "streamType": "LIVE",
    "customData": {
      "assetKey": "sN_IYUG8STe1ZzhIIE_ksA",
      "ApiKey": "",
      "senderCanSkip": true
    }
  },
  "credentials": "testCredentials"
}

वीओडी

{
  "media": {
    "contentId": "tos",
    "contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/tos.m3u8",
    "streamType": "BUFFERED",
    "customData": {
      "contentSourceId": "2548831",
      "videoId": "tears-of-steel",
      "ApiKey": "",
      "senderCanSkip": true
    }
  },
  "credentials": "testCredentials"
}

पसंद के मुताबिक लोड करने के अनुरोध के इस ऑब्जेक्ट को पाने वाले को भेजा जा सकता है, ताकि नीचे दिए गए चरणों की जांच की जा सके.

बेसिक CAF रिसीवर बनाएं

CAF SDK टूल की बेसिक रिसीवर गाइड का इस्तेमाल करके, एक सामान्य वेब रिसीवर बनाएं.

पैसे पाने वाले व्यक्ति का कोड कुछ ऐसा दिखना चाहिए:

<html>
<head>
  <script type="text/javascript"
      src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
  </script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    cast.framework.CastReceiverContext.getInstance().start();
  </script>
</body>
</html>

IMA डीएआई SDK टूल इंपोर्ट करें और प्लेयर मैनेजर पाएं

स्क्रिप्ट टैग लोड होने के ठीक बाद, अपने वेब रिसीवर में CAF के लिए IMA डीएआई SDK टूल को इंपोर्ट करने के लिए कोई स्क्रिप्ट टैग जोड़ें. CAF डीएआई SDK टूल हमेशा काम करता है. इसलिए, कोई खास वर्शन सेट करने की ज़रूरत नहीं होती. इसके बाद, आने वाले स्क्रिप्ट टैग में रिसीवर को शुरू करने से पहले, उसके कॉन्टेक्स्ट और प्लेयर मैनेजर को कॉन्स्टेंट के तौर पर सेव करें.

<html>
<head>
  <script type="text/javascript"
      src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
  <script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    const castContext = cast.framework.CastReceiverContext.getInstance();
    const playerManager = castContext.getPlayerManager();

    castContext.start();
  </script>
</body>
</html>

IMA स्ट्रीम मैनेजर को शुरू करें

CAF DAI SDK के स्ट्रीम मैनेजर को शुरू करें.

<html>
<head>
  <script type="text/javascript"
      src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
  <script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    const castContext = cast.framework.CastReceiverContext.getInstance();
    const playerManager = castContext.getPlayerManager();
    const streamManager = new google.ima.cast.dai.api.StreamManager();

    castContext.start();
  </script>
</body>
</html>

लोड मैसेज इंटरसेप्टर बनाना

CAF डीएआई SDK टूल, स्ट्रीम का अनुरोध करने और कॉन्टेंट यूआरएल को फ़ाइनल डीएआई स्ट्रीम से बदलने के लिए, CAF लोड मैसेज इंटरसेप्टर का इस्तेमाल करता है. मैसेज इंटरसेप्टर, streamManager.requestStream() को कॉल करता है. यह विज्ञापन के लिए ब्रेक सेट करने, स्ट्रीम का अनुरोध करने, और मौजूदा contentURL को बदलने का काम करता है.

लोड मैसेज इंटरसेप्टर सिर्फ़ एक हो सकता है. इसलिए, अगर आपके ऐप्लिकेशन को इंटरसेप्टर के इस्तेमाल की ज़रूरत है, तो आपको एक ही कॉलबैक में किसी भी कस्टम फ़ंक्शन को शामिल करना होगा.

<html>
<head>
  <script type="text/javascript"
      src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
  <script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    const castContext = cast.framework.CastReceiverContext.getInstance();
    const playerManager = castContext.getPlayerManager();
    const streamManager = new google.ima.cast.dai.api.StreamManager();

    const getStreamRequest = (request) => null;

    playerManager.setMessageInterceptor(
        cast.framework.messages.MessageType.LOAD, (request) => {
          return streamManager.requestStream(request, getStreamRequest(request))
              .then((request) => {
                this.broadcast('Stream request successful.');
                return Promise.resolve(request);
              })
              .catch((error) => {
                this.broadcast('Stream request failed.');
                return Promise.resolve(request);
              });
        });

    castContext.start();
  </script>
</body>
</html>

स्ट्रीम का अनुरोध करें

CAF डीएआई का इंटिग्रेशन पूरा करने के लिए, आपको अपना स्ट्रीम अनुरोध बनाना होगा. इसके लिए, आपको भेजने वाले के mediaInfo ऑब्जेक्ट में मौजूद डेटा का इस्तेमाल करना होगा.

<html>
<head>
  <script type="text/javascript"
      src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
  <script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    const castContext = cast.framework.CastReceiverContext.getInstance();
    const playerManager = castContext.getPlayerManager();
    const streamManager = new google.ima.cast.dai.api.StreamManager();

    const getStreamRequest = (request) => {
      const imaRequestData = request.media.customData;
      let streamRequest = null;
      if (imaRequestData.assetKey) {
        // Live stream
        streamRequest = new google.ima.cast.dai.api.LiveStreamRequest();
        streamRequest.assetKey = imaRequestData.assetKey;
      } else if (imaRequestData.contentSourceId) {
        // VOD stream
        streamRequest = new google.ima.cast.dai.api.VODStreamRequest();
        streamRequest.contentSourceId = imaRequestData.contentSourceId;
        streamRequest.videoId = imaRequestData.videoId;
      }
      if (streamRequest && imaRequestData.ApiKey) {
        streamRequest.ApiKey = imaRequestData.ApiKey;
      }
      if (streamRequest && imaRequestData.senderCanSkip) {
        streamRequest.senderCanSkip = imaRequestData.senderCanSkip;
      }
      return streamRequest;
    };

    playerManager.setMessageInterceptor(
        cast.framework.messages.MessageType.LOAD, (request) => {
          return streamManager.requestStream(request, getStreamRequest(request))
              .then((request) => {
                return Promise.resolve(request);
              })
              .catch((error) => {
                this.broadcast('Stream request failed.');
                return Promise.resolve(request);
              });
        });

    castContext.start();
  </script>
</body>
</html>

अब Google के CAF DAI SDK टूल का इस्तेमाल करके, डीएआई स्ट्रीम का अनुरोध किया जा सकता है और उन्हें चलाया जा सकता है. SDK टूल की बेहतर सुविधाओं के बारे में जानने के लिए, दूसरी गाइड देखें या पाने वाले के लिए हमारे ऐप्लिकेशन के सैंपल डाउनलोड करें.