Panduan ini menunjukkan cara menerapkan penandaan menggunakan IMA DAI SDK saat menggunakan Penyisipan Iklan Dinamis (DAI) untuk streaming video on-demand (VOD). Hal ini mengasumsikan penerapan DAI IMA yang berfungsi, seperti yang ditampilkan di Mulai.
Apa yang dimaksud dengan penandaan?
Pemberian bookmark merupakan kemampuan untuk menyimpan dan memulihkan poin tertentu dalam streaming konten. Misalnya, setelah menonton konten streaming video selama lima menit, pengguna menutupnya, lalu membukanya kembali. Fitur pemberian bookmark akan menyimpan posisi pengguna dalam streaming sehingga streaming dapat dilanjutkan pada posisi terakhir yang dilihat, sehingga memberikan pengalaman yang lancar bagi penonton.
Penandaan DAI di balik layar
Saat menandai streaming DAI, Anda harus merekam ID dan waktu streaming saat pengguna keluar dari video. Saat pengguna kembali, minta ulang streaming dan cari waktu yang disimpan. Karena setiap instance streaming yang diminta dapat memiliki jeda iklan dengan durasi yang berbeda, menyimpan waktu streaming saja tidak akan berfungsi. Yang sebenarnya ingin Anda lakukan adalah melanjutkan dari waktu konten yang sama.
Metode konversi sebagai solusinya
IMA DAI SDK menyediakan sepasang metode untuk meminta waktu konten untuk waktu streaming tertentu dan waktu streaming untuk waktu konten tertentu. Dengan metode konversi ini, Anda dapat menyimpan waktu konten yang di-bookmark, lalu mencari waktu streaming yang sesuai dalam instance streaming baru. Berikut adalah pendekatan, termasuk link ke contoh aplikasi yang menunjukkan penerapan bookmark yang berfungsi.
Menyimpan bookmark
Menyimpan bookmark saat Aktivitas dijeda.
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.contentPlayer pause];
// Ignore this if you're presenting a modal view (e.g. in-app clickthrough).
if ([self.navigationController.viewControllers indexOfObject:self] ==
NSNotFound) {
NSTimeInterval contentTime =
[self.streamManager contentTimeForStreamTime:CMTimeGetSeconds(
self.contentPlayer.currentTime)];
self.video.savedTime = contentTime;
...
}
}
Memuat bookmark
Memuat bookmark saat meminta ulang streaming. Ini adalah bagian dari penerapan
antarmuka VideoStreamPlayer
.
- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdEvent:(IMAAdEvent *)event {
...
case kIMAAdEvent_STREAM_LOADED: {
if (self.video.savedTime > 0) {
NSTimeInterval streamTime =
[self.streamManager streamTimeForContentTime:self.video.savedTime];
[self.IMAVideoDisplay.playerItem
seekToTime:CMTimeMakeWithSeconds(streamTime, NSEC_PER_SEC)];
self.video.savedTime = 0;
}
}
}