IMA SDKগুলি আপনার ওয়েবসাইট এবং অ্যাপগুলিতে মাল্টিমিডিয়া বিজ্ঞাপনগুলিকে একীভূত করা সহজ করে তোলে৷ IMA SDK যেকোন VAST-সঙ্গী বিজ্ঞাপন সার্ভার থেকে বিজ্ঞাপনের অনুরোধ করতে পারে এবং আপনার অ্যাপে বিজ্ঞাপন প্লেব্যাক পরিচালনা করতে পারে। IMA DAI SDK-এর সাথে, অ্যাপগুলি বিজ্ঞাপন এবং বিষয়বস্তু ভিডিওর জন্য একটি স্ট্রিম অনুরোধ করে—হয় VOD বা লাইভ সামগ্রী। SDK তারপরে একটি সম্মিলিত ভিডিও স্ট্রিম ফেরত দেয়, যাতে আপনাকে আপনার অ্যাপের মধ্যে বিজ্ঞাপন এবং বিষয়বস্তু ভিডিওর মধ্যে স্যুইচিং পরিচালনা করতে হবে না।
আপনি আগ্রহী DAI সমাধান নির্বাচন করুন
Google ক্লাউড ভিডিও স্টিচার API-এর সাথে নিবন্ধিত VOD স্ট্রীম চালান
Google ক্লাউড VOD স্ট্রিম সেশনের অনুরোধ ও খেলার জন্য HTML5-এর জন্য IMA DAI SDK কীভাবে ব্যবহার করবেন এই নির্দেশিকাটি দেখায়।
এই নির্দেশিকাটি IMA DAI-এর জন্য শুরু করুন নির্দেশিকা থেকে প্রাথমিক উদাহরণে বিস্তৃত হয়েছে।
অন্যান্য প্ল্যাটফর্মের সাথে একীভূত করা বা IMA ক্লায়েন্ট-সাইড SDK ব্যবহার করার বিষয়ে তথ্যের জন্য, ইন্টারেক্টিভ মিডিয়া বিজ্ঞাপন SDK দেখুন।
একটি সম্পূর্ণ নমুনা ইন্টিগ্রেশন দেখতে বা অনুসরণ করতে, HLS বা DASH-এর জন্য ক্লাউড ভিডিও স্টিচারের উদাহরণ ডাউনলোড করুন।
একটি Google ক্লাউড প্রকল্প সেট আপ করুন৷
IMA SDK-তে ব্যবহারের জন্য নিম্নলিখিত ভেরিয়েবলগুলি লিখুন:- অবস্থান
- Google ক্লাউড অঞ্চল যেখানে আপনার VOD কনফিগারেশন তৈরি করা হয়েছিল:
LOCATION
- প্রকল্প নম্বর
- ভিডিও স্টিচার API ব্যবহার করে Google ক্লাউড প্রকল্প নম্বর:
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
: DASH ইভেন্ট বার্তাগুলির জন্য, এটি বার্তা ডেটা স্ট্রিং।timestamp
: একটি সংখ্যা যা DASH স্ট্রীমের জন্য ইভেন্ট বার্তা শুরুর সময়।
যত তাড়াতাড়ি এবং যতবার আপনার প্লেয়ার ইভেন্টগুলি সরবরাহ করতে পারে মেটাডেটা পাঠান। মেটাডেটা অনুপস্থিত থাকলে বা সঠিক না হলে, IMA DAI SDK বিজ্ঞাপন ইভেন্টগুলিকে ট্রিগার নাও করতে পারে, যা ভুলভাবে রিপোর্ট করা বিজ্ঞাপন ইভেন্টগুলির দিকে পরিচালিত করে৷
HTML5 এর জন্য IMA DAI উদাহরণগুলি ডাউনলোড করুন এবং একটি নতুন ফোল্ডারে hls_js/simple
নমুনা জিপ ফাইলটি বের করুন৷ এই উদাহরণটি হল একটি ওয়েব অ্যাপ যা আপনি স্থানীয়ভাবে পরীক্ষার উদ্দেশ্যে হোস্ট করতে পারেন৷
স্থানীয়ভাবে উদাহরণ হোস্ট করতে, নতুন ফোল্ডারে নেভিগেট করুন এবং একটি ওয়েব সার্ভার শুরু করতে নিম্নলিখিত পাইথন কমান্ডটি চালান:
python3 -m http.server 8000
http.server
শুধুমাত্র Python 3.x এ উপলব্ধ। আপনি অন্য কোনো ওয়েব সার্ভার ব্যবহার করতে পারেন, যেমন Apache HTTP সার্ভার বা Node JS।
একটি ওয়েব ব্রাউজার খুলুন এবং একটি ভিডিও প্লেয়ার দেখতে localhost:8000
এ নেভিগেট করুন। আপনার ব্রাউজার অবশ্যই HLS.js লাইব্রেরি সমর্থন করবে৷
সবকিছু ঠিকঠাক থাকলে, ভিডিও প্লেয়ারে প্লে বোতামে ক্লিক করলে শর্ট ফিল্ম "টিয়ার্স অফ স্টিল" শুরু হয়, প্রতি 30 সেকেন্ডে বিজ্ঞাপন বিরতি সহ।
একটি VOD স্ট্রিম অনুরোধ করুন
আপনার বিজ্ঞাপন সেলাই করা VOD স্ট্রিম দিয়ে নমুনা স্ট্রীম প্রতিস্থাপন করতে, Google Ad Manager-এর সাথে স্বয়ংক্রিয়ভাবে একটি বিজ্ঞাপন সেশন তৈরি করতে VideoStitcherVodStreamRequest
ক্লাস ব্যবহার করুন। আপনি নিরীক্ষণ এবং ডিবাগিংয়ের জন্য জেনারেট করা DAI সেশনগুলি সনাক্ত করতে Google Ad Manager UI ব্যবহার করতে পারেন৷
বিদ্যমান নমুনায়, একটি VOD স্ট্রিম বা একটি লাইভস্ট্রিম অনুরোধ করার জন্য ফাংশন আছে। এটিকে Google ক্লাউড ভিডিও স্টিচার 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);
}
পৃষ্ঠাটি পুনরায় লোড করুন। তারপর, আপনি কাস্টম VOD স্ট্রীম অনুরোধ করতে এবং খেলতে পারেন।
(ঐচ্ছিক) স্ট্রিমিং সেশন বিকল্প যোগ করুন
VideoStitcherVodStreamRequest.videoStitcherSessionOptions
ব্যবহার করে ডিফল্ট ক্লাউড ভিডিও স্টিচার API কনফিগারেশন ওভাররাইড করতে সেশন বিকল্প যোগ করে আপনার স্ট্রিম অনুরোধ কাস্টমাইজ করুন। আপনি যদি একটি অচেনা বিকল্প প্রদান করেন, ক্লাউড ভিডিও স্টিচার API একটি HTTP 400 ত্রুটির সাথে প্রতিক্রিয়া জানাবে৷ সহায়তার জন্য সমস্যা সমাধানের গাইডের সাথে পরামর্শ করুন।
উদাহরণস্বরূপ, আপনি নিম্নলিখিত কোড স্নিপেট দিয়ে ম্যানিফেস্ট বিকল্পগুলিকে ওভাররাইড করতে পারেন, যা সর্বনিম্ন বিটরেট থেকে সর্বোচ্চ পর্যন্ত ক্রমানুসারে দুটি স্ট্রিম ম্যানিফেস্টের অনুরোধ করে।
...
// The following session options are examples. Use session options
// that are compatible with your video stream.
streamRequest.videoStitcherSessionOptions = {
"manifestOptions": {
"includeRenditions": [
{"bitrateBps": 3000, "codecs": "hvc1.1.4.L126.B0, mp4a.40.2"},
{"bitrateBps": 2000, "codecs": "avc1.64001f, mp4a.40.2"},
],
"bitrateOrder": "ascending"
}
};
streamManager.requestStream(streamRequest);
পরিষ্কার করুন
এখন আপনি Google ক্লাউড ভিডিও স্টিচার API ব্যবহার করে একটি VOD স্ট্রীম সফলভাবে হোস্ট করেছেন এবং HTML5 এর জন্য IMA DAI SDK ব্যবহার করে অনুরোধ করেছেন, যেকোন পরিবেশন সংস্থানগুলি পরিষ্কার করা গুরুত্বপূর্ণ৷
যেকোনো অপ্রয়োজনীয় সম্পদ এবং সম্পদ অপসারণ করতে VOD ক্লিন আপ গাইড অনুসরণ করুন।
অবশেষে, টার্মিনাল উইন্ডোতে যেখানে আপনি Python 3 ওয়েব সার্ভার শুরু করেছেন, স্থানীয় সার্ভার শেষ করতে ctrl+C
কমান্ডটি ব্যবহার করুন।