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