IMA SDK-এর মাধ্যমে আপনার ওয়েবসাইট এবং অ্যাপে মাল্টিমিডিয়া বিজ্ঞাপন যুক্ত করা সহজ। IMA SDK যেকোনো VAST-সম্মত অ্যাড সার্ভার থেকে বিজ্ঞাপনের জন্য অনুরোধ করতে পারে এবং আপনার অ্যাপে বিজ্ঞাপনের প্লেব্যাক পরিচালনা করতে পারে। IMA DAI SDK-এর সাহায্যে, অ্যাপগুলো বিজ্ঞাপন এবং কন্টেন্ট ভিডিও—উভয়ই VOD বা লাইভ কন্টেন্টের জন্য একটি স্ট্রিম অনুরোধ করে। এরপর SDK একটি সম্মিলিত ভিডিও স্ট্রিম ফেরত দেয়, ফলে আপনাকে আপনার অ্যাপের মধ্যে বিজ্ঞাপন এবং কন্টেন্ট ভিডিওর মধ্যে পরিবর্তন পরিচালনা করতে হয় না।
আপনার পছন্দের DAI সমাধানটি নির্বাচন করুন।
Google Cloud Video Stitcher API-এর সাথে নিবন্ধিত VOD স্ট্রিমগুলি চালান।
এই নির্দেশিকাটিতে দেখানো হয়েছে কীভাবে IMA DAI SDK for HTML5 ব্যবহার করে একটি গুগল ক্লাউড VOD স্ট্রিম সেশন অনুরোধ ও প্লে করতে হয়।
এই নির্দেশিকাটি IMA DAI-এর ' শুরু করার নির্দেশিকা ' থেকে নেওয়া মৌলিক উদাহরণটিকে আরও বিশদভাবে ব্যাখ্যা করে।
অন্যান্য প্ল্যাটফর্মের সাথে ইন্টিগ্রেশন বা IMA ক্লায়েন্ট-সাইড SDK ব্যবহারের তথ্যের জন্য, ইন্টারেক্টিভ মিডিয়া অ্যাডস SDK দেখুন।
একটি সম্পূর্ণ নমুনা ইন্টিগ্রেশন দেখতে বা অনুসরণ করতে, HLS বা DASH-এর জন্য ক্লাউড ভিডিও স্টিচার উদাহরণটি ডাউনলোড করুন।
একটি গুগল ক্লাউড প্রজেক্ট সেট আপ করুন
IMA SDK-তে ব্যবহারের জন্য নিম্নলিখিত ভেরিয়েবলগুলো প্রবেশ করান:- অবস্থান
- গুগল ক্লাউড অঞ্চল যেখানে আপনার VOD কনফিগারেশন তৈরি করা হয়েছিল:
LOCATION - প্রকল্প নম্বর
- ভিডিও স্টিচার এপিআই ব্যবহার করে গুগল ক্লাউড প্রজেক্ট নম্বর:
PROJECT_NUMBER - OAuth টোকেন
ভিডিও স্টিচার ব্যবহারকারী ভূমিকা সহ একটি পরিষেবা অ্যাকাউন্টের স্বল্পস্থায়ী OAuth টোকেন:
OAUTH_TOKEN
স্বল্পস্থায়ী OAuth টোকেন তৈরি করার বিষয়ে আরও পড়ুন। যতক্ষণ পর্যন্ত OAuth টোকেনটির মেয়াদ শেষ না হয়, ততক্ষণ এটি একাধিক অনুরোধে পুনরায় ব্যবহার করা যেতে পারে।
- নেটওয়ার্ক কোড
বিজ্ঞাপন অনুরোধ করার জন্য অ্যাড ম্যানেজার নেটওয়ার্ক কোড:
NETWORK_CODE
- VOD কনফিগারেশন আইডি
VOD স্ট্রিমের জন্য VOD কনফিগারেশন আইডি:
VOD_CONFIG_IDক্লাউড স্টিচিং-এর জন্য VOD কনফিগ তৈরি করার নির্দেশিকা থেকে VOD কনফিগ আইডি তৈরি করার বিষয়ে আরও পড়ুন।
একটি উন্নয়ন পরিবেশ কনফিগার করুন
IMA স্যাম্পল অ্যাপগুলো শুধুমাত্র HLS স্ট্রিম রিকোয়েস্ট প্রদর্শন করে। VideoStitcherVodStreamRequest ক্লাসটি তৈরি করার সময় আপনি DASH স্ট্রিমও ব্যবহার করতে পারেন। আপনার DASH-কম্প্যাটিবল প্লেয়ার সেট আপ করার সময়, আপনাকে আপনার ভিডিও প্লেয়ারের প্রোগ্রেস ইভেন্টগুলোর জন্য একটি লিসেনার সেট আপ করতে হবে, যা StreamManager.processMetadata() -কে ভিডিওর মেটাডেটা সরবরাহ করতে পারে। এই ফাংশনটি তিনটি প্যারামিটার গ্রহণ করে:
type: একটি স্ট্রিং যা HLS স্ট্রিমের জন্য অবশ্যই'ID3'এবং DASH স্ট্রিমের জন্য'urn:google:dai:2018'সেট করতে হবে।data: ড্যাশ ইভেন্ট মেসেজের ক্ষেত্রে, এটি হলো মেসেজ ডেটা স্ট্রিং।timestamp: একটি সংখ্যা যা ড্যাশ স্ট্রিমের জন্য ইভেন্ট মেসেজ শুরুর সময় নির্দেশ করে।
আপনার প্লেয়ার ইভেন্টগুলো থেকে মেটাডেটা যত তাড়াতাড়ি এবং যতবার সম্ভব পাঠানো হবে। মেটাডেটা অনুপস্থিত বা সঠিক না হলে, IMA DAI SDK বিজ্ঞাপন ইভেন্ট ট্রিগার নাও করতে পারে, যার ফলে বিজ্ঞাপন ইভেন্টগুলো ভুলভাবে রিপোর্ট করা হবে।
HTML5-এর জন্য IMA DAI উদাহরণগুলো ডাউনলোড করুন এবং hls_js/simple স্যাম্পল জিপ ফাইলটি একটি নতুন ফোল্ডারে এক্সট্র্যাক্ট করুন। এই উদাহরণটি একটি ওয়েব অ্যাপ, যা আপনি পরীক্ষার উদ্দেশ্যে স্থানীয়ভাবে হোস্ট করতে পারেন।
উদাহরণটি স্থানীয়ভাবে হোস্ট করতে, নতুন ফোল্ডারটিতে যান এবং একটি ওয়েব সার্ভার চালু করার জন্য নিম্নলিখিত পাইথন কমান্ডটি চালান:
python3 -m http.server 8000http.server শুধুমাত্র পাইথন 3.x-এ উপলব্ধ। আপনি অন্য যেকোনো ওয়েব সার্ভার, যেমন অ্যাপাচি এইচটিটিপি সার্ভার বা নোড জেএস ব্যবহার করতে পারেন।
ভিডিও প্লেয়ারটি দেখতে একটি ওয়েব ব্রাউজার খুলে localhost:8000 এ যান। আপনার ব্রাউজারে অবশ্যই HLS.js লাইব্রেরিটি সমর্থিত থাকতে হবে।
সবকিছু ঠিকঠাক কাজ করলে, ভিডিও প্লেয়ারের প্লে বাটনে ক্লিক করলে প্রতি ৩০ সেকেন্ড পর পর বিজ্ঞাপন বিরতিসহ "টিয়ার্স অফ স্টিল" স্বল্পদৈর্ঘ্য চলচ্চিত্রটি শুরু হয়।
একটি VOD স্ট্রিমের জন্য অনুরোধ করুন
স্যাম্পল স্ট্রিমটিকে আপনার অ্যাড স্টিচড VOD স্ট্রিম দিয়ে প্রতিস্থাপন করতে, Google Ad Manager-এর সাথে স্বয়ংক্রিয়ভাবে একটি অ্যাড সেশন তৈরি করার জন্য VideoStitcherVodStreamRequest ক্লাসটি ব্যবহার করুন। মনিটরিং এবং ডিবাগিংয়ের জন্য তৈরি হওয়া DAI সেশনগুলো সনাক্ত করতে আপনি Google Ad Manager UI ব্যবহার করতে পারেন।
বিদ্যমান স্যাম্পলটিতে VOD স্ট্রিম বা লাইভস্ট্রিম অনুরোধ করার জন্য ফাংশন রয়েছে। এটিকে গুগল ক্লাউড ভিডিও স্টিচার এপিআই (Google Cloud Video Stitcher API)-এর সাথে কাজ করানোর জন্য, আপনাকে একটি VideoStitcherVodStreamRequest অবজেক্ট রিটার্ন করার জন্য একটি নতুন ফাংশন যোগ করতে হবে।
এখানে একটি উদাহরণ দেওয়া হলো:
// StreamManager which will be used to request DAI streams.
let streamManager;
...
function initPlayer() {
videoElement = document.getElementById('video');
adUiElement = document.getElementById('adUi');
streamManager = new google.ima.dai.api.StreamManager(
videoElement,
adUiElement
);
streamManager.addEventListener(
[
google.ima.dai.api.StreamEvent.Type.LOADED,
google.ima.dai.api.StreamEvent.Type.ERROR,
google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED,
google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED
],
onStreamEvent, false);
hls.on(Hls.Events.FRAG_PARSING_METADATA, function(event, data) {
if (streamManager && data) {
// For each ID3 tag in our metadata, we pass in the type - ID3, the
// tag data (a byte array), and the presentation timestamp (PTS).
data.samples.forEach(function(sample) {
streamManager.processMetadata('ID3', sample.data, sample.pts);
});
}
});
videoElement.addEventListener('pause', () => {
playButton.style.display = "block";
});
playButton.addEventListener('click', initiatePlayback);
}
function initiatePlayback() {
requestVodVideoStitcherStream();
playButton.style.display = "none";
playButton.removeEventListener('click', initiatePlayback);
playButton.addEventListener('click', resumePlayback);
}
...
function requestVodVideoStitcherStream() {
const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest();
streamRequest.vodConfigId = 'VOD_CONFIG_ID';
streamRequest.region = 'LOCATION';
streamRequest.projectNumber = 'PROJECT_NUMBER';
streamRequest.oAuthToken = 'OAUTH_TOKEN';
streamRequest.networkCode = 'NETWORK_CODE';
streamManager.requestStream(streamRequest);
}
পৃষ্ঠাটি পুনরায় লোড করুন। এরপর, আপনি কাস্টম ভিওডি স্ট্রিমটির জন্য অনুরোধ করতে এবং সেটি চালাতে পারবেন।
(ঐচ্ছিক) স্ট্রিমিং সেশন বিকল্প যোগ করুন
VideoStitcherVodStreamRequest.videoStitcherSessionOptions ব্যবহার করে ডিফল্ট ক্লাউড ভিডিও স্টিচার এপিআই কনফিগারেশনকে ওভাররাইড করতে সেশন অপশন যোগ করে আপনার স্ট্রিম রিকোয়েস্ট কাস্টমাইজ করুন। আপনি যদি কোনো অপরিচিত অপশন প্রদান করেন, তাহলে ক্লাউড ভিডিও স্টিচার এপিআই একটি HTTP 400 এরর দিয়ে সাড়া দেবে। সাহায্যের জন্য ট্রাবলশুটিং গাইড দেখুন।
উদাহরণস্বরূপ, আপনি নিম্নলিখিত কোড স্নিপেটটি ব্যবহার করে ম্যানিফেস্ট অপশনগুলো ওভাররাইড করতে পারেন, যা সর্বনিম্ন বিটরেট থেকে সর্বোচ্চ বিটরেট পর্যন্ত সাজানো রেন্ডিশনসহ দুটি স্ট্রিম ম্যানিফেস্টের জন্য অনুরোধ করে।
...
// The following session options are examples. Use session options
// that are compatible with your video stream.
streamRequest.videoStitcherSessionOptions = {
"manifestOptions": {
"bitrateOrder": "ascending"
}
};
streamManager.requestStream(streamRequest);
পরিষ্কার করা
এখন যেহেতু আপনি Google Cloud Video Stitcher API ব্যবহার করে সফলভাবে একটি VOD স্ট্রিম হোস্ট করেছেন এবং HTML5-এর জন্য IMA DAI SDK ব্যবহার করে এটির জন্য অনুরোধ করেছেন, তাই যেকোনো সার্ভিং রিসোর্স পরিষ্কার করা গুরুত্বপূর্ণ।
অপ্রয়োজনীয় রিসোর্স ও অ্যাসেটগুলো সরিয়ে ফেলতে VOD ক্লিন আপ গাইডটি অনুসরণ করুন।
অবশেষে, যে টার্মিনাল উইন্ডোতে আপনি পাইথন ৩ ওয়েব সার্ভারটি চালু করেছিলেন, সেখানে লোকাল সার্ভারটি বন্ধ করতে ctrl+C কমান্ডটি ব্যবহার করুন।