راه اندازی IMA SDK برای DAI، راه اندازی IMA SDK برای DAI، راه اندازی IMA SDK برای DAI، راه اندازی IMA SDK برای DAI

IMA SDK ادغام تبلیغات چندرسانه ای را در وب سایت ها و برنامه های شما آسان می کند. IMA SDK می‌تواند از هر سرور تبلیغاتی سازگار با VAST آگهی درخواست کند و پخش آگهی را در برنامه‌های شما مدیریت کند. با IMA DAI SDK، برنامه‌ها درخواست پخش جریانی برای آگهی و ویدیوی محتوا را ارائه می‌کنند - اعم از VOD یا محتوای زنده. سپس SDK یک جریان ویدیوی ترکیبی را برمی‌گرداند، به طوری که نیازی به مدیریت جابجایی بین آگهی و ویدیوی محتوا در برنامه خود ندارید.

راه حل DAI مورد علاقه خود را انتخاب کنید

سرویس پاد DAI

IMA SDK ادغام تبلیغات چندرسانه ای را در وب سایت ها و برنامه های شما آسان می کند. IMA SDK می‌تواند از هر سرور تبلیغاتی سازگار با VAST آگهی درخواست کند و پخش آگهی را در برنامه‌های شما مدیریت کند. با IMA DAI SDK، برنامه‌ها درخواست پخش جریانی برای آگهی و ویدیوی محتوا را ارائه می‌کنند - اعم از VOD یا محتوای زنده. سپس SDK یک جریان ویدیوی ترکیبی را برمی‌گرداند، به طوری که نیازی به مدیریت جابجایی بین آگهی و ویدیوی محتوا در برنامه خود ندارید.

این راهنما نحوه پخش جریان DAI Pod Serving را با استفاده از IMA DAI SDK همراه با پخش کننده ویدیو برای پخش جریانی زنده و VOD نشان می دهد. برای مشاهده یا دنبال کردن یک نمونه ادغام کامل، نمونه Pod Serving را دانلود کنید.

نمای کلی سرویس IMA DAI Pod

  • StreamRequest : شیئی که یک درخواست جریان را به سرورهای تبلیغاتی Google تعریف می کند. برای فعال کردن سرویس Pod باید با استفاده از ImaSdkFactory.createPodStreamRequest() یا ImaSdkFactory.createPodVodStreamRequest() ایجاد شود. این روش ها به یک کد شبکه نیاز دارند و createPodStreamRequest همچنین به یک کلید دارایی سفارشی و یک کلید API اختیاری نیاز دارد. هر دو شامل سایر پارامترهای اختیاری هستند.

  • StreamManager : شی‌ای که ارتباط بین جریان ویدئو و IMA DAI SDK را کنترل می‌کند، مانند شلیک پینگ‌های ردیابی و ارسال رویدادهای جریان به ناشر.

پیش نیازها

  • یک برنامه Android از قبل با IMA DAI SDK برای پخش جریان‌های ویدیویی با تبلیغات DAI راه‌اندازی شده است. اگر قبلاً چنین برنامه ای ندارید، توصیه می کنیم از Android DAI BasicExample به عنوان نقطه شروع استفاده کنید. BasicExample دارای پایگاه کدی است که در این راهنما به آن اشاره شده است.

  • برای برنامه شما مهم است که رویدادهای ID3 را با استفاده از VideoStreamPlayerCallback.onUserTextReceived() برای عملکرد IMA DAI ارسال کند. این نمونه قطعه کد DAI سرویس کامل را ببینید.

متغیرهای Pod Serving خود را تنظیم کنید

تمام تغییرات مورد نیاز برای سرویس Pod در SampleAdsWrapper.java انجام می شود. اولین قدم به روز رسانی متغیرهای ثابت است.

در اینجا ثابت‌های درخواست جریان آگهی برای اضافه کردن آمده است:

  • STREAM_URL : فقط برای پخش‌های زنده استفاده می‌شود - نشانی اینترنتی جریان ویدیویی که توسط دستکاری‌کننده مانیفست یا شریک شخص ثالث شما با استفاده از سرویس Pod ارائه می‌شود. قبل از درخواست، باید شناسه جریان ارائه شده توسط IMA DAI SDK را درج کنید. در این مورد، URL جریان شامل یک مکان نگهدار، "[[STREAMID]]" است که قبل از درخواست، با شناسه جریان جایگزین می‌شود.

  • NETWORK_CODE : کد شبکه برای حساب Ad Manager 360 شما.

  • CUSTOM_ASSET_KEY : فقط برای پخش‌های زنده استفاده می‌شود - کلید دارایی سفارشی که رویداد Pod Serving شما را در Ad Manager 360 شناسایی می‌کند. این می‌تواند توسط دستکاری‌کننده مانیفست شما یا شریک سرویس Pod شخص ثالث ایجاد شود.

  • API_KEY : فقط برای پخش زنده استفاده می شود - یک کلید API اختیاری که می تواند برای بازیابی شناسه جریان از IMA DAI SDK مورد نیاز باشد.

Android DAI BasicExample برای پخش انواع مختلف جریان طراحی شده است، اما برای سرویس Pod، به گونه ای تنظیم شده است که فقط یک جریان را پخش کند. بخش متغیر مثال را برای مطابقت با موارد زیر تغییر دهید:

/** 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 pod برای فعال کردن سرویس Pod ایجاد کنید

پخش زنده پخش پاد

روش buildStreamRequest() را که برای جابجایی بین ساخت انواع مختلف جریان استفاده شده بود، حذف کنید. سپس، requestAndPlayAds() را تغییر دهید تا ImaSdkFactory.createPodStreamRequest() را فراخوانی کند تا یک درخواست تبلیغ Live Pod Serving ایجاد شود.

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

سرویس پاد استریم VOD

روش 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 درج شود. پس از انجام این تغییر، URL استریم جدید را با استفاده از روش videoPlayer.setStreamUrl() تنظیم کنید و برای شروع پخش استریم، متد 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. یک URL استریم از شریک فناوری ویدیویی خود (VTP) درخواست کنید.
  3. پس از اینکه URL را از VTP خود دریافت کردید، متد StreamManager.loadThirdPartyStream() را با URL برای بارگیری جریان، همراه با زیرنویس هایی که 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 Pod Serving، 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 را پاکسازی کنید

هنگامی که با موفقیت درخواست و نمایش تبلیغات در جریان سرویس Pod با IMA DAI SDK را به پایان رساندید، پیشنهاد می کنیم پس از اتمام جلسه سرویس پاد، همه منابع را پاکسازی کنید. با StreamManager.destroy() تماس بگیرید تا پخش جریانی را متوقف کنید، همه ردیابی تبلیغات را متوقف کنید و همه دارایی های جریان بارگیری شده را آزاد کنید.

برای مشاهده نمونه‌های دیگر از Android SDK مورد استفاده، نمونه‌هایی را در GitHub ببینید.