Bookmark

Panduan ini menunjukkan cara menerapkan bookmark menggunakan IMA DAI SDK saat menggunakan Penyisipan Iklan Dinamis (DAI) untuk streaming video-on-demand (VOD). Hal ini mengasumsikan penerapan IMA DAI yang berfungsi, seperti yang ditampilkan dalam Mulai.

Apa itu bookmark?

Bookmark adalah kemampuan untuk menyimpan, lalu kembali ke titik tertentu dalam streaming konten. Misalkan pengguna menonton konten berdurasi lima menit, meninggalkan streaming video, lalu kembali ke sana. Pemberian bookmark akan menyimpan posisi pengguna di streaming sehingga streaming dapat dilanjutkan dari bagian terakhir, sehingga memberikan pengalaman yang lancar bagi penonton.

Membuat bookmark DAI di balik layar

Saat mem-bookmark streaming DAI, Anda harus merekam ID streaming dan waktu saat pengguna menutup video. Saat pengguna kembali, minta ulang streaming dan cari waktu yang telah disimpan. Karena setiap instance streaming yang diminta dapat memiliki jeda iklan dengan durasi yang berbeda, sehingga menghemat waktu streaming tidak akan berfungsi. Yang ingin Anda lakukan adalah melanjutkan dari waktu konten yang sama.

Metode konversi yang dapat membantu

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 yang baru. Berikut pendekatannya, termasuk link ke aplikasi contoh yang menunjukkan penerapan bookmark yang berfungsi.

Menyimpan bookmark

Simpan 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

Muat bookmark saat meminta ulang streaming. Ini adalah bagian dari implementasi 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;
    }
  }
}

Aplikasi contoh

Contoh aplikasi