Menggunakan IMA DAI SDK di Android

Memutar streaming VOD yang terdaftar dengan Google Cloud Video Stitcher API

Panduan ini menunjukkan cara menggunakan IMA DAI SDK untuk Android untuk meminta dan memutar Streaming VOD Google Cloud sesi pelatihan.

Panduan ini memperluas contoh dasar dari sesi Memulai kami untuk IMA DAI.

Untuk informasi tentang integrasi dengan platform lain atau tentang penggunaan IMA SDK sisi klien, lihat Interactive Media Ads SDK.

Menyiapkan project Google Cloud

Masukkan variabel berikut untuk digunakan di IMA SDK:

Lokasi
Region Google Cloud tempat konfigurasi VOD Anda dibuat: LOCATION
Nomor project
Nomor project Google Cloud yang menggunakan Video Stitcher API: PROJECT_NUMBER
Token OAuth

Token OAuth akun layanan yang aktif singkat dengan pengguna Penggabung Video peran:

OAUTH_TOKEN

Baca selengkapnya tentang membuat OAuth berumur pendek token. Token OAuth dapat digunakan kembali pada beberapa permintaan selama belum kedaluwarsa.

Kode jaringan

Kode jaringan Ad Manager untuk meminta iklan: NETWORK_CODE

ID konfigurasi VOD

ID konfigurasi VOD untuk streaming VOD: VOD_CONFIG_ID

Baca selengkapnya tentang membuat ID konfigurasi VOD di Cloud penggabungan membuat Panduan konfigurasi VOD.

Menyiapkan contoh dasar

Buka rilis GitHub DAI IMA Android halaman dan download contoh dasarnya. Contoh ini adalah aplikasi Android yang dapat Anda buka di Android Studio untuk tujuan pengujian.

Untuk menguji dengan streaming VOD Penggabung Video non-Cloud, setel CONTENT_TYPE di SampleAdsWrapper.java menjadi ContentType.VOD_HLS, atau ContentType.VOD_DASH, untuk memuat ID CMS dan ID video yang sesuai untuk feed Anda. Lalu di SampleVideoPlayer.java, setel currentlyPlayingStreamType ke CONTENT_TYPE_HLS, atau CONTENT_TYPE_DASH ,untuk menangani metadata jenis streaming yang Anda pilih.

Jika semuanya berfungsi dengan baik, klik tombol putar di pemutar video memulai film pendek "Tears of Steel", dengan jeda iklan pre-roll.

Meminta streaming VOD

Untuk mengganti streaming sampel dengan streaming VOD iklan yang digabungkan, gunakan sdkFactory.createVideoStitcherVodStreamRequest() untuk membuat sesi iklan dengan Google Ad Manager. Anda dapat menggunakan fitur UI Pengelola untuk menemukan sesi DAI yang dihasilkan untuk pemantauan dan proses debug.

sdkFactory.createVideoStitcherVodStreamRequest() tersedia di IMA DAI SDK v3.30.0 atau yang lebih baru.

Untuk menggunakan sdkFactory.createVideoStitcherVodStreamRequest() dengan parameter vodConfigId, diperlukan IMA DAI SDK versi 3.33.0 atau yang lebih tinggi.

Dalam contoh yang ada, terdapat pernyataan bersyarat untuk meminta VOD streaming atau livestream. Agar dapat berfungsi dengan Penggabung Video Google Cloud API, Anda perlu menambahkan jalur baru untuk menampilkan StreamRequest yang dibuat menggunakan sdkFactory.createVideoStitcherVodStreamRequest().

Berikut contohnya:

videoplayerapp/SampleAdsWrapper.java

...
private enum ContentType {
  LIVE_HLS,
  LIVE_DASH,
// Add a VOD HLS Google Cloud type. DASH streams are also supported.
  VOD_HLS_GOOGLE_CLOUD,
  VOD_DASH_GOOGLE_CLOUD,
  VOD_HLS,
  VOD_DASH,
}

// Set CONTENT_TYPE to the associated enum for the
// stream type you would like to test.
private static final ContentType CONTENT_TYPE =
    ContentType.VOD_HLS_GOOGLE_CLOUD;
...

@Nullable
  private StreamRequest buildStreamRequest() {
    StreamRequest request;
    switch (CONTENT_TYPE) {
      ...
      case VOD_HLS_GOOGLE_CLOUD:
      case VOD_DASH_GOOGLE_CLOUD:
        // VOD HLS or DASH stream generated by the
        // Google Cloud Video Stitcher API.
        request = sdkFactory.createVideoStitcherVodStreamRequest(
          "NETWORK_CODE",
          "LOCATION",
          "PROJECT_NUMBER",
          "OAUTH_TOKEN",
          "VOD_CONFIG_ID"
        );
        if (CONTENT_TYPE == ContentType.VOD_HLS_GOOGLE_CLOUD) {
          request.setFormat(StreamFormat.HLS);
        } else {
          request.setFormat(StreamFormat.DASH);
        }
        return request;
    }
    // Content type not selected.
    return null;
  }
  ...

Muat ulang aplikasi untuk meminta dan memutar streaming VOD kustom Anda.

(Opsional) Menambahkan opsi sesi streaming

Sesuaikan permintaan streaming Anda dengan menambahkan opsi sesi untuk mengganti setelan default konfigurasi Cloud Video Stitcher API menggunakan StreamRequest.setVideoStitcherSessionOptions() Jika Anda memberikan opsi tidak dikenal, Video Stitcher API akan merespons dengan error HTTP 400. Lihat panduan pemecahan masalah untuk mendapatkan bantuan.

Misalnya, Anda dapat mengganti opsi manifes dengan cuplikan kode berikut, yang meminta dua manifes streaming dengan rendisi yang diurutkan dari kecepatan bit terendah ke tertinggi.

public void requestAndPlayAds() {
  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  StreamRequest streamRequest = buildStreamRequest();

  // The following session options are examples. Use session options
  // that are compatible with your video stream.
  Map<String, Object> sessionOptions = Map.of(
    "manifestOptions", Map.of(
      "includeRenditions", List.of(
        Map.of(
          "bitrateBps", 3000, "codecs",
          "hvc1.1.4.L126.B0, mp4a.40.2"),
        Map.of(
          "bitrateBps", 2000,
          "codecs", "avc1.64001f, mp4a.40.2")
      ),
      "bitrateOrder", "ascending"
    )
  );

  /* sessionOptions JSON structure.
   * {
   *  "manifestOptions": {
   *    "includeRenditions": [
   *      {"bitrateBps": 3000, "codecs": "hvc1.1.4.L126.B0, mp4a.40.2"},
   *      {"bitrateBps": 2000, "codecs": "avc1.64001f, mp4a.40.2"},
   *    ],
   *    "bitrateOrder": "ascending"
   *  }
   * };
   */

  streamRequest.setVideoStitcherSessionOptions(sessionOptions);
  adsLoader.requestStream(streamRequest);
}

Pembersihan

Anda berhasil menyelenggarakan streaming VOD menggunakan Google Cloud Video Stitcher API dan memintanya menggunakan IMA DAI SDK untuk Android, penting untuk membersihkan semua layanan Google Cloud Platform.

Ikuti Pembersihan VOD panduan untuk menghapus sumber daya dan aset yang tidak diperlukan.