Snapback

Sebagai penayang video, Anda sebaiknya mencegah penonton mencari melewati iklan mid-roll Anda. Saat pengguna mencari melewati jeda iklan, Anda dapat mengembalikan mereka ke awal jeda iklan, lalu mengembalikannya ke lokasi pencarian setelah jeda iklan selesai. Fitur ini disebut "snapback".

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

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

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

Dalam bentuk diagram, tampilannya akan seperti ini:

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

Mencegah pencarian agar tidak melewatkan jeda iklan

Periksa apakah pengguna telah menjalankan pencarian yang melewati jeda iklan yang belum ditonton, dan jika demikian, arahkan mereka kembali ke jeda iklan. Contoh lanjutan Roku mengandalkan penekanan tombol jarak jauh yang dicari pengguna - setiap kali pengguna menekan tombol maju, pengguna akan melompat ke depan dalam streaming dalam hitungan detik tertentu. Metode yang sama yang menangani lompatan ini juga memeriksa apakah lompatan tersebut melewatinya atau memasuki jeda iklan. Jika ya, pengguna akan diarahkan 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 awalnya

Di pengendali adBreakEnded, periksa apakah jeda iklan sebelumnya diputar sebagai akibat dari snapback. Jika demikian, kembalikan pengguna ke tempat yang ingin mereka cari pada awalnya (selama tidak berada di 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