Kembali ke jeda iklan yang dilewati

Pilih platform: HTML5 Android iOS tvOS Roku

Sebagai penayang video, Anda mungkin ingin mencegah penonton melewati iklan mid-roll. Saat pengguna mencari melewati jeda iklan, Anda dapat mengembalikannya ke awal jeda iklan tersebut, lalu mengembalikannya ke lokasi pencarian setelah jeda iklan selesai. Fitur ini disebut "kembali ke posisi semula".

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

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

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

Dalam bentuk diagram, tampilannya seperti ini:

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

Mencegah pencarian keluar dari jeda iklan yang belum ditonton

Periksa apakah pengguna telah menjalankan pencarian yang melewati jeda iklan yang belum ditonton, dan jika ya, bawa mereka kembali ke jeda iklan. Contoh lanjutan Roku mengandalkan penekanan tombol remote agar pengguna dapat mencari - setiap kali pengguna menekan tombol maju, mereka akan melompat maju dalam streaming dengan jumlah detik yang telah ditetapkan. Metode yang sama yang menangani lompatan ini juga memeriksa apakah lompatan membawa pengguna melewati atau masuk ke jeda iklan, dan jika ya, akan mengirim pengguna 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 aslinya

Di pengendali adBreakEnded, periksa apakah jeda iklan sebelumnya diputar sebagai hasil dari kembali ke posisi semula. Jika ya, kembalikan pengguna ke tempat yang awalnya ingin mereka tuju (selama bukan 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