Mulai menggunakan IMA DAI SDK

IMA SDK memudahkan pengintegrasian iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat meminta iklan dari server iklan apa pun yang sesuai dengan VAST dan mengelola pemutaran iklan di aplikasi Anda. Dengan IMA DAI SDK, aplikasi membuat permintaan streaming untuk video iklan dan konten—baik VOD maupun konten live. SDK kemudian menampilkan streaming video gabungan, sehingga Anda tidak perlu mengelola peralihan antara iklan dan video konten dalam aplikasi.

Pilih solusi DAI yang Anda minati

Pod yang menayangkan DAI

IMA SDK memudahkan pengintegrasian iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat meminta iklan dari server iklan apa pun yang sesuai dengan VAST dan mengelola pemutaran iklan di aplikasi Anda. Dengan IMA DAI SDK, aplikasi membuat permintaan streaming untuk video iklan dan konten—baik VOD maupun konten live. SDK kemudian menampilkan streaming video gabungan, sehingga Anda tidak perlu mengelola peralihan antara iklan dan video konten dalam aplikasi.

Panduan ini menunjukkan cara memutar streaming Penayangan Pod DAI, menggunakan IMA Android DAI SDK dengan pemutar video sederhana untuk pemutaran streaming live dan VOD. Jika Anda ingin melihat atau mengikuti contoh integrasi yang telah selesai, download contoh penayangan pod.

Ringkasan Penayangan Pod IMA DAI

  • StreamRequest: Objek yang menentukan permintaan streaming ke server iklan Google. Harus dibuat menggunakan ImaSdkFactory.createPodStreamRequest() atau ImaSdkFactory.createPodVodStreamRequest() untuk mengaktifkan penayangan pod. Metode ini memerlukan Kode Jaringan, dan createPodStreamRequest juga memerlukan Kunci Aset Kustom, serta kunci API opsional. Keduanya menyertakan parameter opsional lainnya.

  • StreamManager: Objek yang menangani komunikasi antara streaming video dan IMA DAI SDK, seperti mengaktifkan ping pelacakan dan meneruskan peristiwa streaming ke penayang.

Prasyarat

Menyiapkan variabel penayangan pod

Semua perubahan yang diperlukan untuk penayangan pod dilakukan di SampleAdsWrapper.java. Langkah pertama adalah memperbarui variabel konstanta.

Berikut konstanta permintaan streaming pod iklan yang akan ditambahkan:

  • STREAM_URL: Hanya digunakan untuk Livestream - URL streaming video yang disediakan oleh manipulator manifes atau partner pihak ketiga yang menggunakan penayangan pod. Anda harus memasukkan ID streaming yang disediakan oleh IMA DAI SDK, sebelum membuat permintaan. Dalam hal ini, URL streaming menyertakan placeholder, "[[STREAMID]]", yang diganti dengan ID aliran data, sebelum membuat permintaan.

  • NETWORK_CODE: Kode jaringan untuk akun Ad Manager 360 Anda.

  • CUSTOM_ASSET_KEY: Hanya digunakan untuk Livestream - Kunci aset kustom yang mengidentifikasi peristiwa penayangan pod di Ad Manager 360. Hal ini dapat dibuat oleh manipulator manifes atau partner penayangan pod pihak ketiga.

  • API_KEY: Hanya digunakan untuk Livestream - Kunci API opsional yang dapat diperlukan untuk mengambil ID streaming dari IMA DAI SDK.

BasicExample DAI Android dirancang untuk memutar berbagai jenis streaming yang berbeda, tetapi untuk penayangan pod, BasicExample disiapkan untuk hanya memutar satu streaming. Ubah bagian variabel contoh agar sesuai dengan yang berikut:

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

...

Buat permintaan streaming pod VOD atau live untuk mengaktifkan penayangan pod

Penayangan pod live stream

Hapus metode buildStreamRequest() yang telah digunakan untuk beralih antara membangun berbagai jenis streaming. Lalu, ubah requestAndPlayAds() untuk memanggil ImaSdkFactory.createPodStreamRequest() guna membuat permintaan iklan yang menayangkan pod Live. Terakhir, minta streaming menggunakan 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);
}

Penayangan pod streaming VOD

Hapus metode buildStreamRequest() yang telah digunakan untuk beralih antara membangun berbagai jenis streaming. Kemudian, ubah requestAndPlayAds() untuk memanggil ImaSdkFactory.createPodVodStreamRequest() guna membuat pod VOD yang menayangkan permintaan iklan. Terakhir, minta streaming menggunakan AdsLoader.requestStream().

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

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

Mengedit dan menetapkan URL streaming

Penayangan pod live stream

Panggil StreamManager.getStreamId() untuk mendapatkan ID aliran data. Class ini kemudian perlu dimasukkan ke dalam STEAM_URL yang menggantikan "[[STREAMID]]". Setelah perubahan ini dilakukan, URL streaming baru dapat ditetapkan menggunakan videoPlayer.setStreamUrl().

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

Penayangan pod streaming VOD

Panggil StreamManager.getStreamId() untuk mendapatkan ID aliran data. Kemudian, minta URL streaming dari partner teknologi video (VTP). Kemudian, panggil StreamManager.loadThirdPartyStream() agar IMA memuat URL streaming dan subtitel apa pun yang ditampilkan oleh TVP.

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

Jika penayangan pod diaktifkan, IMA tidak melakukan panggilan ke VideoStreamPlayer.loadUrl(), sehingga Anda dapat menghapus panggilan ke videoPlayer.setStreamUrl() dan videoPlayer.play() dari panggilan tersebut.

Selesai. Anda kini meminta dan menampilkan iklan di streaming penayangan pod dengan IMA Android DAI SDK. Untuk mengetahui contoh lain Android SDK yang digunakan, lihat contoh di GitHub.