এই নির্দেশিকা থেকে আপনি জানতে পারবেন যে কীভাবে একটি সাধারণ ভিডিও প্লেয়ার অ্যাপে IMA DAI SDK ইন্টিগ্রেট করতে হয়। আপনি যদি সম্পূর্ণ স্যাম্পেল ইন্টিগ্রেশন দেখতে বা অনুসরণ করতে চান, তাহলে GitHub থেকে BasicExample ডাউনলোড করুন।
IMA DAI ওভারভিউ
IMA DAI প্রয়োগ করার ক্ষেত্রে চারটি প্রধান SDK কম্পোনেন্ট থাকে, যা এই গাইডে দেখানো হয়েছে:
StreamDisplayContainer: একটি কন্টেনার অবজেক্ট যা ভিডিও প্লেব্যাক এলিমেন্টের উপরে থাকে এবং বিজ্ঞাপন UI এলিমেন্টকে ধারণ করে।AdsLoader: একটি অবজেক্ট যা স্ট্রিমের অনুরোধ করে এবং স্ট্রিমের অনুরোধের রেসপন্স অবজেক্টের মাধ্যমে ট্রিগার করা ইভেন্ট ম্যানেজ করে। আপনাকে শুধুমাত্র একটি বিজ্ঞাপন লোডার ইনস্ট্যান্টিয়েট করতে হবে, যা অ্যাপ্লিকেশনের লাইফ সাইকেল জুড়ে আবার ব্যবহার করা যেতে পারে।StreamRequest: একটি অবজেক্ট যা স্ট্রিম অনুরোধকে সংজ্ঞায়িত করে। স্ট্রিম সংক্রান্ত অনুরোধ চাহিদা অনুসার ভিডিও বা লাইভ স্ট্রিমের জন্য হতে পারে। লাইভ স্ট্রিম অনুরোধে অ্যাসেট কী উল্লেখ করা থাকে, যেখানে VOD অনুরোধে CMS আইডি ও ভিডিও আইডি উল্লেখ করা থাকে। উভয় ধরনের অনুরোধে নির্দিষ্ট স্ট্রিম অ্যাক্সেস করার জন্য প্রয়োজনীয় API কী এবং Google Ad Manager সেটিংসে উল্লেখ করা বিজ্ঞাপন শনাক্তকারী ম্যানেজ করার জন্য IMA SDK-এর Google Ad Manager নেটওয়ার্ক কোড ঐচ্ছিকভাবে অন্তর্ভুক্ত থাকতে পারে।StreamManager: একটি অবজেক্ট যা ডায়নামিক বিজ্ঞাপন ইনসার্শন স্ট্রিম এবং DAI ব্যাকএন্ডের সাথে ইন্টার্যাকশন ম্যানেজ করে। এছাড়াও, স্ট্রিম ম্যানেজার ট্র্যাকিং পিং ম্যানেজ করে এবং স্ট্রিম ও বিজ্ঞাপন ইভেন্ট প্রকাশকের কাছে ফরওয়ার্ড করে।
পূর্বশর্ত
- Android Studio
- SDK ইন্টিগ্রেশনের জন্য স্যাম্পেল ভিডিও প্লেয়ার অ্যাপ
স্যাম্পেল ভিডিও প্লেয়ার অ্যাপ ডাউনলোড করে চালান
স্যাম্পেল অ্যাপে একটি কার্যকরী ভিডিও প্লেয়ার থাকে যা HLS ভিডিও চালায়। IMA DAI SDK-এর DAI ক্ষমতা ইন্টিগ্রেট করার জন্য শুরুর স্থান হিসেবে এটি ব্যবহার করুন।
স্যাম্পেল ভিডিও প্লেয়ার অ্যাপ ডাউনলোড করে এক্সট্র্যাক্ট করুন।
Android Studio চালু করে আগে থেকে থাকা Android Studio প্রোজেক্ট খুলুন বিকল্প বেছে নিন, অথবা Android Studio আগে থেকেই চালু থাকলে, ফাইল > নতুন > প্রোজেক্ট ইম্পোর্ট করুন বিকল্প বেছে নিন। তারপর
SampleVideoPlayer/build.gradleবেছে নিন।টুল > Android > Gradle ফাইলের সাথে প্রোজেক্ট সিঙ্ক করুন বিকল্প বেছে নিয়ে Gradle সিঙ্ক রান করুন।
রান করুন > 'অ্যাপ' রান করুন বিকল্প ব্যবহার করে প্লেয়ার অ্যাপটি কোনও ফিজিক্যাল Android ডিভাইস বা Android ভার্চুয়াল ডিভাইসে কম্পাইল ও রান করছে কিনা তা নিশ্চিত করুন। ভিডিও স্ট্রিম চালু হওয়ার আগে লোড হতে কিছুটা সময় লাগা স্বাভাবিক।
স্যাম্পেল ভিডিও প্লেয়ার পরীক্ষা করুন
স্যাম্পেল ভিডিও প্লেয়ারে এখনও কোনও IMA DAI SDK ইন্টিগ্রেশন কোড নেই। স্যাম্পেল অ্যাপের দুটি প্রধান অংশ আছে:
samplevideoplayer/SampleVideoPlayer.java: একটি ExoPlayer-ভিত্তিক HLS প্লেয়ার যা IMA DAI ইন্টিগ্রেশনের ভিত্তি হিসেবে কাজ করে।videoplayerapp/MyActivity.java: এই অ্যাক্টিভিটি ভিডিও প্লেয়ার তৈরি করে এবং এতেContextওmedia3.ui.PlayerViewপাস করে।
প্লেয়ার অ্যাপে IMA DAI SDK যোগ করা
এছাড়াও, আপনাকে IMA DAI SDK-এর রেফারেন্স অন্তর্ভুক্ত করতে হবে। Android Studio-তে,
app/build.gradle-এ অবস্থিত আপনার অ্যাপ্লিকেশন-লেভেল build.gradle ফাইলে নিম্নলিখিতগুলি যোগ করুন। IMA SDK-এর জন্য লাইব্রেরি ডিসুগারিং চালু করা প্রয়োজন, যা আপনাকে
coreLibraryDesugaringEnabled true সেট করে এবং build.gradle
ফাইলে ডিপেন্ডেন্সি হিসেবে 'com.android.tools:desugar_jdk_libs' যোগ করে
করতে হবে। বিস্তারিত জানতে, nio স্পেসিফিকেশন সহ ডিসুগারিংয়ের মাধ্যমে উপলভ্য Java 11+ API দেখুন।
IMA DAI SDK ইন্টিগ্রেট করুন
videoplayerappপ্যাকেজে (app/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/-এ)SampleAdsWrapperনামে একটি নতুন ক্লাস তৈরি করুন যাতে আগে থেকে থাকাSampleVideoPlayer-কে র্যাপ করা যায় এবং IMA DAI প্রয়োগ করার লজিক যোগ করা যায়। এটি করতে, আপনাকে প্রথমে একটিAdsLoaderতৈরি করতে হবে যা DAI স্ট্রিমের অনুরোধ করতে ব্যবহার করা হয়।এই স্নিপেটে HLS ও DASH, লাইভ ও VOD স্ট্রিমের জন্য স্যাম্পেল প্যারামিটার অন্তর্ভুক্ত আছে। কোন স্ট্রিম চালানো হচ্ছে তা সেট করতে,
CONTENT_TYPEভেরিয়েবেল আপডেট করুন।createSampleVideoPlayerCallback()হেল্পার পদ্ধতি তৈরি করুন যাSampleVideoPlayerCallbackইন্টারফেস ইনস্ট্যান্স তৈরি করা ম্যানেজ করে, যাVideoStreamPlayer.VideoStreamPlayerCallbackএক্সটেন্ড করে।DAI-এর সাথে কাজ করার জন্য, প্লেয়ারকে অবশ্যই IMA DAI SDK-তে ID3 ইভেন্ট পাস করতে হবে। নিম্নলিখিত স্যাম্পেল কোডে
callback.onUserTextReceived()পদ্ধতি এটি করে।SteamRequestতৈরি করতেbuildStreamRequest()পদ্ধতি যোগ করুন। আপনি যেভাবেCONTENT_TYPEভেরিয়েবেল সেট করেন তার উপর ভিত্তি করে এই পদ্ধতি বিভিন্ন স্ট্রিমের মধ্যে পরিবর্তন করে। এই গাইডে ব্যবহার করা ডিফল্ট স্ট্রিম হল IMA-এর স্যাম্পেল VOD HLS স্ট্রিম।এছাড়াও, স্ট্রিম চালানোর জন্য আপনার একটি
VideoStreamPlayerপ্রয়োজন, তাই একটিcreateVideoStreamPlayer()পদ্ধতি যোগ করুন, যা একটি বেনামী ক্লাস তৈরি করে যাVideoStreamPlayerপ্রয়োগ করে।প্রয়োজনীয় লিসেনার প্রয়োগ করুন এবং সমস্যা সমাধানের জন্য সহায়তা যোগ করুন।
AdErrorListenerপ্রয়োগের বিষয়টি লক্ষ্য করুন, কারণ বিজ্ঞাপন চালানো না গেলে এটি একটি ফলব্যাক URL কল করে। কন্টেন্ট ও বিজ্ঞাপন একই স্ট্রিমে থাকার কারণে, DAI স্ট্রিমে কোনও সমস্যা হলে, আপনাকে ফলব্যাক স্ট্রিম কল করার জন্য প্রস্তুত থাকতে হবে।লগিংয়ের জন্য কোডে যোগ করুন।
ইনস্ট্যান্টিয়েট ও কল করতে
videoplayerapp-এMyActivityপরিবর্তন করুনSampleAdsWrapper. এছাড়াও,ImaSdkSettingsইনস্ট্যান্স তৈরি করতে হেল্পার পদ্ধতি ব্যবহার করে এখানেImaSdkFactory.initialize()-এ কল করুন।ImaSdkSettingsইনস্ট্যান্স তৈরি করতেgetImaSdkSettings()হেল্পার পদ্ধতি যোগ করুন।লগিংয়ের জন্য UI এলিমেন্ট যোগ করতে অ্যাক্টিভিটির লে-আউট ফাইল
activity_my.xmlপরিবর্তন করুন।
অভিনন্দন! আপনি এখন আপনার Android অ্যাপে ভিডিও বিজ্ঞাপন দেখানোর অনুরোধ করছেন। আপনার প্রয়োগকে আরও উন্নত করতে, বুকমার্ক, স্ন্যাপব্যাক, এবং API ডকুমেন্টেশন দেখুন।
সমস্যার সমাধান
ভিডিও বিজ্ঞাপন চালানোর সময় সমস্যা হলে, সম্পূর্ণ BasicExample ডাউনলোড করে দেখুন। BasicExample-এ এটি সঠিকভাবে কাজ করলে, আপনার অ্যাপের IMA ইন্টিগ্রেশন কোডে কোনও সমস্যা থাকতে পারে।
এখনও আপনার সমস্যা হলে, IMA SDK ফোরাম দেখুন।