DAI-এর জন্য IMA SDK সেট-আপ করা

প্ল্যাটফর্ম বেছে নিন: HTML5 Android iOS tvOS Cast Roku

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 স্ট্রিম চালাতে হয়। সম্পূর্ণ স্যাম্পেল ইন্টিগ্রেশন দেখতে বা ফলো করতে, Pod Serving-এর উদাহরণ ডাউনলোড করুন।

IMA DAI পড পরিবেশন সংক্রান্ত ওভারভিউ

  • StreamRequest: এমন একটি অবজেক্ট যা Google-এর বিজ্ঞাপন সার্ভারে স্ট্রিম সংক্রান্ত অনুরোধকে সংজ্ঞায়িত করে। Pod পরিবেশন চালু করতে, এগুলি ব্যবহার করে তৈরি করতে হবে: 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: শুধুমাত্র লাইভ স্ট্রিমের জন্য ব্যবহৃত হয় - কাস্টম অ্যাসেট কী যা Ad Manager 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 পাওয়ার পরে, স্ট্রিম লোড করতে URL সহ StreamManager.loadThirdPartyStream() মেথড কল করুন, এর সাথে আপনার VTP-র রিটার্ন করা যেকোনও সাবটাইটেলও কল করুন।
// 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() কলব্যাককে কল করে। স্ট্রিম প্লেব্যাক শুরু করতে, VideoStreamPlayer.loadUrl() কলব্যাকে videoPlayer.setStreamUrl() এবং videoPlayer.play() কল যোগ করুন:

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() প্লেব্যাক বন্ধ করতে , সব বিজ্ঞাপন ট্র্যাকিং বন্ধ করতে এবং লোড করা সব স্ট্রিম অ্যাসেট রিলিজ করতে কল করুন।

Android SDK ব্যবহারের অন্যান্য উদাহরণ দেখতে, GitHub-এ নমুনা দেখুন।