For the complete documentation index, see llms.txt. This page is also available as Markdown.

Comment bloquer dynamiquement les types de publicités pour les zones In-Stream (vidéo) d'ExoClick

Dans ce tutoriel, nous allons démontrer comment bloquer Vidéo (In-Stream) des campagnes publicitaires en fonction du type d'annonce.

Cette approche peut être mise en œuvre dans divers scénarios, mais une application courante consiste à utiliser cette technique lorsque vous, en tant qu'éditeur, souhaitez afficher certains types d'annonces aux utilisateurs qui donnent leur consentement, tout en bloquant des campagnes spécifiques pour ceux qui n'acceptent pas les conditions générales de votre site web.

Pour illustrer cette idée, nous avons créé deux extraits de code en JavaScript natif. Dans le premier, nous montrons comment bloquer des annonces vidéo en fonction des paramètres d'URL. Le second exemple simule un cas dans lequel le consentement de l'utilisateur est stocké dans le stockage local du navigateur. Dans les deux cas, nous tirons parti de la block-ad-types fonctionnalité.

Afin d'afficher des annonces In-Stream, nous utilisons Fluid Player, un lecteur HTML5 gratuit et open source compatible avec les formats VAST et VPAID.

Gardez à l'esprit que si votre configuration est différente, vous devrez adapter ce code pour qu'il réponde aux exigences de votre lecteur. Cependant, la logique de base de la block-ad-types fonctionnalité reste la même.

EXEMPLE 1 - Bloquer les types d'annonces In-Stream en fonction d'un paramètre d'URL

Il s'agit d'une logique assez simple qui ne diffère pas beaucoup d'une intégration Fluid Player de base, dans laquelle un lecteur vidéo standard est chargé en premier, puis Fluid Player y est attaché.

La principale différence ici est qu'avant d'attacher Fluid Player au lecteur vidéo standard, nous effectuons une vérification du paramètre d'URL, où nous récupérons la valeur de user_verified.

Une fois cela défini, nous avons une instruction if qui définit la dynamicVastTag variable afin de bloquer les annonces NSFW pour les utilisateurs non vérifiés ou d'autoriser toutes les annonces pour les utilisateurs vérifiés.

Une fois cette variable définie, nous procédons au chargement de l'objet de configuration de Fluid Player, en veillant à inclure la dynamicVastTag variable comme valeur de la vastTag propriété.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Annonces In Stream (vidéo) | block-ad-types</title>

    <!-- Importer Fluid Player -->
    <script src="https://cdn.fluidplayer.com/v3/current/fluidplayer.min.js"></script>

    <!-- Initialiser une instance de Fluid Player -->
    <script>
      console.log("initializing fluid")
      var player = fluidPlayer("example-player");
    </script>

  </head>

  <body>
    <h1>block-ad-types pour les annonces In Stream (vidéo) à l'aide de paramètres d'URL</h1>

    <!-- Lecteur <video> standard -->
    <div class="video-wrapper">
      <video
        id="example-player"
        muted
        style="width: 50vw; height: 500px; margin: 0 auto; padding: 0"
      >
        <source
          src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
          type="video/mp4"
        />
        Votre navigateur ne prend pas en charge la balise vidéo.
      </video>
    </div>

    <!-- Script qui définit la configuration de Fluid Player -->
    <script>
      
      // Fonction pour récupérer la valeur de user_verified à partir du paramètre d'URL
      const userVerified = new URLSearchParams(window.location.search).get(
        "user_verified"
      );

      // Définir les types d'annonces bloqués en fonction des paramètres d'URL
      let dynamicVastTag =
        "https://s.magsrv.com/v1/vast.php?idzone=5532704&block_ad_types=101"; // bloquer les annonces NSFW
      if (userVerified === "1") {
        dynamicVastTag = "https://s.magsrv.com/v1/vast.php?idzone=5532704";  // si l'utilisateur est vérifié, afficher toutes les annonces
      }

      var player = fluidPlayer("example-player", {
        layoutControls: {
          primaryColor: "#FF0000",
          timelinePreview: {
            file: "thumbnails.vtt",
            type: "VTT",
          },
          controlForwardBackward: {
            show: true,
            doubleTapMobile: false,
          },
        },
        vastOptions: {
          adList: [
            {
              roll: "preRoll",
              vastTag: dynamicVastTag,
              timer: 5,
            },
          ],
        },
      });
    </script>
  </body>
</html>

EXEMPLE 2 - Bloquer les types d'annonces In Stream en fonction des données du stockage local

Cette implémentation diffère de la précédente en utilisant le stockage local pour gérer le consentement de l'utilisateur au lieu des paramètres d'URL. Le code est modulaire, avec des fonctions distinctes pour créer le lecteur vidéo et la configuration de Fluid Player.

Le <head> section du HTML contient trois fonctions principales qui contrôlent la diffusion des annonces en fonction du consentement de l'utilisateur :

  • insertVideoPlayer crée un élément de lecteur vidéo et l'ajoute à la page web.

  • fluidPlayerConfig génère un objet de configuration pour Fluid Player. La logique clé de cette fonction réside dans la façon dont elle choisit l'URL des annonces : si l'utilisateur n'a pas accepté les conditions (false), elle ajoute &block_ad_types=101 à l'URL pour bloquer certaines annonces. Si l'utilisateur a accepté (true), elle utilise l'URL standard, autorisant ainsi toutes les annonces.

  • insertFluidPlayer rassemble tout. Elle crée d'abord le lecteur vidéo à l'aide de insertVideoPlayer, puis y attache Fluid Player, en utilisant la configuration spécifique de playerConfig adaptée au consentement de l'utilisateur.

Dans la <body>, le script final vérifie le consentement de l'utilisateur dans le stockage local au chargement de la page et affiche les lecteurs en conséquence. Si aucun consentement n'a été donné mais que l'utilisateur accepte plus tard les conditions en cliquant sur le bouton, le lecteur est réinitialisé avec les autorisations mises à jour.

Ce contenu vous a-t-il été utile ?