Comprobación de bloqueadores de anuncios

En este tema, aprenderá a comprobar si se está utilizando un bloqueador de anuncios.

Usando el método usandoAdBlocker()

Brightcove Player tiene un método que verifica si el navegador que reproduce su video está utilizando un bloqueador de anuncios. Este método usa AdBlocker() . Una vez que se determina si se detecta un bloqueador de anuncios, sus reglas comerciales lo guiarán en las acciones posteriores. En el siguiente ejemplo, se mostrarán tres anuncios durante el video, o si se detecta un bloqueador de anuncios, se mostrará un mensaje debajo del reproductor.


En caso de que no tenga un bloqueador de anuncios instalado para realizar pruebas, para este ejemplo, el mensaje enmarcado en rojo se muestra cuando se detecta un bloqueador de anuncios:

Implementación

El siguiente código es un ejemplo completo del uso del método usingAdBlocker() . Básicamente el código hace lo siguiente:

  • Utiliza una promesa para verificar y ver si se detecta un bloqueador de anuncios.
  • En caso afirmativo, un párrafo se crea dinámicamente y se inserta en un div preexistente.
<!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>

Por supuesto, puede usar una declaración if para la lógica de 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);
  }
});