Roku के लिए (डीएआई) एसडीके.
वीडियो पब्लिशर के तौर पर, आपके पास यह विकल्प होता है कि दर्शक, वीडियो के बीच में दिखाए जाने वाले विज्ञापनों को स्किप न कर पाएं. जब कोई उपयोगकर्ता विज्ञापन ब्रेक को स्किप करने की कोशिश करता है, तो उसे विज्ञापन ब्रेक की शुरुआत पर वापस ले जाया जा सकता है. इसके बाद, विज्ञापन ब्रेक खत्म होने पर, उसे उस जगह पर वापस ले जाया जा सकता है जहां से उसने स्किप करने की कोशिश की थी. इस सुविधा को "स्नैपबैक" कहा जाता है.
उदाहरण के लिए, यहां दिया गया डायग्राम देखें. दर्शक कोई वीडियो देख रहा है और वह उसे पांच मिनट से 15 मिनट के बीच देखना चाहता है. हालांकि, 10 मिनट के बाद एक विज्ञापन ब्रेक है. आपको यह विज्ञापन ब्रेक, वीडियो के उस हिस्से से पहले दिखाना है:
इस विज्ञापन ब्रेक को दिखाने के लिए, यह तरीका अपनाएं:
- देखें कि क्या उपयोगकर्ता ने ऐसे विज्ञापन ब्रेक को स्किप किया है जिसे उसने नहीं देखा है. अगर ऐसा है, तो उसे वापस विज्ञापन ब्रेक पर ले जाएं.
- विज्ञापन ब्रेक खत्म होने के बाद, उन्हें वीडियो के उसी हिस्से पर वापस ले जाएं जहां से उन्होंने देखना शुरू किया था.
डायग्राम के तौर पर, यह ऐसा दिखता है:
यहां IMA DAI 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