स्किप किए गए विज्ञापन के ब्रेक पर वापस जाना

वीडियो पब्लिशर के तौर पर, हो सकता है कि आप अपने दर्शकों को वीडियो के बीच में दिखने वाले विज्ञापनों को ढूंढने में मदद मिलती है. जब कोई उपयोगकर्ता विज्ञापन के लिए ब्रेक के बाद की कोशिश करता है, आपके पास उन्हें दोबारा विज्ञापन के लिए ब्रेक की शुरुआत में ले जाने और विज्ञापन के लिए ब्रेक पूरा होने के बाद, उन्हें उनकी जगह पर ले जाया जाएगा. यह सुविधा को "स्नैपबैक" कहते हैं.

उदाहरण के लिए, नीचे दिया गया डायग्राम देखें. जब कोई दर्शक कोई वीडियो देख रहा हो, और 5 मिनट के निशान से लेकर 15 मिनट के निशान तक, आगे बढ़ने का फ़ैसला करता है. हालांकि, आपके हिसाब से 10 मिनट के लिए एक विज्ञापन ब्रेक होगा ताकि वे वीडियो देखने के बाद उसे देख सकें:

विज्ञापन के लिए इस ब्रेक को दिखाने के लिए, यह तरीका अपनाएं:

  1. देखें कि क्या उपयोगकर्ता ने वीडियो को आगे बढ़ाने के लिए, विज्ञापन के उस ब्रेक पर स्किप किया है जिसे उसने नहीं देखा है. अगर ऐसा है, तो उसे विज्ञापन के ब्रेक पर वापस ले जाएं.
  2. विज्ञापन के लिए ब्रेक खत्म होने के बाद, वीडियो को उसके ओरिजनल वर्शन पर वापस ले जाएं.

डायग्राम के तौर पर, यह इस तरह दिखेगा:

IMA डीएआई SDK टूल का इस्तेमाल करके स्नैपैक को लागू करने का तरीका यहां बताया गया है: बेहतर उदाहरण.

वीडियो में आगे या पीछे जाने पर, विज्ञापन के लिए रोके गए हिस्से को न छोड़ना

देखें कि क्या उपयोगकर्ता ने वीडियो को किसी ऐसे विज्ञापन के बीच में छोड़ा है जिसे उसने नहीं देखा है. अगर ऐसा है, तो उसे विज्ञापन के बीच में वापस ले जाएं. Roku बेहतर नमूना वीडियो में आगे/पीछे जाने की सुविधा मिलती है - जब भी उपयोगकर्ता फ़ॉरवर्ड करने का बटन दबाता है, स्ट्रीम में सेकंड की तय संख्या तक आगे जाएं. एक जैसा तरीका जो इस जंप को हैंडल करता है वह यह भी जांच करता है कि क्या जंप उन्हें विज्ञापन के लिए ब्रेक लेता है या विज्ञापन के लिए ब्रेक लेता है. साथ ही, विज्ञापन के लिए समय पर इसके बजाय:

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

उपयोगकर्ता को उसकी मूल जगह पर वापस ले जाना

अपने adBreakEnded हैंडलर में जांच करके देखें कि पिछले विज्ञापन पर स्नैपबैक की वजह से ब्रेक लिया गया था. अगर ऐसा है, तो उपयोगकर्ता उस जगह पर पहुंच गया हो जिसे वे शुरू में खोजना चाहते थे (जब तक कि क्योंकि अभी-अभी चलने वाले विज्ञापन के लिए ब्रेक के बीच में नहीं था):

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