Panduan ini menunjukkan cara mengintegrasikan IMA DAI SDK ke dalam aplikasi pemutar video sederhana. Jika Anda ingin melihat atau mengikuti contoh integrasi yang sudah selesai, download BasicExample dari GitHub.
Ringkasan IMA DAI
Penerapan IMA DAI melibatkan empat komponen SDK utama seperti yang ditunjukkan dalam panduan ini:
StreamDisplayContainer: Objek penampung yang berada di atas elemen pemutaran video dan menampung elemen UI iklan.AdsLoader: Objek yang meminta streaming dan menangani peristiwa yang dipicu oleh objek respons permintaan streaming. Anda hanya boleh membuat satu instance pemuat iklan, yang dapat digunakan kembali selama masa aktif aplikasi.StreamRequest: Objek yang menentukan permintaan streaming. Permintaan streaming dapat berupa video on demand atau live stream. Permintaan live stream menentukan kunci aset, sedangkan permintaan VOD menentukan ID CMS dan ID video. Kedua jenis permintaan dapat secara opsional menyertakan kunci API yang diperlukan untuk mengakses streaming yang ditentukan, dan kode jaringan Google Ad Manager untuk IMA SDK guna menangani ID iklan seperti yang ditentukan dalam setelan Google Ad Manager.StreamManager: Objek yang menangani streaming penyisipan iklan dinamis dan interaksi dengan backend DAI. Pengelola aliran juga menangani ping pelacakan serta meneruskan peristiwa aliran dan iklan ke penayang.
Prasyarat
- Android Studio
- Aplikasi pemutar video sampel untuk integrasi SDK
Download dan jalankan aplikasi pemutar video sampel
Aplikasi contoh menyediakan pemutar video yang berfungsi untuk memutar video HLS. Gunakan ini sebagai titik awal untuk mengintegrasikan kemampuan DAI IMA DAI SDK.
Download aplikasi pemutar video contoh dan ekstrak.
Mulai Android Studio dan pilih Open an existing Android Studio project, atau jika Android Studio sudah berjalan, pilih File > New > Import Project. Kemudian, pilih
SampleVideoPlayer/build.gradle.Jalankan sinkronisasi Gradle dengan memilih Tools > Android > Sync Project with Gradle Files.
Pastikan aplikasi pemutar mengompilasi dan berjalan di perangkat Android fisik atau Perangkat Virtual Android menggunakan Run > Run 'app'. Wajar jika streaming video memerlukan waktu beberapa saat untuk dimuat sebelum diputar.
Memeriksa contoh pemutar video
Pemutar video sampel belum berisi kode integrasi IMA DAI SDK. Aplikasi contoh terdiri dari dua bagian utama:
samplevideoplayer/SampleVideoPlayer.java: Pemutar HLS berbasis ExoPlayer yang berfungsi sebagai dasar untuk integrasi IMA DAI.videoplayerapp/MyActivity.java: Aktivitas ini membuat pemutar video dan meneruskanContextdanmedia3.ui.PlayerViewke pemutar video tersebut.
Menambahkan IMA DAI SDK ke aplikasi pemutar
Anda juga harus menyertakan referensi ke IMA DAI SDK. Di Android Studio, tambahkan
kode berikut ke file build.gradle level aplikasi, yang terletak di
app/build.gradle. IMA SDK memerlukan pengaktifan desugaring library, yang harus Anda lakukan dengan menetapkan coreLibraryDesugaringEnabled true dan menambahkan 'com.android.tools:desugar_jdk_libs' sebagai dependensi dalam file build.gradle. Untuk mengetahui detailnya, lihat
API Java 11+ yang tersedia melalui desugaring dengan spesifikasi nio.
Mengintegrasikan IMA DAI SDK
Buat class baru bernama
SampleAdsWrapperdalam paketvideoplayerapp(diapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/) untuk menggabungkanSampleVideoPlayeryang ada dan menambahkan logika yang mengimplementasikan IMA DAI. Untuk melakukannya, Anda harus membuatAdsLoaderterlebih dahulu yang digunakan untuk meminta streaming DAI.Cuplikan ini menyertakan contoh parameter untuk HLS dan DASH, streaming live dan VOD. Untuk menetapkan streaming yang sedang diputar, perbarui variabel
CONTENT_TYPE.Buat metode bantuan
createSampleVideoPlayerCallback()untuk menangani pembuatan instance antarmukaSampleVideoPlayerCallbackyang memperluasVideoStreamPlayer.VideoStreamPlayerCallback.Agar dapat berfungsi dengan DAI, pemutar harus meneruskan peristiwa ID3 ke IMA DAI SDK. Metode
callback.onUserTextReceived()melakukan hal ini, dalam contoh kode berikut.Tambahkan metode
buildStreamRequest()untuk membuatSteamRequest. Metode ini beralih di antara berbagai streaming berdasarkan cara Anda menetapkan variabelCONTENT_TYPE. Streaming default yang digunakan dalam panduan ini adalah streaming HLS VOD contoh IMA.Anda juga memerlukan
VideoStreamPlayeruntuk memutar streaming, jadi tambahkan metodecreateVideoStreamPlayer(), yang membuat class anonim yang mengimplementasikanVideoStreamPlayer.Terapkan pemroses yang diperlukan dan tambahkan dukungan untuk penanganan error.
Perhatikan penerapan
AdErrorListener, karena penerapan ini memanggil URL pengganti jika iklan gagal diputar. Karena konten dan iklan berada dalam satu streaming, Anda harus siap memanggil streaming penggantian jika streaming DAI mengalami error.Tambahkan kode untuk logging.
Ubah
MyActivitydivideoplayerappuntuk membuat instance dan memanggilSampleAdsWrapper. Selain itu, lakukan panggilan keImaSdkFactory.initialize()di sini menggunakan metode helper untuk membuat instanceImaSdkSettings.Tambahkan metode bantuan
getImaSdkSettings()untuk membuat instanceImaSdkSettings.Ubah file tata letak Aktivitas
activity_my.xmluntuk menambahkan elemen UI untuk logging.
Selamat! Sekarang Anda meminta dan menampilkan iklan video di aplikasi Android. Untuk menyesuaikan penerapan, lihat Bookmark, Snapback, dan dokumentasi API.
Pemecahan masalah
Jika Anda mengalami masalah saat memutar iklan video, coba download BasicExample yang telah selesai. Jika berfungsi dengan baik di BasicExample, kemungkinan ada masalah dengan kode integrasi IMA aplikasi Anda.
Jika Anda masih mengalami masalah, kunjungi forum IMA SDK.