Mode operasi SDK
SDK dapat beroperasi dalam satu atau beberapa mode, bergantung pada respons iklan yang diterima dari server iklan.
- Iklan tunggal
- Iklan yang dapat diputar kapan saja saat pesan
start
dikirim keIMAAdsManager
. Tidak diperlukan inisialisasi khusus untuk memutar satu iklan. - Pod iklan
- Beberapa iklan yang diputar secara beruntun saat pesan
start
dikirim keIMAAdsManager
. Tidak diperlukan inisialisasi khusus untuk memutar satu pod iklan. - Aturan iklan
- Playlist jeda iklan yang dijadwalkan pada waktu tertentu terhadap konten tertentu. Pesan
start
diabaikan dalam mode aturan iklan. Terdapat beberapa jeda iklan yang dijadwalkan dalam satu playlist (misalnya pre-roll, mid-roll, post-roll). Untuk detail penerapan lebih lanjut, lihat bagian Aturan Iklan di bawah.
Aturan iklan
IMA tvOS SDK mendukung playlist iklan yang sepenuhnya otomatis. Fitur ini menyisipkan jeda iklan ke dalam konten seperti yang ditentukan dalam Google Ad Manager saat memproses iklan Anda. Tindakan ini juga sangat menyederhanakan kode pemutar video yang diperlukan untuk mendukung jeda iklan, termasuk pre-roll, mid-roll, dan post-roll.
- Saat memproses iklan di Ad Manager, Anda dapat menentukan berbagai aturan iklan seperti "selalu putar jeda iklan di awal konten" atau "putar jeda iklan satu menit setiap 30 menit konten".
- Ketika iklan diminta, server iklan dapat menampilkan playlist iklan. SDK memproses playlist dan otomatis menjadwalkan jeda iklan yang telah ditentukan.
- Saat menginisialisasi
AdsManager
, objekIMAContentPlayhead
akan diteruskan melalui panggilaninitializeWithContentPlayhead:adsRenderingSettings:
. Jika menggunakan AVPlayer untuk menampilkan konten, Anda meneruskan instanceIMAAVPlayerContentPlayhead
ke SDK saat membuatadDisplayContainer
. Objek ini digunakan untuk melacak progres pemutaran konten sehingga jeda iklan otomatis disisipkan pada waktu yang ditentukan di Ad Manager.
Dengan AVPlayer:
IMAContentPlayhead *contentPlayhead = [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer]; IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:adDisplayContainer contentPlayhead:contentPlayhead userContext:nil];
Tanpa AVPlayer:
- Terapkan antarmuka
IMAContentPlayhead
. - Terapkan
currentTime
untuk menampilkan waktu pemutar video saat ini. - Ubah panggilan inisialisasi
IMAAdsManager
agar menggunakaninitializeWithContentPlayhead:self
.
- Terapkan antarmuka
- IMAAdsManagerDelegate digunakan untuk menjeda dan melanjutkan konten saat jeda iklan diputar.
Catatan: Setelah konten selesai diputar atau
pengguna telah menghentikan pemutaran, pastikan untuk memanggil contentComplete
di IMAAdsLoader
untuk memberi sinyal ke SDK bahwa konten
telah selesai diputar. SDK kemudian memutar jeda iklan post-roll, jika jeda iklan tersebut telah dijadwalkan.
Peristiwa ALL_ADS_COMPLETED
dipicu saat semua jeda iklan telah diputar. Selain itu, perhatikan bahwa pelacakan konten dimulai ketika metode initializeWithContentPlayhead:adsRenderingSettings
IMAAdsManager
dipanggil dan Anda harus selalu memanggil initializeWithContentPlayhead:adsRenderingSettings
sebelum memutar konten.