IMA SDK গুলি আপনার ওয়েবসাইট এবং অ্যাপগুলিতে মাল্টিমিডিয়া বিজ্ঞাপনগুলিকে একীভূত করা সহজ করে তোলে। IMA SDK গুলি যেকোনো VAST-সম্মত বিজ্ঞাপন সার্ভার থেকে বিজ্ঞাপনের অনুরোধ করতে পারে এবং আপনার অ্যাপগুলিতে বিজ্ঞাপন প্লেব্যাক পরিচালনা করতে পারে। IMA DAI SDK গুলির সাহায্যে, অ্যাপগুলি বিজ্ঞাপন এবং কন্টেন্ট ভিডিওর জন্য একটি স্ট্রিম অনুরোধ করে—হয় VOD অথবা লাইভ কন্টেন্ট। SDK তারপর একটি সম্মিলিত ভিডিও স্ট্রিম প্রদান করে, যাতে আপনাকে আপনার অ্যাপের মধ্যে বিজ্ঞাপন এবং কন্টেন্ট ভিডিওর মধ্যে স্যুইচ করার ব্যবস্থা করতে না হয়।
আপনার আগ্রহের DAI সমাধানটি নির্বাচন করুন।
পূর্ণাঙ্গ পরিষেবা DAI
এই নির্দেশিকাটি IMA DAI SDK কে একটি সাধারণ ভিডিও প্লেয়ার অ্যাপের সাথে কীভাবে একীভূত করতে হয় তা দেখায়। আপনি যদি একটি সম্পূর্ণ নমুনা একীভূতকরণ দেখতে বা অনুসরণ করতে চান, তাহলে GitHub থেকে BasicExample ডাউনলোড করুন।
IMA DAI ওভারভিউ
IMA DAI বাস্তবায়নে চারটি প্রধান SDK উপাদান জড়িত, যেমনটি এই নির্দেশিকায় দেখানো হয়েছে:
-
StreamDisplayContainer: একটি কন্টেইনার অবজেক্ট যা ভিডিও প্লেব্যাক এলিমেন্টের উপরে থাকে এবং বিজ্ঞাপন UI এলিমেন্টগুলিকে ধারণ করে। -
AdsLoader: এমন একটি অবজেক্ট যা স্ট্রিম অনুরোধ করে এবং স্ট্রিম অনুরোধ প্রতিক্রিয়া অবজেক্ট দ্বারা ট্রিগার হওয়া ইভেন্টগুলি পরিচালনা করে। আপনার কেবল একটি বিজ্ঞাপন লোডার চালু করা উচিত, যা অ্যাপ্লিকেশনের পুরো সময় জুড়ে পুনরায় ব্যবহার করা যেতে পারে। -
StreamRequest: একটি অবজেক্ট যা একটি স্ট্রিম অনুরোধকে সংজ্ঞায়িত করে। স্ট্রিম অনুরোধগুলি ভিডিও-অন-ডিমান্ড বা লাইভ স্ট্রিমের জন্য হতে পারে। লাইভ স্ট্রিম অনুরোধগুলি একটি সম্পদ কী নির্দিষ্ট করে, যখন VOD অনুরোধগুলি একটি CMS আইডি এবং ভিডিও আইডি নির্দিষ্ট করে। উভয় অনুরোধের ধরণে ঐচ্ছিকভাবে নির্দিষ্ট স্ট্রিমগুলি অ্যাক্সেস করার জন্য প্রয়োজনীয় একটি API কী এবং Google বিজ্ঞাপন ম্যানেজার সেটিংসে নির্দিষ্ট বিজ্ঞাপন শনাক্তকারী পরিচালনা করার জন্য IMA SDK-এর জন্য একটি Google বিজ্ঞাপন ম্যানেজার নেটওয়ার্ক কোড অন্তর্ভুক্ত থাকতে পারে। -
StreamManager: একটি অবজেক্ট যা DAI ব্যাকএন্ডের সাথে গতিশীল বিজ্ঞাপন সন্নিবেশ স্ট্রিম এবং ইন্টারঅ্যাকশন পরিচালনা করে। স্ট্রিম ম্যানেজার ট্র্যাকিং পিংগুলিও পরিচালনা করে এবং স্ট্রিম এবং বিজ্ঞাপন ইভেন্টগুলি প্রকাশকের কাছে ফরোয়ার্ড করে।
পূর্বশর্ত
- অ্যান্ড্রয়েড স্টুডিও
- SDK ইন্টিগ্রেশনের জন্য নমুনা ভিডিও প্লেয়ার অ্যাপ
নমুনা ভিডিও প্লেয়ার অ্যাপটি ডাউনলোড করে চালান।
নমুনা অ্যাপটি একটি কার্যকরী ভিডিও প্লেয়ার প্রদান করে যা HLS ভিডিও চালায়। IMA DAI SDK এর DAI ক্ষমতাগুলিকে একীভূত করার জন্য এটিকে একটি সূচনা বিন্দু হিসাবে ব্যবহার করুন।
নমুনা ভিডিও প্লেয়ার অ্যাপটি ডাউনলোড করুন এবং এটি এক্সট্র্যাক্ট করুন।
Android Studio শুরু করুন এবং Open an existing Android Studio project নির্বাচন করুন, অথবা যদি Android Studio ইতিমধ্যেই চলমান থাকে, তাহলে File > New > Import Project নির্বাচন করুন। তারপর
SampleVideoPlayer/build.gradleনির্বাচন করুন।Tools > Android > Sync Project with Gradle Files নির্বাচন করে একটি Gradle sync চালান।
নিশ্চিত করুন যে প্লেয়ার অ্যাপটি একটি ফিজিক্যাল অ্যান্ড্রয়েড ডিভাইস বা একটি অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইসে Run > Run 'app' ব্যবহার করে কম্পাইল এবং রান করছে। ভিডিও স্ট্রিমটি চালানোর আগে লোড হতে কয়েক মিনিট সময় নেওয়া স্বাভাবিক।
নমুনা ভিডিও প্লেয়ারটি পরীক্ষা করুন
নমুনা ভিডিও প্লেয়ারটিতে এখনও কোনও 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-এর জন্য লাইব্রেরি desugaring সক্ষম করা প্রয়োজন, যা আপনাকে coreLibraryDesugaringEnabled true সেট করে এবং build.gradle ফাইলে dependency হিসেবে coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5' যোগ করে করতে হবে। আরও বিস্তারিত জানার জন্য, nio স্পেসিফিকেশন সহ desugaring-এর মাধ্যমে উপলব্ধ Java 11+ API দেখুন।
IMA DAI SDK একীভূত করুন
বিদ্যমান
SampleVideoPlayerমোড়ানোর জন্য এবং IMA DAI বাস্তবায়নকারী লজিক যোগ করার জন্যvideoplayerappপ্যাকেজে (app/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/তে)SampleAdsWrapperনামে একটি নতুন ক্লাস তৈরি করুন। এটি করার জন্য, আপনাকে প্রথমে একটিAdsLoaderতৈরি করতে হবে যা DAI স্ট্রিম অনুরোধ করতে ব্যবহৃত হয়।এই স্নিপেটে HLS এবং DASH, লাইভ এবং VOD স্ট্রিমগুলির জন্য নমুনা প্যারামিটার অন্তর্ভুক্ত রয়েছে। কোন স্ট্রিমটি চালানো হচ্ছে তা সেট করতে,
CONTENT_TYPEভেরিয়েবলটি আপডেট করুন।একটি
SampleVideoPlayerCallbackইন্টারফেস ইনস্ট্যান্স তৈরি করার জন্য একটিcreateSampleVideoPlayerCallback()সহায়ক পদ্ধতি তৈরি করুন যা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 এর লেআউট ফাইল
activity_my.xmlপরিবর্তন করুন।
অভিনন্দন! আপনি এখন আপনার অ্যান্ড্রয়েড অ্যাপে ভিডিও বিজ্ঞাপনের অনুরোধ করছেন এবং প্রদর্শন করছেন। আপনার বাস্তবায়নকে আরও সুন্দর করতে, বুকমার্ক , স্ন্যাপব্যাক এবং API ডকুমেন্টেশন দেখুন।
সমস্যা সমাধান
যদি আপনার ভিডিও বিজ্ঞাপন চালাতে সমস্যা হয়, তাহলে সম্পূর্ণ BasicExample ডাউনলোড করার চেষ্টা করুন। যদি এটি BasicExample-এ সঠিকভাবে কাজ করে তবে সম্ভবত আপনার অ্যাপের IMA ইন্টিগ্রেশন কোডে কোনও সমস্যা আছে।
যদি আপনার এখনও সমস্যা হয়, তাহলে IMA SDK ফোরামে যান।