可視性

在本主題中,您將了解 Brightcove Player 可見性功能。

簡介

播放器的可見性對於廣告集成以及一些 UI 處理(如浮動播放器)至關重要。在這種情況下,我們將“可見度”定義為在任何給定時刻瀏覽器視口中可見玩家的百分比。如果播放器的某個特定百分比在視口中,則該播放器被認為是“可見的”。

Brightcove Player 7 引入了可見性跟踪 DOM 事件和一些取決於播放器可見狀態的有價值的行為。

播放程式組態

可以在播放器的 JSON 配置中配置播放器的可見性事件和行為。所有配置都在可見性屬性下可用。

屬性 描述 類型 預設
viewability_threshold 之間的數字01表示必須在視口中才能算作“可見”的播放器部分。 number 0.6
min_duration_for_viewable_impression 表示從廣告播放開始到測試可見印象之前等待的毫秒數。

默認情況下,這意味著播放器將使用viewable-ad-impression廣告播放 2 秒後的事件。
number 2000
threshold_percentage_increment 之間所需的可見度變化量viewable-percent-change事件。

默認情況下,值5意思是viewable-percent-change只有當玩家的可見度改變了 5%(例如,從 45% 到 50%)時,事件才會觸發。

建議不要對此進行更精細的處理,因為它會觸發很多事件。
number 5
delay_autoplay_if_not_viewable 僅與配置為自動播放的播放器交互。

如果true,播放器會延遲其播放嘗試,直到播放器可見為止。

如果false,無論其可見性狀態如何,播放器都會嘗試播放。這是自動播放播放器的默認行為。
boolean false
delay_autoplay_on_mobile_only 如果true,延遲自動播放功能只會在移動環境(iOS 或 Android)上激活。

筆記 :在這種情況下,平板電腦被視為移動環境。
boolean true
pause_when_not_viewable 如果true , 如果它變得不可見,播放器將暫停播放。當播放器再次可見時,播放將恢復。

如果false , 播放器不會切換暫停或繼續播放viewable-change .這是玩家的默認行為..
boolean false

範例

以下是包含可見性的播放器配置的 JSON:

{
  ... other properties ...
  "viewability": {
    "viewability_threshold": 0.3,
    "pause_when_not_viewable": true
  }
}

在此示例中,當播放器在瀏覽器視口中可見的部分不足 30% 時,播放會暫停,這是由於用戶將播放器滾動到視圖之外造成的。當播放器再次可見時,播放將恢復。

可見度事件

用戶可以掛鉤三個與可見性相關的新事件。

  • viewable-change

    當播放器轉換為可見狀態或從可見狀態轉換時會觸發此事件。

    屬性 類型 描述
    viewable 布林 表示播放器是否處於可視狀態
    viewablePercent 表示當前在視口中的玩家的百分比
    例子
    player.on('viewable-change', (e) => {
      if (e.viewable) {
        player.log('the player is viewable!');
      } else {
        player.log('the player is not viewable!');
      }
    });

  • viewable-percent-change

    當播放器的可見百分比發生變化時會觸發此事件。

    屬性 類型 描述
    viewable 布林 表示播放器是否處於可視狀態
    viewablePercent 表示當前在視口中的玩家的百分比
    例子
    player.on('viewable-percent-change', (e) => {
      player.log(`the player is ${e.viewablePercent}% viewable!`);
    });

  • viewable-ad-impression

    當測量到可見的廣告印象時,將觸發此事件。它不會在廣告播放上下文之外觸發。

    換句話說,一旦廣告開始並播放了由min_duration_for_viewable_impression在玩家可見的情況下,此事件將觸發。

    此事件不傳遞任何其他數據。