DAI এর জন্য IMA SDK সেট আপ করুন, DAI এর জন্য IMA SDK সেট আপ করুন, DAI এর জন্য IMA SDK সেট আপ করুন, DAI এর জন্য IMA SDK সেট আপ করুন

IMA SDKগুলি আপনার ওয়েবসাইট এবং অ্যাপগুলিতে মাল্টিমিডিয়া বিজ্ঞাপনগুলিকে একীভূত করা সহজ করে তোলে৷ IMA SDK যেকোন VAST-সঙ্গী বিজ্ঞাপন সার্ভার থেকে বিজ্ঞাপনের অনুরোধ করতে পারে এবং আপনার অ্যাপে বিজ্ঞাপন প্লেব্যাক পরিচালনা করতে পারে। IMA DAI SDK-এর সাথে, অ্যাপগুলি বিজ্ঞাপন এবং বিষয়বস্তু ভিডিওর জন্য একটি স্ট্রিম অনুরোধ করে—হয় VOD বা লাইভ সামগ্রী। SDK তারপরে একটি সম্মিলিত ভিডিও স্ট্রিম ফেরত দেয়, যাতে আপনাকে আপনার অ্যাপের মধ্যে বিজ্ঞাপন এবং বিষয়বস্তু ভিডিওর মধ্যে স্যুইচিং পরিচালনা করতে হবে না।

আপনি আগ্রহী DAI সমাধান নির্বাচন করুন

পড পরিবেশন DAI

IMA SDKগুলি আপনার ওয়েবসাইট এবং অ্যাপগুলিতে মাল্টিমিডিয়া বিজ্ঞাপনগুলিকে একীভূত করা সহজ করে তোলে৷ IMA SDK যেকোন VAST-সঙ্গী বিজ্ঞাপন সার্ভার থেকে বিজ্ঞাপনের অনুরোধ করতে পারে এবং আপনার অ্যাপে বিজ্ঞাপন প্লেব্যাক পরিচালনা করতে পারে। IMA DAI SDK-এর সাথে, অ্যাপগুলি বিজ্ঞাপন এবং বিষয়বস্তু ভিডিওর জন্য একটি স্ট্রিম অনুরোধ করে—হয় VOD বা লাইভ সামগ্রী। SDK তারপরে একটি সম্মিলিত ভিডিও স্ট্রিম ফেরত দেয়, যাতে আপনাকে আপনার অ্যাপের মধ্যে বিজ্ঞাপন এবং বিষয়বস্তু ভিডিওর মধ্যে স্যুইচিং পরিচালনা করতে হবে না।

লাইভ এবং VOD স্ট্রিম প্লেব্যাকের জন্য একটি ভিডিও প্লেয়ার সহ IMA DAI SDK ব্যবহার করে কীভাবে একটি DAI পড সার্ভিং স্ট্রিম চালাতে হয় এই নির্দেশিকাটি প্রদর্শন করে৷ একটি সম্পূর্ণ নমুনা ইন্টিগ্রেশন দেখতে বা অনুসরণ করতে, Pod Serving উদাহরণটি ডাউনলোড করুন।

IMA DAI পড সার্ভিং ওভারভিউ

  • StreamRequest : একটি বস্তু যা Google এর বিজ্ঞাপন সার্ভারে একটি স্ট্রিম অনুরোধ সংজ্ঞায়িত করে। পড সার্ভিং সক্ষম করতে ImaSdkFactory.createPodStreamRequest() বা ImaSdkFactory.createPodVodStreamRequest() ব্যবহার করে তৈরি করতে হবে৷ এই পদ্ধতিগুলির জন্য একটি নেটওয়ার্ক কোড প্রয়োজন, এবং createPodStreamRequest জন্য একটি কাস্টম সম্পদ কী এবং একটি ঐচ্ছিক API কী প্রয়োজন। উভয় অন্যান্য ঐচ্ছিক পরামিতি অন্তর্ভুক্ত.

  • StreamManager : একটি বস্তু যা ভিডিও স্ট্রীম এবং IMA DAI SDK-এর মধ্যে যোগাযোগ পরিচালনা করে, যেমন ফায়ারিং ট্র্যাকিং পিং এবং প্রকাশকের কাছে স্ট্রিম ইভেন্ট ফরওয়ার্ড করা।

পূর্বশর্ত

  • DAI বিজ্ঞাপনের সাথে ভিডিও স্ট্রিম চালানোর জন্য IMA DAI SDK-এর সাথে একটি Android অ্যাপ ইতিমধ্যেই সেট আপ করা হয়েছে। যদি আপনার কাছে এমন কোনো অ্যাপ না থাকে, তাহলে আমরা Android DAI BasicExampleকে শুরুর পয়েন্ট হিসেবে ব্যবহার করার পরামর্শ দিই। BasicExample এই নির্দেশিকায় উল্লেখিত কোডবেস আছে।

  • IMA DAI কাজ করার জন্য VideoStreamPlayerCallback.onUserTextReceived() ব্যবহার করে ID3 ইভেন্ট পাঠানো আপনার অ্যাপের জন্য গুরুত্বপূর্ণ। এই সম্পূর্ণ পরিষেবা DAI কোড স্নিপেট উদাহরণ দেখুন।

আপনার পড সার্ভিং ভেরিয়েবল সেট আপ করুন

পড সার্ভিংয়ের জন্য প্রয়োজনীয় সমস্ত পরিবর্তন SampleAdsWrapper.java- এ করা হয়। প্রথম ধাপ হল ধ্রুবক ভেরিয়েবল আপডেট করা।

এখানে অ্যাড পড স্ট্রিম অনুরোধের ধ্রুবক যোগ করা হয়েছে:

  • STREAM_URL : শুধুমাত্র লাইভস্ট্রিমগুলির জন্য ব্যবহৃত - পড সার্ভিং ব্যবহার করে আপনার ম্যানিফেস্ট ম্যানিপুলেটর বা তৃতীয় পক্ষের অংশীদার দ্বারা প্রদত্ত ভিডিও স্ট্রিম URL৷ আপনি একটি অনুরোধ করার আগে, আপনাকে IMA DAI SDK দ্বারা প্রদত্ত স্ট্রিম আইডি ঢোকাতে হবে। এই ক্ষেত্রে, স্ট্রীম URL-এ একটি স্থানধারক অন্তর্ভুক্ত করা হয়, "[[STREAMID]]" , যা অনুরোধ করার আগে স্ট্রিম আইডি দিয়ে প্রতিস্থাপিত হয়।

  • NETWORK_CODE : আপনার Ad Manager 360 অ্যাকাউন্টের নেটওয়ার্ক কোড।

  • CUSTOM_ASSET_KEY : শুধুমাত্র লাইভস্ট্রিমের জন্য ব্যবহৃত - কাস্টম সম্পদ কী যা অ্যাড ম্যানেজার 360-এ আপনার পড সার্ভিং ইভেন্টকে শনাক্ত করে৷ এটি আপনার ম্যানিফেস্ট ম্যানিপুলেটর বা তৃতীয়-পক্ষ পড সার্ভিং অংশীদার দ্বারা তৈরি করা যেতে পারে৷

  • API_KEY : শুধুমাত্র লাইভস্ট্রিমের জন্য ব্যবহৃত - একটি ঐচ্ছিক API কী যা IMA DAI SDK থেকে একটি স্ট্রিম আইডি পুনরুদ্ধার করতে প্রয়োজন হতে পারে।

Android DAI BasicExample বিভিন্ন ধরনের স্ট্রীম খেলার জন্য ডিজাইন করা হয়েছে, কিন্তু পড সার্ভিংয়ের জন্য, এটি শুধুমাত্র একটি একক স্ট্রিম চালানোর জন্য সেট আপ করা হয়েছে। নিম্নলিখিতগুলির সাথে মেলে উদাহরণের পরিবর্তনশীল বিভাগটি পরিবর্তন করুন:

/** This class implements IMA to add pod ad-serving support to SampleVideoPlayer */
@SuppressLint("UnsafeOptInUsageError")
/* @SuppressLint is needed for new media3 APIs. */
public class SampleAdsWrapper
    implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {

  // Set up the pod serving variables.
  private static final String NETWORK_CODE = "";
  private static final String CUSTOM_ASSET_KEY = "";
  private static final String API_KEY = "";
  private static final String STREAM_URL = "";
  private static final StreamFormat STREAM_FORMAT = StreamFormat.HLS;

পড সার্ভিং সক্ষম করতে একটি লাইভ বা VOD পড স্ট্রিম অনুরোধ তৈরি করুন৷

লাইভ স্ট্রিম পড পরিবেশন

buildStreamRequest() পদ্ধতিটি সরান যা বিভিন্ন ধরণের স্ট্রিম তৈরির মধ্যে স্যুইচ করতে ব্যবহৃত হয়েছিল। তারপর, একটি লাইভ পড সার্ভিং বিজ্ঞাপনের অনুরোধ তৈরি করতে ImaSdkFactory.createPodStreamRequest() কল করার জন্য requestAndPlayAds() পরিবর্তন করুন।

// Live pod stream request.
request = sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);

VOD স্ট্রিম পড পরিবেশন

buildStreamRequest() পদ্ধতিটি সরান যা বিভিন্ন ধরণের স্ট্রিম তৈরির মধ্যে স্যুইচ করতে ব্যবহৃত হয়েছিল। তারপর, একটি VOD পড সার্ভিং বিজ্ঞাপনের অনুরোধ তৈরি করতে ImaSdkFactory.createPodVodStreamRequest() কল করতে requestAndPlayAds() পরিবর্তন করুন।

// VOD pod stream request.
request = sdkFactory.createPodVodStreamRequest(NETWORK_CODE);

আপনি স্ট্রিম অনুরোধের উদাহরণ তৈরি করার পরে, AdsLoader.requestStream() ব্যবহার করে স্ট্রিমের অনুরোধ করুন :

request.setFormat(STREAM_FORMAT);
adsLoader.requestStream(request);

স্ট্রীম URL সম্পাদনা করুন এবং সেট করুন৷

লাইভ স্ট্রিম পড পরিবেশন

স্ট্রিম আইডি পেতে StreamManager.getStreamId() পদ্ধতিতে কল করুন। এটি "[[STREAMID]]" প্রতিস্থাপন করে STEAM_URL এ ঢোকানো দরকার। এই পরিবর্তন করার পরে, videoPlayer.setStreamUrl() পদ্ধতি ব্যবহার করে নতুন স্ট্রিম URL সেট করুন এবং স্ট্রিম প্লেব্যাক শুরু করতে videoPlayer.play() পদ্ধতিতে কল করুন৷

// Play the live pod stream.
streamID = streamManager.getStreamId();
String liveStreamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);
// Call videoPlayer.play() here, because IMA doesn't call the VideoStreamPlayer.loadUrl()
// function for livestreams.
videoPlayer.setStreamUrl(liveStreamUrl);
videoPlayer.play();

VOD স্ট্রিম পড পরিবেশন

  1. স্ট্রিম আইডি পেতে StreamManager.getStreamId() পদ্ধতিতে কল করুন।
  2. আপনার ভিডিও প্রযুক্তি অংশীদার (VTP) থেকে একটি স্ট্রিম URL অনুরোধ করুন।
  3. আপনি আপনার VTP থেকে URL পাওয়ার পর, আপনার VTP ফেরত দেওয়া যেকোনো সাবটাইটেল সহ স্ট্রিমটি লোড করতে URL সহ StreamManager.loadThirdPartyStream() পদ্ধতিতে কল করুন।
// Play the VOD pod stream.
streamID = streamManager.getStreamId();
String vodStreamUrl = "";
// Refer to your Video Tech Partner (VTP) or video stitching guide to fetch the stream URL
// and the subtitles for a the ad stitched VOD stream.

// In the following commented out code, 'vtpInterface' is a place holder
// for your own video technology partner (VTP) API calls.
// vodStreamUrl = vtpInterface.requestStreamURL(streamID);
List<Map<String, String>> subtitles = new ArrayList<>();
streamManager.loadThirdPartyStream(vodStreamUrl, subtitles);

VOD পড সার্ভিং অনুরোধের জন্য, স্ট্রীম লোড হয়ে গেলে IMA VideoStreamPlayer.loadUrl() কলব্যাক কল করে৷ স্ট্রিম প্লেব্যাক শুরু করতে, videoPlayer.setStreamUrl() এবং videoPlayer.play() কলগুলি VideoStreamPlayer.loadUrl() কলব্যাকে যোগ করুন:

private VideoStreamPlayer createVideoStreamPlayer() {
  return new VideoStreamPlayer() {
    @Override
    public void loadUrl(String url, List<HashMap<String, String>> subtitles) {
      // IMA doesn't make calls to VideoStreamPlayer.loadUrl() for pod serving live streams.
      // The following code is for VOD streams.
      videoPlayer.setStreamUrl(url);
      videoPlayer.play();
    }

IMA DAI সম্পদ পরিষ্কার করুন

আপনি যখন সফলভাবে IMA DAI SDK-এর সাথে পড সার্ভিং স্ট্রীমে বিজ্ঞাপনের অনুরোধ করা এবং প্রদর্শন করা শেষ করেন, তখন আমরা আপনাকে পড সার্ভিং সেশন সম্পূর্ণ হওয়ার পরে যে কোনও সংস্থান পরিষ্কার করার পরামর্শ দিই। স্ট্রীম প্লেব্যাক বন্ধ করতে, সমস্ত বিজ্ঞাপন ট্র্যাকিং বন্ধ করতে এবং লোড হওয়া সমস্ত স্ট্রিম সম্পদ প্রকাশ করতে StreamManager.destroy() এ কল করুন৷

অ্যান্ড্রয়েড SDK ব্যবহার করার অন্যান্য উদাহরণ দেখতে, GitHub-এ নমুনাগুলি দেখুন।