將TimeRange廣告標籤置於時間軸

此範例顯示在播放時間軸中加入TimeRange規格的建議方式。

  1. 將帶外廣告定位資訊轉換為TimeRange規範清單(即TimeRange類的實例)。
  2. 使用TimeRange規範集填充TimeRangeCollection類的實例。
  3. 將可從TimeRangeCollection實例獲取的元資料實例傳遞到replaceCurrentItem方法(MediaPlayer介面的一部分)。
  4. 等待TVSDK等待PlaybackEventListener#onPrepared回呼觸發,以轉換為PREPARED狀態。
  5. 呼叫play()方法(MediaPlayer介面的一部分),開始播放視訊。
  • 處理時間軸衝突:有時,播放時間軸上的某些TimeRange規範會重疊。 例如,與TimeRange規範對應的起始位置的值可能低於已放置的終止位置的值。 在此情況下,TVSDK會無訊息地調整違規TimeRange規格的開始位置,以避免時間軸衝突。 通過此調整,新TimeRange將比最初指定的短。 如果調整極端,以致於會導致持續時間為零毫秒的TimeRange,TVSDK會無訊息地捨棄違規的TimeRange規格。

  • 當提供自訂廣告插播的TimeRange規格時,TVSDK會嘗試將這些規格轉換為廣告插播內分組的廣告。 TVSDK會尋找相鄰的TimeRange規格,並將它們叢集為個別的廣告插頁。 如果有時間範圍不與任何其他時間範圍相鄰,則會將它們轉換為包含單一廣告的廣告分段。

  • 假設載入的媒體播放器項目指向VOD資產。 當您的應用程式嘗試載入中繼資料包含TimeRange規格的媒體資源時,TVSDK會檢查此項,這些規格僅能用於自訂廣告標籤功能的內容。 如果基礎資產不是VOD類型,TVSDK程式庫會擲回例外。

  • 處理自訂廣告標籤時,TVSDK會停用其他廣告解析機制(透過Adobe Primetime廣告決策(先前稱為Auditude)或其他廣告布建系統)。 您可以使用TVSDK提供的各種廣告解析器模組或自訂廣告標籤機制。 使用自訂廣告標籤API時,廣告內容會被視為已解析並置於時間軸上。

下列程式碼片段提供一個簡單範例,其中一組3個TimeRange規格會以自訂廣告標籤放置在時間軸上。

// Assume that the 3 timerange specs are obtained through external means: CMS, etc. 
// Use these 3 timerange specs to populate the TimeRangeCollection instance 
var timeRanges:TimeRangeCollection = new TimeRangeCollection(); 
timeRanges.addTimeRange(new TimeRange(0,10000)); 
timeRanges.addTimeRange(new TimeRange(15000,20000)); 
timeRanges.addTimeRange(new TimeRange(25000,30000)); 
  
// create and configure a MediaResource instance 
MediaResource mediaResource =  
  MediaResource.createFromUrl("www.example.com/video/test_video.m3u8",  
                             timeRanges.toMetadata(null));

本頁內容