स्नैपबैक

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

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

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

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

डायग्राम फ़ॉर्मैट में, यह ऐसा दिखता है:

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

वीडियो में आगे/पीछे जाने की सुविधा को, विज्ञापन के लिए ब्रेक न देखने से रोकें

देखें कि क्या उपयोगकर्ता ने कोई ऐसी खोज की है जो न देखे गए विज्ञापन के लिए ब्रेक से पहले हुई है. अगर ऐसा है, तो उसे विज्ञापन के लिए ब्रेक पर वापस ले जाएं. 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