回溯

影片發布商可能會希望觀眾 尋找略過片中廣告使用者跳轉而略過廣告插播時 可以直接回到廣告插播的開始時間 廣告播放完畢後,就會前往尋找地點這個 功能稱為「回溯」

請參考下圖範例。觀眾正在觀看影片 並決定從 5 分鐘的標記跳轉至 15 分鐘的位置。 但在 10 分鐘標記處加入廣告插播時間點 然後才觀看內容:

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

  1. 檢查使用者是否跳轉到未觀看的廣告時段。 如果有,請將觀眾帶回廣告插播時間點
  2. 廣告插播時間點後,請回到原本的時間點。

圖表形式如下所示:

以下說明如何使用 IMA DAI SDK 導入備用廣告,如 進階範例

避免跳轉,讓觀眾在不知情的情況下離開廣告插播時間

檢查使用者的跳轉廣告是否超過未觀看的廣告插播時間點。 如果有,請將觀眾帶回廣告插播時間點 在 HTML5 SDK 中,設定內容播放器 seeked 事件的事件監聽器 觸發 onSeekEnd()。該方法 (如下所示) 會檢查提示點 。如果沒有播放,請跳到這個部分的開頭 取代原本的跳轉點,並儲存所需的搜尋點 snapForwardTime中的跳轉點。

function onSeekEnd() {
  if (isLiveStream) { return; }
  if (isSnapback) {
    isSnapback = false;
    return;
  }
  var currentTime = videoElement.currentTime;
  var previousCuePoint =
      streamManager.previousCuePointForStreamTime(currentTime);
  if (previousCuePoint && !previousCuePoint.played) {
    isSnapback = true;
    snapForwardTime = currentTime;
    videoElement.currentTime = previousCuePoint.start;
}

讓使用者回到原本的搜尋頁面

現在當您收到 AD_BREAK_ENDED 事件時,請檢查 snapForwardTime 資源。如果是的話,請將使用者帶往串流的時間點,因為廣告 剛才觀看的打斷影片是挽回的結果:

function onAdBreakEnded(e) {
  videoElement.controls = true;
  clickElement.style.display = 'none';
  adUiDiv.style.display = 'none';
  if (snapForwardTime && snapForwardTime > videoElement.currentTime) {
    videoElement.currentTime = snapForwardTime;
    snapForwardTime = null;
  }
}