IMA CAF DAI SDK ব্যবহার করে কীভাবে একটি DAI স্ট্রিম খেলতে হয় এই নির্দেশিকাটি প্রদর্শন করে৷ আপনি যদি একটি সম্পূর্ণ নমুনা ইন্টিগ্রেশন সহ দেখতে বা অনুসরণ করতে চান, তাহলে উদাহরণটি ডাউনলোড করুন ।
এই নির্দেশিকাটি ব্যবহার করার আগে, Chromecast অ্যাপ্লিকেশন ফ্রেমওয়ার্কের ওয়েব রিসিভার প্রোটোকলের সাথে নিজেকে পরিচিত করতে ভুলবেন না। এই নির্দেশিকাটি CAF রিসিভার ধারণাগুলির সাথে পরিচিতির একটি প্রাথমিক স্তর অনুমান করে, যেমন বার্তা ইন্টারসেপ্টর এবং মিডিয়া ইনফরমেশন অবজেক্ট, সেইসাথে একটি CAF প্রেরককে অনুকরণ করতে কাস্ট কমান্ড এবং কন্ট্রোল টুল ব্যবহার করার সাথে পরিচিতি।
IMA DAI ব্যবহার করতে, আপনার একটি Ad Manager 360 অ্যাকাউন্ট থাকতে হবে। আপনার যদি অ্যাড ম্যানেজার অ্যাকাউন্ট থাকে, তাহলে আরও বিশদ বিবরণের জন্য আপনার অ্যাকাউন্ট পরিচালকের সাথে যোগাযোগ করুন। অ্যাড ম্যানেজারের জন্য সাইন আপ করার বিষয়ে তথ্যের জন্য, অ্যাড ম্যানেজার সহায়তা কেন্দ্রে যান।
CAF DAI ওভারভিউ
IMA CAF DAI SDK ব্যবহার করে DAI বাস্তবায়নে দুটি প্রধান উপাদান জড়িত, যা এই নির্দেশিকায় প্রদর্শিত হয়েছে:
-
StreamRequest
: একটি বস্তু যা Google এর বিজ্ঞাপন সার্ভারে একটি স্ট্রিম অনুরোধ সংজ্ঞায়িত করে। StreamRequests দুটি প্রধান প্রকারে আসে:-
LiveStreamRequest
: একটি সম্পদ কী , এবং একটি ঐচ্ছিক API কী , সেইসাথে অন্যান্য ঐচ্ছিক পরামিতিগুলি নির্দিষ্ট করে৷ -
VODStreamRequest
: একটি বিষয়বস্তু উৎস আইডি , একটি ভিডিও আইডি এবং একটি ঐচ্ছিক API কী , সেইসাথে অন্যান্য ঐচ্ছিক পরামিতিগুলি নির্দিষ্ট করে৷
-
-
StreamManager
: একটি বস্তু যা ভিডিও স্ট্রীম এবং IMA DAI SDK-এর মধ্যে যোগাযোগ পরিচালনা করে, যেমন ফায়ারিং ট্র্যাকিং পিং এবং প্রকাশকের কাছে স্ট্রিম ইভেন্ট ফরওয়ার্ড করা।
পূর্বশর্ত
আপনি শুরু করার আগে, আপনার নিম্নলিখিতগুলি প্রয়োজন:
- একটি নিবন্ধিত পরীক্ষা ডিভাইস সহ একটি কাস্ট বিকাশকারী কনসোল অ্যাকাউন্ট৷
- একটি হোস্ট করা ওয়েব রিসিভার অ্যাপ্লিকেশান যা আপনার কাস্ট ডেভেলপার কনসোলে নিবন্ধিত এবং যা এই নির্দেশিকা দ্বারা প্রদত্ত কোড হোস্ট করতে সংশোধন করা যেতে পারে৷
- একটি পাঠানোর অ্যাপ যা আপনার ওয়েব রিসিভার অ্যাপ ব্যবহার করার জন্য কনফিগার করা হয়েছে। এই উদাহরণের উদ্দেশ্যে, আমরা আমাদের প্রেরক হিসাবে কাস্ট কমান্ড এবং কন্ট্রোল টুল ব্যবহার করব।
1. প্রেরকের MediaInfo অবজেক্ট কনফিগার করুন
প্রথমে, নিম্নলিখিত ক্ষেত্রগুলি অন্তর্ভুক্ত করতে আপনার প্রেরক অ্যাপের MediaInfo অবজেক্ট কনফিগার করুন:
সামগ্রী আইডি | এই মিডিয়া আইটেমটির জন্য একটি অনন্য শনাক্তকারী৷ | |
contentUrl | DAI StreamRequest কোনো কারণে ব্যর্থ হলে ফলব্যাক স্ট্রিম url লোড হবে | |
স্ট্রিম টাইপ | লাইভ স্ট্রিমগুলির জন্য এই মানটি 'লাইভ'-এ সেট করা উচিত। VOD স্ট্রীমগুলির জন্য, এই মানটি 'BUFFERED' এ সেট করা উচিত | |
কাস্টম ডেটা | assetKey | শুধুমাত্র লাইভ স্ট্রিম। লোড করার জন্য লাইভ স্ট্রিম শনাক্ত করে |
কন্টেন্ট সোর্সআইডি | শুধুমাত্র VOD স্ট্রিম। অনুরোধ করা স্ট্রীম ধারণকারী মিডিয়া ফিড সনাক্ত করে। | |
ভিডিও আইডি | শুধুমাত্র VOD স্ট্রিম। নির্দিষ্ট মিডিয়া ফিডের মধ্যে অনুরোধ করা স্ট্রীম সনাক্ত করে। | |
ApiKey | একটি ঐচ্ছিক API কী যা IMA DAI SDK থেকে স্ট্রিম url পুনরুদ্ধার করতে প্রয়োজন হতে পারে৷ | |
প্রেরক এড়িয়ে যেতে পারেন | একটি বুলিয়ান মান যা রিসিভারকে জানাতে পারে যে পাঠানোর ডিভাইসে একটি স্কিপ বোতাম প্রদর্শন করার ক্ষমতা আছে কি না, এড়িয়ে যাওয়া বিজ্ঞাপনের জন্য সমর্থন সক্ষম করে |
কাস্ট কমান্ড এবং কন্ট্রোল টুলে এই মানগুলি কনফিগার করতে, "লোড মিডিয়া" ট্যাবে ক্লিক করুন এবং কাস্টম লোড অনুরোধের ধরনটি "লোড" এ সেট করুন। তারপরে নিম্নলিখিত 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": "2528370",
"videoId": "tears-of-steel",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}
এই কাস্টম লোড অনুরোধ বস্তুটি নীচের প্রতিটি ধাপ পরীক্ষা করার জন্য রিসিভারের কাছে পাঠানো যেতে পারে
2. একটি মৌলিক 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>
3. 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>
4. 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>
5. লোড বার্তা ইন্টারসেপ্টর তৈরি করুন
CAF DAI SDK CAF লোড মেসেজ ইন্টারসেপ্টর ব্যবহার করে স্ট্রীম রিকোয়েস্ট করতে এবং কন্টেন্ট URL-কে চূড়ান্ত DAI স্ট্রিম দিয়ে প্রতিস্থাপন করে। মেসেজ ইন্টারসেপ্টর কল করবে 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>
6. স্ট্রিম অনুরোধ তৈরি করুন
আপনার 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.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 বৈশিষ্ট্য সম্পর্কে জানতে, অন্যান্য গাইড দেখুন বা আমাদের নমুনা রিসিভার অ্যাপ্লিকেশন ডাউনলোড করুন ।