Spesifikasi Interstisial HLS memperkenalkan cara fleksibel untuk menjadwalkan dan menyisipkan iklan ke dalam streaming video atau audio. Dengan pendekatan sisi klien, aplikasi Anda memiliki kontrol penuh atas kapan harus meminta dan memutar jeda iklan dengan membuat class AVPlayerInterstitialEvent. Pendekatan ini tidak memerlukan tag EXT-X-DATERANGE dalam manifes aliran
konten. Interstisial HLS sisi klien memungkinkan Anda menyisipkan iklan secara dinamis ke dalam konten apa pun, tanpa perlu mengubah manifes stream atau file media.
Panduan ini membahas cara mengintegrasikan Interactive Media Ads (IMA) SDK ke dalam aplikasi pemutar video yang membuat sesi live streaming penyisipan iklan yang dipandu server (SGAI) dan menjadwalkan iklan interstisial sisi klien. Untuk mengetahui informasi selengkapnya, lihat DAI yang dipandu server.
Prasyarat
Sebelum memulai, Anda memerlukan hal berikut:
Project Xcode baru, menggunakan
Storyboarduntuk antarmuka pengguna. Untuk mengetahui informasi selengkapnya, lihat Membuat project Xcode untuk aplikasi.Google IMA SDK. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan IMA SDK untuk DAI.
Parameter berikut untuk permintaan live stream DAI Anda:
NETWORK_CODE: Kode jaringan Google Ad Manager Anda.CUSTOM_ASSET_KEY: String kustom Anda yang mengidentifikasi peristiwa livestream DAI. Acara live stream harus memiliki jenis DAI manifes penayangan pod.
Mengonfigurasi storyboard
Di file iPhone.storyboard, lakukan hal berikut:
- Buat objek
UIViewsebagai penampung untuk pemutar video dan UI iklan. - Buat properti
adUIViewdari classViewControlleruntuk terhubung dengan objekUIView. - Dalam objek
adUIView, buatUIButtonuntuk berfungsi sebagai tombol putar. - Buat properti
playButtondari classViewControlleruntuk terhubung dengan objekUIButtondan fungsionPlayButtonTouchuntuk menangani ketukan pengguna.
Menginisialisasi loader iklan
Dalam peristiwa viewDidLoad pengontrol tampilan utama, lakukan hal berikut:
- Siapkan pemutar video menggunakan class
AVPlayerdanAVPlayerLayer. - Buat objek
IMAAdDisplayContainerdanIMAAVPlayerVideoDisplay. Kontainer tampilan iklan menentukanadUIViewuntuk IMA DAI SDK guna menyisipkan subview UI iklan. Objek tampilan video berfungsi sebagai jembatan antara logika iklan IMA DAI SDK dan sistem pemutaran AVFoundation, yang melacak pemutaran iklan video. - Lakukan inisialisasi objek
IMAAdsLoaderdengan setelan pemutaran iklan dan pelokalan UI iklan.
Contoh berikut menginisialisasi pemuat iklan dengan objek
IMASettings
kosong:
Membuat permintaan streaming
Untuk meminta iklan untuk aliran konten, buat objek
IMAPodStreamRequest
dan teruskan ke instance
IMAAdsLoader
Anda. Secara opsional, tetapkan properti adTagParameters untuk menyediakan opsi DAI dan parameter penargetan untuk streaming Anda.
Contoh ini memanggil metode loadAdStream dalam peristiwa viewDidAppear:
Di aplikasi produksi Anda, panggil metode loadAdStream setelah pengguna memilih
streaming konten.
Menangani peristiwa pemuatan streaming
Terapkan protokol
IMAAdsLoaderDelegate
untuk menangani keberhasilan atau kegagalan permintaan streaming:
- Jika berhasil, Anda akan menerima objek
IMAAdsLoadedDatayang berisiIMAStreamManager. Menyimpan nilaistreamManager.streamIduntuk sesi DAI saat ini. - Jika gagal, catat error.
Contoh berikut menangani peristiwa stream dimuat dan mencatat peristiwa stream gagal dimuat:
Menjadwalkan penyisipan iklan
Untuk menjadwalkan jeda iklan, buat objek
AVPlayerInterstitialEvent. Tetapkan properti templateItems objek peristiwa ke array objek
AVPlayerItem, dengan setiap objek item menyimpan URL manifes pod iklan.
Untuk membuat URL manifes pod iklan, ikuti dokumentasi Metode: Manifes pod HLS.
Untuk tujuan demonstrasi, contoh berikut menghasilkan string ID pod
menggunakan waktu saat ini dari livestream konten. Fungsi generatePodIdentifier
menampilkan ID pod sebagai ad_break_id/mid-roll-{minute}.
Di aplikasi produksi, ambil ID pod dari sumber yang memberikan nilai unik untuk setiap jeda iklan, yang disinkronkan untuk semua penonton livestream.
Contoh berikut menjadwalkan jeda iklan untuk dimulai dalam dua menit berikutnya setelah pengguna mengklik tombol putar:
Metode scheduleAdInsertion
menghitung waktu mulai jeda iklan dan membuat URL manifes pod iklan. Gunakan
URL ini untuk membuat objek AVPlayerInterstitialEvent.
Secara opsional, gunakan struct AVPlayerInterstitialEvent.Restrictions untuk membatasi pengguna
melewati atau memutar ulang selama pemutaran iklan.
Menangani peristiwa iklan
Untuk menangani peristiwa iklan, terapkan protokol
IMAStreamManagerDelegate. Dengan pendekatan ini, Anda dapat melacak kapan jeda iklan dimulai dan berakhir, serta mendapatkan informasi tentang setiap iklan.
Jalankan aplikasi Anda. Jika berhasil, Anda dapat meminta dan memutar iklan interstisial menggunakan aliran manifes penayangan Pod.