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.