控制事件順序

串流視訊追蹤是一項高度依賴時間的作業,有時媒體收集API追蹤呼叫會未依順序進入後端。 在此情況下,後端會根據playerTime物件中提供的時間戳記,嘗試將事件加入佇列及重新排序。 這會有一些限制。 目前,如果順序錯誤呼叫之間的延遲超過一秒,則重新排序可能會失敗。 在未來的更新中,「可接受的延遲時間」可以優化和配置。

順序錯誤事件範例

事件通過網路時發生順序錯亂的事件,這有時會導致延遲。

例如,您可以傳送adBreakStart事件,後接adStart事件。 這是常見的使用案例,因為廣告是從廣告插播開始的必要動作。

如果廣告就緒且不需要緩衝,兩個事件幾乎都會立即發生,且兩個事件的playerTime.ts非常接近,但絕不應相等。

事件的「playerTime.ts」在任何事件中都不應相等,因為排序演算法不會知道先發生了什麼事件。 每2個連續事件的時間戳記差異應至少為1毫秒。

因為兩個事件在觸發網路呼叫時都會非常接近,因此可能會不正常送達。 在此範例中, adStart事件在adBreakStart事件之前到達。

有一個事件計時視窗:5秒或最多10個事件。 在將事件傳送至處理管道之前,會先緩衝這些事件。 當符合條件時 — 已經過5秒或接收了10多個事件,則會根據playerTime.ts重新排序事件,然後以新順序發送到處理管道。

重要

有個例外事件會立即傳送至處理管道,即為sessionStart事件。

本頁內容