啟用延遲廣告解析

您可以使用現有的「延遲廣告載入」機制來啟用或停用「延遲廣告解析」功能(預設會啟用「延遲廣告解析」)。

您可以呼叫AdvertisingMetadata.setDelayLoading(含truefalse),以啟用或停用「懶惰廣告解決」。

  1. 使用AdvertisingMetadata中的布林hasDelayAdLoadingsetDelayAdLoading方法,控制廣告解析度的時間以及廣告在時間軸上的位置:

    • 如果hasDelayAdLoading傳回false,TVSDK會等到所有廣告都解析並放置,再轉換至PREPARED狀態。

    • 如果hasDelayAdLoading傳回true,TVSDK只會解析初始廣告和轉場至PREPARED狀態。 其餘廣告會在播放期間解析並放置。

    • hasPrerollhasLivePreroll傳回false時,TVSDK會假設沒有前置廣告,並立即開始播放內容。 這些預設為true。

      與延遲廣告解析度相關的API:

      Class:
         com.adobe.mediacore.metadata.AdvertisingMetadata
      
      Methods:
      […]
          public final boolean hasDelayAdLoading() // Check if Lazy Ad Resolving enabled
          public final void setDelayAdLoading()    // Enable or disable Lazy Ad Resolving
          public final boolean hasPreroll()        // Check for existence of pre-roll ads
          public final void setPreroll()           // Set pre-roll true or false
          public final boolean hasLivePreroll()    // Check for live pre-roll ads
          public final void setLivePreroll()       // Set live pre-roll true or false
      […]
      
  2. 若要將廣告準確反映為拖曳列上的提示,請監聽TimelineEvent事件,並在每次收到此事件時重新繪製拖曳列。

    當VOD串流啟用「延遲廣告解析」時,並非播放器進入「已準備」狀態時,所有廣告都會放在時間軸上,因此您的播放器必須明確重繪拖曳列。

    TVSDK會最佳化此事件的派單,將您必須重繪拖曳列的次數減至最少;因此,時間軸事件的數目與要放置在時間軸上的廣告分段數目無關。 例如,如果您有五個廣告插播,可能就不會收到五個事件。

    mediaPlayer.addEventListener
        (MediaPlayerEvent.TIMELINE_UPDATED, timelineUpdatedEventListener);
    /**
     * ...
     */
    public void onTimelineUpdated(TimelineEvent event) {
    
        for (PlaybackManagerEventListener listener : eventListeners) {
            listener.onUpdate(getLocalSeekRange(), event.getTimeline());
        }
    }
    

若要確認「懶惰廣告解析」功能是啟用還是停用,請呼叫AdvertisingMetadata.hasDelayAdLoading。 傳回值true表示已啟用「懶惰廣告解析」;false表示功能已停用。

本頁內容