Video yayıncısı olarak, izleyicilerinizin ara reklamlarınızı atlamasını engellemek isteyebilirsiniz. Kullanıcı bir reklam arasını atladığında onu reklam arasının başlangıcına geri götürebilir ve reklam arası tamamlandıktan sonra daha önce gittiği oynatma konumuna döndürebilirsiniz. Bu özelliğe "reklam atlamayı önleme" denir.
Örnek olarak aşağıdaki şemaya bakın. İzleyiciniz bir video izlerken 5. dakikadan 15. dakikaya atlamaya karar veriyor. Ancak, 10. dakikada bir reklam arası var ve bu reklam arasını izlemeden sonraki içeriği izleyemezler:

Bu reklam arasını göstermek için aşağıdaki adımları uygulayın:
- Kullanıcının, izlenmemiş bir reklam arasını atlayarak ileri sarma işlemi yapıp yapmadığını kontrol edin. Yaptıysa kullanıcıyı reklam arasına geri götürün.
- Reklam arası tamamlandıktan sonra kullanıcıları orijinal oynatma konumlarına geri döndürün.
Bu durum diyagram şeklinde şu şekilde görünür:

Gelişmiş Örnek'te gösterildiği gibi, IMA DAI SDK'sını kullanarak snapack'i nasıl uygulayacağınız aşağıda açıklanmıştır.
İzleyicilerin, reklam arasını izlemeden geçmesini engelleme
Kullanıcının, izlenmemiş bir reklam arasını geçen bir sarma işlemi yapıp yapmadığını kontrol edin. Yaptıysa kullanıcıyı reklam arasına geri götürün. Roku gelişmiş örneğinde, kullanıcının arama yapması için uzaktan kumanda düğmelerine basması gerekir. Kullanıcı ileri düğmesine her bastığında akışta belirli bir süre ileri atlar. Bu atlamayı işleyen aynı yöntem, atlamanın kullanıcıyı reklam arasının ötesine veya içine götürüp götürmediğini de kontrol eder. Atlamanın kullanıcıyı reklam arasının ötesine veya içine götürmesi durumunda kullanıcıyı reklam arasının başlangıcına yönlendirir:
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
Kullanıcıyı orijinal arama konumuna geri döndürme
adBreakEnded işleyicinizde, önceki reklam arasının reklam atlamayı önleme sonucunda oynatılıp oynatılmadığını kontrol edin. Bu durumda, kullanıcıyı başlangıçta arama yapmaya çalıştığı yere geri yönlendirin (yeni oynatılan reklam arası ortasında olmadığı sürece):
player.adBreakEnded = Function(adBreakInfo as Object)
If m.isSnapback
m.seek(m.timeAfterSnapback * 1000)
m.isSnapback = False
End If
End Function