Snapback

Sebagai penayang video, Anda mungkin ingin mencegah mencari selain iklan mid-roll Anda. Saat pengguna mencari setelah jeda iklan, Anda dapat mengarahkan mereka kembali ke awal jeda iklan, lalu mereka ke lokasi pencarian setelah jeda iklan selesai. Ini fitur disebut "snapback."

Sebagai contoh, lihat diagram di bawah ini. Penonton Anda sedang menonton video, dan memutuskan untuk mencari dari detik 5 ke detik 15. Namun, ada jeda iklan pada tanda 10 menit yang ingin Anda yang harus mereka tonton sebelum mereka dapat menonton konten setelahnya:

Untuk menampilkan jeda iklan ini, lakukan langkah-langkah berikut:

  1. Periksa apakah pengguna menjalankan pencarian yang melewati jeda iklan yang belum ditonton, dan jika ya, arahkan mereka kembali ke jeda iklan.
  2. Setelah jeda iklan selesai, kembalikan iklan ke pencarian aslinya.

Dalam bentuk diagram, tampilannya seperti ini:

Berikut cara menerapkan snapback menggunakan IMA DAI SDK, seperti yang ditunjukkan dalam Contoh Lanjutan.

Mencegah pencarian membiarkan jeda iklan tidak ditonton

Periksa apakah pengguna telah menjalankan pencarian yang melewati jeda iklan yang belum ditonton, dan jika ya, arahkan mereka kembali ke jeda iklan. Di HTML5 SDK, tetapkan pemroses peristiwa pada peristiwa seeked pemutar konten untuk memicu onSeekEnd(). Metode tersebut (ditunjukkan di bawah) memeriksa titik tanda sebelum waktu pencarian pengguna. Jika belum diputar, cari bagian awal jeda iklan, bukan titik pencarian awal yang diinginkan, dan menyimpan mencari titik di snapForwardTime.

function onSeekEnd() {
  if (isLiveStream) { return; }
  if (isSnapback) {
    isSnapback = false;
    return;
  }
  var currentTime = videoElement.currentTime;
  var previousCuePoint =
      streamManager.previousCuePointForStreamTime(currentTime);
  if (previousCuePoint && !previousCuePoint.played) {
    isSnapback = true;
    snapForwardTime = currentTime;
    videoElement.currentTime = previousCuePoint.start;
}

Mengembalikan pengguna ke pencarian awal

Sekarang saat Anda mendapatkan peristiwa AD_BREAK_ENDED, periksa untuk mengetahui apakah snapForwardTime sudah diatur. Jika ya, arahkan pengguna ke titik tersebut dalam streaming, karena iklan jeda yang baru saja mereka tonton adalah hasil dari snapback:

function onAdBreakEnded(e) {
  videoElement.controls = true;
  clickElement.style.display = 'none';
  adUiDiv.style.display = 'none';
  if (snapForwardTime && snapForwardTime > videoElement.currentTime) {
    videoElement.currentTime = snapForwardTime;
    snapForwardTime = null;
  }
}