IMA SDK memudahkan integrasi iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat meminta iklan dari server iklan yang sesuai dengan VAST dan mengelola pemutaran iklan di aplikasi Anda. Dengan IMA SDK sisi klien, Anda dapat mempertahankan kontrol pemutaran video konten, sementara SDK menangani pemutaran iklan. Iklan diputar di a pemutar video terpisah yang diposisikan di atas pemutar video konten aplikasi.
Panduan ini menunjukkan cara mengintegrasikan IMA SDK ke dalam aplikasi pemutar video sederhana. Jika Anda ingin melihat atau mengikuti integrasi contoh yang telah selesai, download contoh sederhana dari GitHub. Jika Anda tertarik dengan pemutar HTML5 yang telah terintegrasi dengan SDK, lihat Plugin IMA SDK untuk Video.js.
Ringkasan sisi klien IMA
Implementasi sisi klien IMA melibatkan empat komponen SDK utama, yang ditunjukkan dalam panduan ini:
AdDisplayContainer: Objek penampung yang menentukan tempat IMA merender elemen UI iklan dan mengukur visibilitas, termasuk Tampilan Aktif dan Open Measurement.AdsLoader: Objek yang meminta iklan dan menangani peristiwa dari respons permintaan iklan. Anda hanya boleh membuat satu loader iklan, yang dapat digunakan kembali selama masa aktif aplikasi.AdsRequest: Objek yang menentukan permintaan iklan. Permintaan iklan menentukan URL untuk tag iklan VAST, serta parameter tambahan, seperti dimensi iklan.AdsManager: Objek yang berisi respons terhadap permintaan iklan, mengontrol pemutaran iklan, dan memproses peristiwa iklan yang diaktifkan oleh SDK.
Prasyarat
Sebelum memulai, Anda akan memerlukan hal berikut:
- Tiga file kosong:
- index.html
- style.css
- ads.js
- Python diinstal di komputer Anda, atau server web untuk digunakan dalam pengujian
1. Memulai server pengembangan
Karena IMA SDK memuat dependensi menggunakan protokol yang sama dengan halaman tempat SDK dimuat, Anda harus menggunakan server web untuk menguji aplikasi. Cara paling sederhana untuk memulai server pengembangan lokal adalah menggunakan server bawaan Python.
- Dengan menggunakan command line, dari direktori yang berisi
file index.html, jalankan:
python -m http.server 8000
- Di browser web, buka
http://localhost:8000/
Anda juga dapat menggunakan server web lainnya, seperti Apache HTTP Server.
2. Membuat pemutar video sederhana
Pertama, ubah index.html untuk membuat elemen video HTML5 sederhana, yang terdapat dalam elemen pembungkus, dan tombol untuk memicu pemutaran. Contoh berikut mengimpor IMA SDK dan menyiapkan
elemen penampung AdDisplayContainer. Untuk mengetahui detail selengkapnya, lihat langkah-langkah
Mengimpor IMA SDK
dan
Membuat penampung iklan
.
Tambahkan tag yang diperlukan untuk memuat file style.css dan ads.js. Kemudian, ubah styles.css agar pemutar video responsif untuk perangkat seluler. Terakhir, di ads.js, deklarasikan variabel Anda dan picu pemutaran video saat Anda mengklik tombol putar.
Perhatikan bahwa cuplikan kode ads.js berisi panggilan ke setUpIMA(), yang ditentukan di bagian
Menginisialisasi AdsLoader dan membuat permintaan iklan
.
3. Mengimpor IMA SDK
Selanjutnya, tambahkan framework IMA menggunakan tag skrip di index.html, sebelum tag untuk
ads.js.
4. Membuat penampung iklan
Di sebagian besar browser, IMA SDK menggunakan elemen penampung iklan khusus untuk menampilkan iklan dan
elemen UI terkait iklan. Penampung ini harus berukuran untuk menempatkan elemen video dari sudut kiri atas. Tinggi dan lebar iklan yang ditempatkan di penampung ini ditetapkan oleh objek
adsManager, sehingga Anda tidak perlu menetapkan nilai ini secara manual.
Untuk menerapkan elemen penampung iklan ini, pertama-tama buat div baru dalam elemen
video-container. Kemudian, perbarui CSS untuk memosisikan elemen di sudut kiri atas
video-element. Terakhir, tambahkan fungsi createAdDisplayContainer()
untuk membuat
objek AdDisplayContainer menggunakan penampung iklan baru
div.
5. Menginisialisasi AdsLoader dan membuat permintaan iklan
Untuk meminta iklan, buat instance
AdsLoader. Konstruktor AdsLoader mengambil objek
AdDisplayContainer
sebagai input dan dapat digunakan untuk memproses objek
AdsRequest
yang terkait dengan URL tag iklan yang ditentukan. Tag iklan yang digunakan dalam contoh ini berisi iklan pre-roll 10 detik. Anda dapat menguji tag iklan ini, atau tag iklan lainnya, menggunakan
IMA Video Suite Inspector.
Sebagai praktik terbaik, pertahankan hanya satu instance AdsLoader untuk seluruh
siklus proses halaman. Untuk membuat permintaan iklan tambahan, buat objek AdsRequest
baru, tetapi gunakan kembali AdsLoader yang sama. Untuk mengetahui informasi selengkapnya, lihat
FAQ IMA SDK.
Proses dan tanggapi iklan yang dimuat dan peristiwa error menggunakan AdsLoader.addEventListener.
Proses peristiwa berikut:
ADS_MANAGER_LOADEDAD_ERROR
Untuk membuat pemroses onAdsManagerLoaded() dan onAdError(), lihat contoh berikut:
6. Merespons peristiwa AdsLoader
Saat AdsLoader berhasil memuat iklan, peristiwa
ADS_MANAGER_LOADED akan ditampilkan. Parse peristiwa yang diteruskan ke callback untuk menginisialisasi objek
AdsManager. The AdsManager memuat iklan individual seperti yang ditentukan oleh
respons terhadap URL tag iklan.
Pastikan Anda menangani error apa pun yang terjadi selama proses pemuatan. Jika iklan tidak dimuat, pastikan pemutaran media berlanjut tanpa iklan untuk menghindari gangguan pada pengguna yang melihat konten.
Untuk mengetahui detail selengkapnya tentang pemroses yang ditetapkan dalam fungsi onAdsManagerLoaded(), lihat
sub-bagian berikut:
Menangani error AdsManager
Penangan error yang dibuat untuk AdsLoader juga dapat berfungsi sebagai penangan error untuk
AdsManager. Lihat penangan peristiwa yang menggunakan kembali fungsi onAdError().
Menangani peristiwa putar dan jeda
Saat AdsManager siap menyisipkan iklan untuk ditampilkan, peristiwa
CONTENT_PAUSE_REQUESTED akan diaktifkan. Tangani peristiwa ini dengan memicu jeda pada
pemutar video yang mendasarinya. Demikian pula, saat iklan selesai, AdsManager akan mengaktifkan
CONTENT_RESUME_REQUESTED peristiwa. Tangani peristiwa ini dengan memulai ulang pemutaran pada
video konten yang mendasarinya.
Untuk mengetahui definisi fungsi onContentPauseRequested() dan
onContentResumeRequested(), lihat contoh berikut:
Menangani pemutaran konten selama iklan non-linier
The AdsManager menjeda video konten saat iklan siap diputar, tetapi perilaku ini
tidak memperhitungkan iklan non-linier, yang kontennya terus diputar saat iklan ditampilkan.
Untuk mendukung iklan non-linier, proses peristiwa
LOADED yang ditampilkan oleh AdsManager. Periksa apakah iklan bersifat linier, dan jika tidak, lanjutkan pemutaran pada elemen video.
Untuk mengetahui definisi fungsi onAdLoaded(), lihat contoh berikut.
7. Memicu klik untuk menjeda di perangkat seluler
Karena AdContainer menempatkan elemen video, pengguna tidak dapat berinteraksi langsung dengan
pemutar yang mendasarinya. Hal ini dapat membingungkan pengguna di perangkat seluler, yang berharap dapat mengetuk pemutar video untuk menjeda pemutaran. Untuk mengatasi masalah ini, IMA SDK meneruskan klik apa pun yang tidak
ditangani oleh IMA dari overlay iklan ke elemen AdContainer, tempat klik tersebut dapat ditangani. Hal ini tidak berlaku untuk iklan linier di browser non-seluler, karena mengklik iklan akan membuka
link klik-tayang.
Untuk menerapkan klik untuk menjeda, tambahkan fungsi penangan klik adContainerClick() yang dipanggil
di pemroses pemuatan jendela.
8. Memulai AdsManager
Untuk memulai pemutaran iklan, mulai dan jalankan AdsManager. Untuk mendukung browser seluler
sepenuhnya, tempat Anda tidak dapat memutar iklan secara otomatis, picu pemutaran iklan dari interaksi pengguna
dengan halaman, seperti mengklik tombol putar.
9. Mendukung pengubahan ukuran pemutar
Agar iklan dapat mengubah ukuran secara dinamis dan sesuai dengan ukuran pemutar video, atau agar sesuai dengan perubahan orientasi layar, panggil adsManager.resize() sebagai respons terhadap peristiwa pengubahan ukuran jendela.
Selesai. Sekarang Anda meminta dan menampilkan iklan dengan IMA SDK. Untuk mempelajari fitur SDK yang lebih canggih, lihat panduan lain atau contoh di GitHub.