DAI এর জন্য IMA SDK সেট আপ করুন, DAI এর জন্য IMA SDK সেট আপ করুন, DAI এর জন্য IMA SDK সেট আপ করুন, DAI এর জন্য IMA SDK সেট আপ করুন

প্ল্যাটফর্ম নির্বাচন করুন: HTML5 অ্যান্ড্রয়েড iOS tvOS কাস্ট রোকু

আপনার আগ্রহের DAI সমাধানটি নির্বাচন করুন।

পূর্ণাঙ্গ পরিষেবা DAI

এই নির্দেশিকাটি IMA CAF DAI SDK ব্যবহার করে DAI স্ট্রিম কীভাবে চালাতে হয় তা দেখায়। আপনি যদি একটি সম্পূর্ণ নমুনা ইন্টিগ্রেশন দেখতে বা অনুসরণ করতে চান, তাহলে উদাহরণটি ডাউনলোড করুন

এই নির্দেশিকাটি ব্যবহার করার আগে, Chromecast অ্যাপ্লিকেশন ফ্রেমওয়ার্কের ওয়েব রিসিভার প্রোটোকলের সাথে নিজেকে পরিচিত করতে ভুলবেন না। এই নির্দেশিকাটি CAF রিসিভার ধারণাগুলির সাথে প্রাথমিক স্তরের পরিচিতি ধরে নেয়, যেমন বার্তা ইন্টারসেপ্টর এবং mediaInformation অবজেক্ট, এবং সেইসাথে CAF প্রেরককে অনুকরণ করার জন্য Cast কমান্ড এবং নিয়ন্ত্রণ সরঞ্জাম ব্যবহারের সাথে পরিচিতি।

IMA DAI ব্যবহার করার জন্য, আপনার একটি Ad Manager 360 অ্যাকাউন্ট থাকতে হবে। যদি আপনার একটি Ad Manager অ্যাকাউন্ট থাকে, তাহলে আরও বিস্তারিত জানার জন্য আপনার অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন। Ad Manager-এ সাইন আপ করার বিষয়ে তথ্যের জন্য, Ad Manager সহায়তা কেন্দ্রে যান।

অন্যান্য প্ল্যাটফর্মের সাথে একীভূতকরণ বা IMA ক্লায়েন্ট-সাইড SDK ব্যবহার সম্পর্কে তথ্যের জন্য, ইন্টারেক্টিভ মিডিয়া বিজ্ঞাপন SDK দেখুন।

CAF DAI ওভারভিউ

IMA CAF DAI SDK ব্যবহার করে DAI বাস্তবায়নে দুটি প্রধান উপাদান জড়িত, যেমনটি এই নির্দেশিকায় দেখানো হয়েছে:

  • StreamRequest : একটি অবজেক্ট যা গুগলের বিজ্ঞাপন সার্ভারে স্ট্রিম অনুরোধ সংজ্ঞায়িত করে। স্ট্রিম অনুরোধ দুটি প্রধান প্রকারে আসে:

    • LiveStreamRequest : একটি Asset Key , এবং অন্যান্য ঐচ্ছিক প্যারামিটার নির্দিষ্ট করে।
    • VODStreamRequest : একটি কন্টেন্ট সোর্স আইডি , একটি ভিডিও আইডি , এবং অন্যান্য ঐচ্ছিক প্যারামিটার নির্দিষ্ট করে।
    • উভয় অনুরোধের ধরণেই ঐচ্ছিকভাবে নির্দিষ্ট স্ট্রিম অ্যাক্সেস করার জন্য প্রয়োজনীয় একটি API কী এবং Google বিজ্ঞাপন ম্যানেজার সেটিংসে উল্লেখিত বিজ্ঞাপন শনাক্তকারী পরিচালনা করার জন্য IMA SDK-এর জন্য একটি Google বিজ্ঞাপন ম্যানেজার নেটওয়ার্ক কোড অন্তর্ভুক্ত থাকতে পারে।
  • StreamManager : একটি অবজেক্ট যা ভিডিও স্ট্রিম এবং IMA DAI SDK এর মধ্যে যোগাযোগ পরিচালনা করে, যেমন ট্র্যাকিং পিং ফায়ার করা এবং স্ট্রিম ইভেন্টগুলি প্রকাশকের কাছে ফরোয়ার্ড করা।

পূর্বশর্ত

  • একটি নিবন্ধিত পরীক্ষামূলক ডিভাইস সহ একটি কাস্ট ডেভেলপার কনসোল অ্যাকাউন্ট।
  • একটি হোস্টেড ওয়েব রিসিভার অ্যাপ যা আপনার কাস্ট ডেভেলপার কনসোলে নিবন্ধিত এবং এই নির্দেশিকা দ্বারা প্রদত্ত কোডটি হোস্ট করার জন্য পরিবর্তন করা যেতে পারে।
  • একটি সেন্ডিং অ্যাপ যা আপনার ওয়েব রিসিভার অ্যাপ ব্যবহার করার জন্য কনফিগার করা হয়েছে। এই উদাহরণে প্রেরক হিসেবে কাস্ট কমান্ড এবং নিয়ন্ত্রণ টুল ব্যবহার করা হয়েছে।

প্রেরকের MediaInfo অবজেক্ট কনফিগার করুন

প্রথমে, আপনার প্রেরক অ্যাপের MediaInfo অবজেক্টটি নিম্নলিখিত ক্ষেত্রগুলি অন্তর্ভুক্ত করার জন্য কনফিগার করুন:

contentId এই মিডিয়া আইটেমের জন্য একটি অনন্য শনাক্তকারী
contentUrl কোনও কারণে DAI StreamRequest ব্যর্থ হলে, লোড করার জন্য ফলব্যাক স্ট্রিম URL
streamType লাইভ স্ট্রিমগুলির জন্য এই মানটি `LIVE` তে সেট করা উচিত। VOD স্ট্রিমগুলির জন্য, এই মানটি `BUFFERED` তে সেট করা উচিত।
customData assetKey শুধুমাত্র লাইভ স্ট্রিম। লোড করা লাইভ স্ট্রিমটি শনাক্ত করে
contentSourceId শুধুমাত্র VOD স্ট্রিম। অনুরোধকৃত স্ট্রিম ধারণকারী মিডিয়া ফিড সনাক্ত করে।
videoId শুধুমাত্র VOD স্ট্রিম। নির্দিষ্ট মিডিয়া ফিডের মধ্যে অনুরোধকৃত স্ট্রিম সনাক্ত করে।
networkCode (ঐচ্ছিক) আপনার Google বিজ্ঞাপন ম্যানেজার নেটওয়ার্ক কোড।
ApiKey IMA DAI SDK থেকে স্ট্রিম URL পুনরুদ্ধার করার জন্য একটি ঐচ্ছিক API কী প্রয়োজন হতে পারে।
senderCanSkip একটি বুলিয়ান মান যা রিসিভারকে জানাবে যে প্রেরণকারী ডিভাইসটি স্কিপ বোতাম প্রদর্শন করার ক্ষমতা রাখে কিনা, যা স্কিপযোগ্য বিজ্ঞাপনগুলির জন্য সমর্থন সক্ষম করে।

cast কমান্ড এবং নিয়ন্ত্রণ সরঞ্জামে এই মানগুলি কনফিগার করতে, লোড মিডিয়া ট্যাবে ক্লিক করুন এবং কাস্টম লোড অনুরোধের ধরণটি LOAD এ সেট করুন। তারপর টেক্সট এরিয়ায় JSON ডেটা নিম্নলিখিত JSON অবজেক্টগুলির মধ্যে একটি দিয়ে প্রতিস্থাপন করুন:

লাইভ

{
  "media": {
    "contentId": "bbb",
    "contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
    "streamType": "LIVE",
    "customData": {
      "assetKey": "c-rArva4ShKVIAkNfy6HUQ",
      "networkCode": "21775744923",
      "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",
      "networkCode": "21775744923",
      "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 DAI SDK আমদানি করুন এবং প্লেয়ার ম্যানেজার পান

CAF স্ক্রিপ্ট লোড হওয়ার ঠিক পরেই আপনার ওয়েব রিসিভারে CAF-এর জন্য IMA DAI SDK আমদানি করতে একটি স্ক্রিপ্ট ট্যাগ যোগ করুন। 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();

    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 DAI SDK স্ট্রিম অনুরোধ করতে এবং কন্টেন্ট URL কে চূড়ান্ত DAI স্ট্রিম দিয়ে প্রতিস্থাপন করতে 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 DAI ইন্টিগ্রেশন সম্পূর্ণ করার জন্য, আপনাকে প্রেরকের কাছ থেকে 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.networkCode) {
        streamRequest.networkCode = imaRequestData.networkCode;
      }
      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 ব্যবহার করে DAI স্ট্রিমগুলি অনুরোধ করতে এবং প্লেব্যাক করতে পারবেন। আরও উন্নত SDK বৈশিষ্ট্য সম্পর্কে জানতে, অন্যান্য নির্দেশিকা দেখুন অথবা আমাদের নমুনা রিসিভার অ্যাপ্লিকেশনগুলি ডাউনলোড করুন