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

প্ল্যাটফর্ম নির্বাচন করুন: HTML5 অ্যান্ড্রয়েড iOS tvOS কাস্ট রোকু

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

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

পড সার্ভিং ডিএআই

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

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

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 ইভেন্ট পাঠানো গুরুত্বপূর্ণ। এই Full service DAI কোড স্নিপেট উদাহরণটি দেখুন।

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

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

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

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

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

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

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

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

/** 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;

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

লাইভ স্ট্রিম পড সার্ভিং

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

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

ভিওডি স্ট্রিম পড সার্ভিং

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

// 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();

ভিওডি স্ট্রিম পড সার্ভিং

  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() কলব্যাক কল করে। স্ট্রিম প্লেব্যাক শুরু করতে, 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() এ কল করুন।

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