StreamManager
處理動態廣告插播串流。它會管理與 DAI 後端的互動,並處理追蹤 ping 以及將串流和廣告事件轉送至發布商。這個管理員不會繼承 BaseAdsManager,因為它不是特定廣告的管理員,而是整個串流的管理員
建構函式
StreamManager
new StreamManager(videoElement, adUiElement, uiSettings)
建構函式。
參數 |
|
---|---|
videoElement |
影片播放的 HTML 影片元素。 值不得為空值。 |
adUiElement |
選用 用於容納廣告 UI 元素的 HTML 元素。這個元素的高度和寬度應與影片播放畫面相同,且應直接疊加在影片上。如果未提供,系統就不會顯示 UI,也不會要求需要 UI 的廣告 (例如可略過的廣告)。 |
uiSettings |
選用 這場串流要使用的使用者介面設定。 值不得為空值。 |
- 擲回
-
輸入參數不符合規定。
屬性
clickElement
非空值 HTMLElement
clickElement
非空值 HTMLElement
streamMonitor
非空值的 PodServingStreamMonitor
方法
addEventListener
addEventListener(type, listener) 會傳回 void
為指定事件類型新增監聽器。
參數 |
|
---|---|
類型 |
字串 要監聽的事件類型。 |
事件監聽器 |
function(non-null StreamEvent) 每當發生這類事件時,系統就會呼叫這個函式。 |
- 傳回
-
void
contentTimeForStreamTime
contentTimeForStreamTime(streamTime) 會傳回數字
傳回指定串流時間的內容播放時間 (不含廣告)。傳回直播的指定串流時間。
參數 |
|
---|---|
streamTime |
數字 插入廣告的串流時間 (以秒為單位)。 |
- 傳回
-
number
廣告移除後,與指定串流時間相對應的內容時間。
焦點
focus() 傳回無效值
將焦點移至略過按鈕 (如有)。如果沒有,系統會將焦點放在互動元素上,包括圖示或互動廣告素材。
- 傳回
-
void
getAdSkippableState
getAdSkippableState() 會傳回布林值
如果目前可略過廣告,則傳回 true。當這個值變更時,StreamManager
會觸發 StreamEvent.SKIPPABLE_STATE_CHANGED
事件。
- 傳回
-
boolean
如果目前可略過廣告,則傳回 True,否則傳回 false。
loadStreamMetadata
loadStreamMetadata() 傳回無效值
要求 SDK 載入廣告中繼資料,然後廣播 StreamEvent.LOADED。從第三方影片拼接器擷取串流資訊清單後,應手動觸發這項作業。這個參數僅用於搭配第三方影片拼接器的 VOD 連播放送,其他串流要求則不會執行。
- 傳回
-
void
onTimedMetadata
onTimedMetadata(metadata) 傳回 void
傳入已處理中繼資料的字典。字典預期鍵為「TXXX」,並以使用者定義的中繼資料字串做為值。如果您的播放器提供原始中繼資料,請改為呼叫 StreamManager.processMetadata
。
參數 |
|
---|---|
中繼資料 |
(空值或非空值物件,含有字串屬性) 中繼資料字典。 |
- 傳回
-
void
previousCuePointForStreamTime
previousCuePointForStreamTime(streamTime) returns (null or CuePoint)
傳回指定串流時間的前一 Cuepoint。如果沒有這類 cuepoint,則會傳回空值。這個方法用於實作回彈等功能,並在發布者偵測到使用者已快轉,以便將使用者帶回廣告插播時呼叫。
參數 |
|
---|---|
streamTime |
數字 尋找的串流時間。 |
- 傳回
-
(null or non-null CuePoint)
指定串流時間的前一個提示點。
processMetadata
processMetadata(type, data, timestamp) 傳回 void
處理直播活動的時間中繼資料。如果影片播放器提供未剖析的中繼資料和時間戳記,請使用此方法;否則請呼叫 StreamManager.onTimedMetadata
。
參數 |
|
---|---|
類型 |
字串 中繼資料的類型。必須是 HLS 的「ID3」,或 DASH 的事件訊息架構 ID URI。 |
資料 |
(字串或非空值 Uint8Array) 原始標籤資料。如為 ID3,必須是完整的原始標記資料。如果是 DASH 事件訊息,則為訊息資料字串。 |
時間戳記 |
數字 資料應處理的時間 (以秒為單位)。對於 DASH,這是事件訊息開始時間。 |
- 傳回
-
void
removeEventListener
removeEventListener(type, listener) 會傳回 void
移除指定事件類型的監聽器。事件監聽器函式必須與先前傳遞至 addEventListener
的函式相等。
參數 |
|
---|---|
類型 |
字串 要移除事件監聽器的事件類型。 |
事件監聽器 |
function(non-null StreamEvent) 要移除的事件監聽器函式。 |
- 傳回
-
void
replaceAdTagParameters
replaceAdTagParameters(adTagParameters) 會傳回 void
針對即將發出的直播廣告請求,取代其中使用的所有廣告代碼參數。
參數 |
|
---|---|
adTagParameters |
含有字串屬性的物件 新的廣告代碼參數。必須包含字串值。 值不得為空值。 |
- 傳回
-
void
requestStream
requestStream(streamRequest) 會傳回 void
要求使用提供的串流參數載入串流。
參數 |
|
---|---|
streamRequest |
包含載入串流中繼資料的參數。 值不得為空值。 |
- 傳回
-
void
重設
reset() 傳回無效值
重設串流管理員,並移除任何持續輪詢。
- 傳回
-
void
setClickElement
setClickElement(clickElement) 會傳回 void
設定廣告點閱元素。此元素可用於廣告播放期間的點擊或輕觸接收器,且可能會導致離開目前頁面。這項功能現已淘汰,請改為將 adUiElement 傳遞至 StreamManager。如果將 adUiElement 提供給 StreamManager 建構函式,這個方法就會變成無操作。
參數 |
|
---|---|
clickElement |
(空值或非空值元素) 用於廣告點擊的元素。 |
- 已淘汰
- 請改為向 StreamManager 建構函式提供 adUiElement。
- 傳回
-
void
streamTimeForContentTime
streamTimeForContentTime(contentTime) 會傳回數字
傳回指定內容時間的串流時間,包括廣告時間。傳回直播的指定內容時間。
參數 |
|
---|---|
contentTime |
數字 不包含任何廣告的內容播放時間 (以秒為單位)。 |
- 傳回
-
number
廣告插入後,與指定內容時間相對應的串流時間。