Kembali ke jeda iklan yang dilewati

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 tidak ditonton, dan jika ya, kembalikan mereka ke jeda iklan.
  2. Setelah jeda iklan selesai, kembalikan iklan ke pencarian aslinya.

Dalam bentuk diagram, hal itu terlihat seperti ini:

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

Mencegah pencarian agar tidak meninggalkan jeda iklan yang tidak ditonton

Periksa apakah pengguna telah menjalankan pencarian yang melewati jeda iklan yang belum ditonton, dan jika ya, arahkan mereka kembali ke jeda iklan. Sampel lanjutan Roku mengandalkan penekanan tombol jarak jauh untuk yang dicari pengguna - setiap kali pengguna menekan tombol maju, mereka melompat maju dalam {i>stream <i}sebanyak beberapa detik. Hal yang sama yang menangani lompatan ini juga akan memeriksa melewati atau melewati jeda iklan. Jika ya, pengguna akan ke awal jeda iklan tersebut:

Function handleFastForward(player as Object, streamManager as Object, updatedTime As Integer)
  previousAd = streamManager.getPreviousCuePoint(updatedTime)
  If previousAd = Invalid or previousAd.hasPlayed
    player.seek(updatedTime * 1000)
  Else If previousAd.start > player.currentTime
    player.isSnapback = True
    player.timeAfterSnapback = updatedTime
    player.seek(previousAd.start * 1000 + 1000)
  End If
End Function

Mengembalikan pengguna ke pencarian awal

Di pengendali adBreakEnded, periksa untuk melihat apakah iklan sebelumnya jeda diputar sebagai akibat dari snapback. Jika ya, kembalikan pengguna ke tempat yang mereka coba cari awalnya (selama karena waktunya bukan di tengah-tengah jeda iklan yang baru saja diputar):

player.adBreakEnded = Function(adBreakInfo as Object)
  If m.isSnapback
    m.seek(m.timeAfterSnapback * 1000)
    m.isSnapback = False
  End If
End Function