返回略過的廣告時段

選取平台: HTML5 Android iOS tvOS Roku

影片發布者可能會想避免觀眾略過片中廣告。使用者略過廣告時段時,您可以將他們帶回該廣告時段的開頭,等廣告時段結束後再將他們帶往搜尋位置。這項功能稱為「返回」。

請參閱下圖範例。觀眾正在觀看影片,並決定從 5 分鐘標記處快轉到 15 分鐘標記處。不過,您希望觀眾在觀看 10 分鐘的廣告後,再繼續觀看後續內容:

如要顯示這段廣告插播,請按照下列步驟操作:

  1. 檢查使用者是否略過未觀看的廣告插播時間點, 如果是,請將他們帶回廣告插播時間點。
  2. 廣告時段結束後,再將他們帶往原始搜尋位置。

以圖表形式表示如下:

以下說明如何使用 IMA DAI SDK 導入 snapback,如進階範例所示。

避免搜尋時略過廣告插播時間點

檢查使用者是否略過未觀看的廣告插播,如果是,請將他們帶回廣告插播。 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