IMA DAI 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 adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
        implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {

  // Podserving Stream Constants.
  private static final String STREAM_URL =
          "https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
          "master.m3u8?gen-seg-redirect=true&network=51636543&event=google-sample" +
          "&pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
          "&seg-host=dai.google.com&stream_id=[[STREAMID]]";
  private static final String NETWORK_CODE = "51636543";
  private static final String CUSTOM_ASSET_KEY = "google-sample";
  private static final String API_KEY = "";

  private static final String PLAYER_TYPE = "DAISamplePlayer";

  /** Log interface, so we can output the log commands to the UI or similar. */
  public interface Logger {

...

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

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

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

public void requestAndPlayAds() {
  StreamRequest request =
      sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
  request.setFormat(StreamFormat.HLS);

  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  adsLoader.requestStream(request);
}

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

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

public void requestAndPlayAds() {
  StreamRequest request =
      sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
  request.setFormat(StreamFormat.HLS);

  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  adsLoader.requestStream(request);
}

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

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

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

@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
  streamManager = event.getStreamManager();
  streamManager.addAdErrorListener(this);
  streamManager.addAdEventListener(this);

  // To enable streams
  String streamID = streamManager.getStreamId();
  String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);

  streamManager.init();

  videoPlayer.setStreamUrl(streamUrl);
  videoPlayer.play();
}

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

স্ট্রিম আইডি পেতে StreamManager.getStreamId() এ কল করুন। তারপর, আপনার ভিডিও প্রযুক্তি অংশীদার (VTP) থেকে একটি স্ট্রিম URL এর অনুরোধ করুন। তারপর IMA স্ট্রিম URL এবং আপনার TVP দ্বারা ফেরত দেওয়া যেকোনো সাবটাইটেল লোড করতে StreamManager.loadThirdPartyStream() এ কল করুন।

@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
  streamManager = event.getStreamManager();
  streamManager.addAdErrorListener(this);
  streamManager.addAdEventListener(this);

  // To enable streams
  String streamID = streamManager.getStreamId();
  // 'vtpInterface' is a place holder for your own video technology partner
  // (VTP) API calls.
  String streamUrl = vtpInterface.requestStreamURL(streamID);

  streamManager.init();

  // Pass any subtitles returned by your VTP in this step as well.
  streamManager.loadThirdPartyStream(streamUrl, subtitles);
}

যখন পড সার্ভিং সক্ষম করা থাকে, IMA VideoStreamPlayer.loadUrl() এ কল করে না, তাই আপনি এটি থেকে videoPlayer.setStreamUrl() এবং videoPlayer.play() এ যেকোন কল মুছে ফেলতে পারেন৷

তাই তো! আপনি এখন IMA DAI SDK-এর সাথে একটি পড সার্ভিং স্ট্রীমে বিজ্ঞাপনের অনুরোধ করছেন এবং প্রদর্শন করছেন৷ অ্যান্ড্রয়েড SDK ব্যবহার করার অন্যান্য উদাহরণ দেখতে, GitHub-এ নমুনাগুলি দেখুন।