IMA DAI SDK'sını kullanmaya başlama

IMA SDK'ları, multimedya reklamlarını web sitelerinize ve uygulamalarınıza entegre etmenizi kolaylaştırır. IMA SDK'ları herhangi birinden reklam iste VAST uyumlu reklam sunucusu oluşturup uygulamalarınızda reklam oynatmayı yönetin. IMA DAI SDK'larıyla, uygulamalar reklam ve içerik videosu (VOD veya canlı içerik) için akış isteği. SDK, daha sonra Böylece, reklam ve içerik videosu arasında geçiş yönetmek zorunda kalmazsınız. bir kontrol listesidir.

İlgilendiğiniz DAI çözümünü seçme

Kapsül yayınlama DAI

IMA SDK'ları, multimedya reklamlarını web sitelerinize ve uygulamalarınıza entegre etmenizi kolaylaştırır. IMA SDK'ları herhangi birinden reklam iste VAST uyumlu reklam sunucusu oluşturup uygulamalarınızda reklam oynatmayı yönetin. IMA DAI SDK'larıyla, uygulamalar reklam ve içerik videosu (VOD veya canlı içerik) için akış isteği. SDK, daha sonra Böylece, reklam ve içerik videosu arasında geçiş yönetmek zorunda kalmazsınız. bir kontrol listesidir.

Bu kılavuzda, IMA DAI kullanılarak DAI Kapsül Yayınlama akışının nasıl oynatılacağı gösterilmektedir Canlı ve VOD akış oynatma için basit bir video oynatıcıya sahip SDK. Şunu tamamlanmış bir örnek entegrasyonu görüntülemek veya izlemek istiyorsanız kapsül sunma örneği.

IMA DAI Kapsül Yayınlamaya genel bakış

  • StreamRequest: Şu akış isteğini tanımlayan bir nesne: Google'ın reklam sunucuları. Aşağıdakilerden biri kullanılarak oluşturulmalıdır: ImaSdkFactory.createPodStreamRequest() veya ImaSdkFactory.createPodVodStreamRequest() kullanarak kapsül sunmayı etkinleştirin. Bu yöntemler bir Ağ Kodu gerektirir ve createPodStreamRequest ayrıca bir Özel Öğe Anahtarı ve isteğe bağlı API anahtarı. Her ikisi de isteğe bağlı başka parametreler içerir.

  • StreamManager: Şu öğeler arasındaki iletişimi işleyen bir nesne: izleme ping'lerini tetikleme ve IMA DAI SDK'sını kullanma gibi, Akış etkinliklerini yayıncıya yönlendirme.

Ön koşullar

Kapsül sunma değişkenlerinizi ayarlama

Kapsül yayınlama için gereken tüm değişiklikler SampleAdsWrapper.java içinde yapılır. İlgili içeriği oluşturmak için kullanılan ilk adım sabit değişkenleri güncellemektir.

Eklenecek reklam kapsülü akış isteği sabit değerleri aşağıda verilmiştir:

  • STREAM_URL: Yalnızca canlı yayınlar için kullanılır - tarafından sağlanan video akışı URL'si manifest düzenleyiciniz veya üçüncü taraf iş ortağınız aracılığıyla hazırlayın. Uygulama aktarmadan önce IMA DAI SDK'sı tarafından sağlanan akış kimliğini girmenizi gerektirir: istekte bulunabilirsiniz. Bu durumda, akış URL'si bir yer tutucu içerir. "[[STREAMID]]" (bu veri, akış kimliğiyle değiştirilir). isteği gönderin.

  • NETWORK_CODE: Ad Manager 360 hesabınızın ağ kodu.

  • CUSTOM_ASSET_KEY: Yalnızca canlı yayınlar için kullanılır: Ad Manager 360'ta kapsül yayınlama etkinliğinizi tanımlar. Bu, şunlar tarafından oluşturulabilir: manifest düzenleyiciniz veya üçüncü taraf kapsül sunma iş ortağınız.

  • API_KEY: Yalnızca canlı yayınlar için kullanılır: IMA DAI SDK'sından akış kimliğini almak için gereklidir.

Android DAI Temel Örneği, birçok farklı akışı oynatmak üzere tasarlanmıştır ancak kapsül yayını için yalnızca tek bir akış oynatacak şekilde ayarlanır. Örneğin değişken bölümünü aşağıdakiyle eşleşecek şekilde değiştirin:

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

...

Kapsül yayınını etkinleştirmek için canlı veya VOD kapsül akış isteği oluşturun

Canlı yayın kapsülü yayınlama

Şu uygulamalar arasında geçiş yapmak için kullanılan buildStreamRequest() yöntemini kaldırın: oluşturabilirsiniz. Ardından, requestAndPlayAds() ayarını telefonla aramak olarak değiştirin Canlı kapsül yayınlama reklamı oluşturmak için ImaSdkFactory.createPodStreamRequest() isteği gönderin. Son olarak, AdsLoader.requestStream() kullanarak akış isteğinde bulunun.

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 akış kapsülü yayınlama

Şu uygulamalar arasında geçiş yapmak için kullanılan buildStreamRequest() yöntemini kaldırın: oluşturabilirsiniz. Ardından, requestAndPlayAds() ayarını telefonla aramak olarak değiştirin VOD kapsül yayınlama reklamı oluşturmak için ImaSdkFactory.createPodVodStreamRequest() isteği gönderin. Son olarak, AdsLoader.requestStream() kullanarak akış isteğinde bulunun.

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

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

Akış URL'sini düzenleme ve ayarlama

Canlı yayın kapsülü yayınlama

Akış kimliğini almak için StreamManager.getStreamId() öğesini çağırın. Bu durumda, "[[STREAMID]]" yerine STEAM_URL içine eklendi. Bu değişiklikten sonra yeni yayın URL'si videoPlayer.setStreamUrl() kullanılarak ayarlanabilir.

@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 akış kapsülü yayınlama

Akış kimliğini almak için StreamManager.getStreamId() öğesini çağırın. Ardından, video teknolojisi iş ortağınızın (VTP) akış URL'si. Ardından şu numarayı arayın: StreamManager.loadThirdPartyStream() IMA'nın akış URL'sini ve TVP'niz tarafından döndürülen altyazılar.

@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);
}

Kapsül yayınlama etkinleştirildiğinde IMA, VideoStreamPlayer.loadUrl() olduğundan şu kişilere yapılan aramaları kaldırabilirsiniz: videoPlayer.setStreamUrl() ve videoPlayer.play() uzaklıkta.

İşte bu kadar. Artık aşağıdakilerle kapsül yayınlama akışında reklam istiyor ve gösteriyorsunuz: IMA DAI SDK'sı. Kullanılan diğer Android SDK örneklerini görmek için: şuraya bakın: GitHub'daki örnekler.