檢查廣告攔截器

在本主題中,您將學習如何檢查是否正在使用廣告攔截器。

使用 usingAdBlocker() 方法

Brightcove Player 有一種方法可以檢查播放視頻的瀏覽器是否正在使用廣告攔截器。這個方法是使用 AdBlocker() .一旦確定是否檢測到廣告攔截器,您的業務規則將指導您採取進一步行動。在下面的示例中,三個廣告將在視頻中顯示,或者如果檢測到廣告攔截器,則會在播放器下方顯示一條消息。


如果您沒有安裝用於測試的廣告攔截器,對於此示例,當檢測到廣告攔截器時,將顯示以紅色框顯示的消息:

實作

以下代碼是使用使用 AdBlocker()方法。基本上代碼執行以下操作:

  • 使用承諾來檢查並查看是否檢測到廣告攔截器。
  • 如果是,則動態創建一個段落並將其插入到預先存在的分區 .
<!doctype html>
<html>

<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>

<body>

  <div style="width: 600px;">
    <video-js id="myPlayerID"
      data-account="1752604059001"
      data-player="ZDaDSLULho"
      data-embed="default"
      controls=""
      data-video-id="5701193190001"
      data-playlist-id=""
      data-application-id=""
      width="600" height="337.5" class="vjs-fluid"></video-js>
  </div>
  <script src="https://players.brightcove.net/1752604059001/ZDaDSLULho_default/index.min.js"></script>
  
  <div id="ad-blocker-note"></div>
  
  <script>
    videojs.getPlayer('myPlayerID').ready(function () {
      var myPlayer = this;
      myPlayer.usingAdBlocker().then( hasBlocker => {
        if (hasBlocker) {
          var newP = document.createElement("p");
          newP = '<strong>Ads will not play as you are using an ad blocker.</strong>';
          document.getElementById("ad-blocker-note").insertAdjacentHTML('afterbegin', newP);
      }
    });
  
  </script>
  
</body>

</html>

當然,你可以使用一個如果 JavaScript 邏輯語句。

videojs.getPlayer('myPlayerID').ready(function () {
  var myPlayer = this;
  if (myPlayer.usingAdBlocker()) {
    var newP = document.createElement("p");
    newP = 'This ad will not play as you are using an ad blocker.';
    document.getElementById("ad-blocker-note2").insertAdjacentHTML('afterbegin', newP);
  }
});