隨選影片(VOD)廣告插入程式包含廣告解析、廣告插入和廣告播放階段。 對於廣告追蹤,瀏覽器TVSDK必須通知遠端追蹤伺服器每個廣告的播放進度。 當發生未預期的情況時,會採取適當的動作。
瀏覽器TVSDK會聯絡廣告傳送服務(例如Adobe Primetime ad decisioning),並嘗試取得與廣告視訊資料流對應的主要播放清單檔案。 在廣告解析階段中,瀏覽器TVSDK會向遠端廣告傳送伺服器發出HTTP呼叫,並剖析伺服器的回應。
瀏覽器TVSDK支援下列型別的廣告提供者:
中繼資料廣告提供者
廣告資料會以純文字JSON檔案編碼。
Adobe Primetime ad decisioning廣告提供者
瀏覽器TVSDK會傳送請求(包含一組目標定位引數和資產識別碼)至Adobe Primetime ad decisioning後端伺服器。 Adobe Primetime ad decisioning會以包含所需廣告資訊的SMIL (同步化多媒體整合語言)檔案來回應。
在此階段可能會發生下列其中一種容錯移轉情況:
無法擷取資料,原因包括缺乏連線或伺服器端錯誤,例如找不到資源等。
已擷取資料,但格式無效。
例如,發生此狀況可能是因為剖析傳入資料失敗。
瀏覽器TVSDK會發出有關錯誤的警告通知,並繼續處理。
瀏覽器TVSDK會將替代內容(廣告)插入與主要內容對應的時間軸中。
當廣告解決階段完成時,瀏覽器TVSDK會有一個已排序的廣告資源清單,這些資源會分組到廣告插播中。 每個廣告插播會使用以毫秒(ms)表示的開始時間值,放置在主要內容時間軸上。 廣告插播中的每個廣告都有duration屬性,也以ms表示。 廣告插播中的廣告會逐一連結在一起。 因此,廣告插播的持續時間等於個別構成廣告的持續時間總和。
在此階段中可能會發生容錯移轉,而廣告插入期間的時間表上可能會發生衝突。 對於廣告插播開始時間/持續時間值的特定組合,廣告區段可能會重疊。 當廣告插播的最後部分與下一個廣告插播中第一個廣告的開始相交時,就會發生重疊。 在這些情況下,瀏覽器TVSDK會捨棄較晚的廣告插播,並使用清單中的下一個專案繼續廣告插入程式,直到插入或捨棄所有廣告插播為止。
瀏覽器TVSDK會發出有關錯誤的警告通知,並繼續處理。
瀏覽器TVSDK會下載廣告區段並在裝置的畫面上轉譯。
此時,瀏覽器TVSDK已解析廣告、將廣告置於時間軸上,並嘗試在畫面上轉譯內容。
此階段可能會發生下列主要錯誤類別:
對於全部三個錯誤類別,瀏覽器TVSDK會將觸發的事件轉送給您的應用程式,包括:
容錯移轉發生時觸發的通知事件。
當設定檔因容錯移轉演演算法而變更時的通知事件。
已考慮所有容錯移轉選項時觸發的通知事件,且無法自動採取其他動作。
您的應用程式需要採取適當的動作。
無論是否發生錯誤,瀏覽器TVSDK都會在廣告插播開始和完成時通知您。 但是,如果區段無法下載,則時間表可能會出現間隙。 當間隙夠大時,播放點位置和報告的廣告進度中的值可能會顯示不連續。