Guide de programmation pour l'API Rich Media

Appeler un pixel dans une création Flash

Il est courant d'intégrer des pixels, ou des URL de suivi, dans une création Flash rich media. Cette fonctionnalité permet d'ajouter des éléments de suivi, de création de rapports et d'analyse, en plus des statistiques DFA ou DFP standards. Le plus souvent, les utilisateurs se servent des pixels pour mettre en œuvre des pixels d'impressions tierces, un suivi Floodlight ou des tags Site Advance.

Vous avez le choix entre différentes méthodes de mise en œuvre, en fonction du moment auquel le pixel doit être appelé. Par exemple, si le pixel doit être appelé lors d'une impression, vous pouvez le définir directement à l'aide de DFA ou DFP.

Par contre, un pixel appelé suite à une interaction spécifique avec une annonce (expansion, par exemple) doit être invoqué au sein même de la création Flash. Notez qu'il convient d'ajouter ce pixel avant que la création ne soit importée dans Studio et envoyée au contrôle qualité.

Cet article décrit les bonnes pratiques à appliquer pour appeler un pixel dans une création Flash et mettre en forme l'URL de la demande. Il ne fournit pas d'informations sur le format ou la forme du pixel et n'explique pas non plus comment obtenir son URL.

Pour appeler un pixel dans une création Flash, procédez comme suit :

  1. Lorsque vous appelez un pixel à partir d'une création Flash, assurez-vous qu'il est mis en œuvre exactement tel qu'il apparaît dans le code que vous recevez. Si vous recevez une fonction JavaScript, l'URL du pixel est généralement la valeur src contenue dans un tag <img> .

    Le paramètre [timestamp] (à la fin de l'exemple d'URL de pixel) est une macro de contournement du cache semblable à la macro %n. Une fois ajoutés à la fin d'une URL de pixel, ces générateurs de nombres aléatoires rendent l'URL unique. Ils sont importants dans la mesure où ils empêchent le chargement d'un appel de pixel à partir du cache de l'internaute.

    Vous ne devez modifier l'URL du pixel que lorsqu'une macro de nombre aléatoire, telle que [timestamp], est supprimée de la fin de l'URL et remplacée par un nombre aléatoire généré dans Flash. Ce nombre est généré à l'aide de la méthode ActionScript Math.random(). Les extraits de code suivants représentent des exemples de mise en œuvre :

    Extrait de code AS2 – Charger un pixel

    var _trackingPixelLoaded:Boolean = false;

    function loadTrackingPixel():Void {
       if (!_trackingPixelLoaded) {
        trace("Chargement de pixel...");
        var rand:Number = Math.floor(Math.random()*10000000);
        var url:String = "http://www.example.com/yourpixel/?ord=" + rand;
        _root.createEmptyMovieClip(”pixelLoader”, _root.getNextHighestDepth());
        _root.pixelLoader.loadMovie(url);
        _trackingPixelLoaded = true;
        }
    }

    Extrait de code AS3 – Charger un pixel

    var _trackingPixelLoaded:Boolean;
    function loadTrackingPixel():void {
        if (! _trackingPixelLoaded) {
            trace("Chargement de pixel...");
    // rand utilisé pour remplacer la macro [timestamp]
            var rand:Number=Math.floor(Math.random() * 10000000);
            var
    url:String="http://www.example.com/yourpixel/?ord=" + rand;
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,pixelLoaded);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,pixelFailed);

            loader.load(new URLRequest(url));
            _trackingPixelLoaded=true;
        }
    }

    function pixelLoaded(e:Event) {
        trace("Chargement de pixel réussi.");
    }
    function pixelFailed(e:Event) {
        trace("Échec du chargement de pixel.");
    }

  2. Appelez la fonction loadTrackingPixel(). À l'étape précédente, vous avez configuré une fonction permettant d'appeler le pixel dans votre création Flash. À présent, vous devez appeler cette fonction, en sachant que la méthode varie en fonction du moment auquel le pixel doit être invoqué.
    1. Appelez le pixel une fois l'annonce chargée.

      Pour ce faire, écoutez l'événement de chargement de page au niveau de la première image du fichier SWF parent, puis appelez la fonction loadTrackingPixel().

      Extrait de code AS2

      import com.google.ads.studio.events.StudioEvent;

      var pageLoadedHandler:Function = function(event:StudioEvent):void {
          loadTrackingPixel();
      };

      enabler.addEventListener(StudioEvent.PAGE_LOADED, pageLoadedHandler);

      Extrait de code AS3

      import com.doubleclick.studio.events.StudioEvent;

      var pageLoadedHandler:Function = function(event:StudioEvent):void {
          loadTrackingPixel();
      }

      enabler.addEventListener(StudioEvent.PAGE_LOADED, pageLoadedHandler);

    2. Appelez le pixel à chaque événement de sortie déclenché dans l'annonce.

      Pour ce faire, écoutez l'événement de sortie DoubleClick Studio et appelez la fonction loadTrackingPixel() dans votre écouteur d'événements de sortie.

      Extrait de code AS2

      function onExit():Void {
          loadTrackingPixel();
      }

      Enabler.addEventListener("onExit", onExit);

      Extrait de code AS3

      import com.doubleclick.studio.events.StudioEvent;

      function onExit(event:StudioEvent):void {
          loadTrackingPixel();
      }

      enabler.addEventListener(StudioEvent.ON_EXIT, onExit);

    3. Appelez le pixel pour chaque clic effectué sur l'annonce.

      Pour ce faire, écoutez tous les clics de souris dans le fichier SWF parent et appelez la fonction loadTrackingPixel() dans votre écouteur de clics.

      Extrait de code AS2

      mouseListener = new Object();

      mouseListener.onMouseUp = function(){
          loadTrackingPixel();
      };

      Mouse.addListener(mouseListener);

      Extrait de code AS3

      stage.addEventListener(MouseEvent.CLICK, onClick);

      function onClick(event:MouseEvent):void {
          loadTrackingPixel();

      }

Pixel Site Advance

Dans le cas d'un pixel Site Advance, des informations supplémentaires sont transmises dans l'URL. Par exemple, si les données transmises proviennent d'un formulaire, elles doivent être séparées et codées par échappement. L'exemple de code ci-dessous assemble une chaîne avec les données de formulaire, puis l'ajoute à la fin de l'URL d'un pixel Site Advance.

Exemple de code
rand = Math.floor(Math.random() * 10000000);
delim = "~+~";
escapedData = escape(txtLastName + delim + txtFirstName + delim + txtJunk);
tag = "http://motiftest.rpts.net/sa;src=905804;ord=" + rand + ";pgnm=" + escapedData; loadMovieNum(tag, 99);

Dans cet exemple, la variable "delim" est définie sur "~+~". Vous pouvez la remplacer par n'importe quel paramètre approprié ou presque. Pour les caractères posant problème, consultez la rubrique "Notes supplémentaires", ci-après.

Les variables codées par échappement doivent correspondre aux noms des variables contenant les données. Dans l'exemple ci-dessus, le formulaire est doté de trois zones de texte. Ces zones de texte utilisent les variables txtFirstName, txtLastName et txtJunk. Vous pouvez modifier les noms des variables en fonction de vos besoins.

Vous pouvez ajouter des variables supplémentaires à la chaîne. Assurez-vous simplement d'insérer le séparateur entre les variables. La longueur maximale d'une chaîne à transmettre dans un pixel Site Advance est de 950 caractères.


Remarques supplémentaires

Une URL Floodlight ou Site Advance renvoie une image GIF au lieu d'un fichier SWF ou JPEG. Par conséquent, le lecteur Flash ne reconnaît pas les données et les ignore. Le fait que Flash charge ou non le pixel n'a aucune importance. Du moment que le serveur Floodlight ou Site Advance reçoit la demande, les informations sont consignées. Toutefois, étant donné que Flash n'affiche rien, il est difficile de s'assurer que le fichier animé Flash fonctionne correctement.

Lorsque vous utilisez la méthode décrite dans cet article, l'URL du pixel Floodlight ou Site Advance est intégrée dans le fichier Flash. Si vous modifiez l'URL, vous êtes obligé de modifier également le fichier Flash et de publier un nouveau fichier SWF.

Les caractères suivants ne sont pas faciles à transmettre dans un pixel Site Advance :

| (barre verticale)

' (apostrophe)

; (point-virgule)

Évitez ces caractères autant que possible. Si vous ne pouvez éviter de les utiliser, ces caractères doivent être codés par échappement deux fois. Vous pouvez, par exemple, remplacer le point-virgule par %253B (code ASCII du point-virgule).

Pour en savoir plus sur les pixels de remarketing Google-YouTube, consultez l'article relatif à la mise en œuvre de pixels de remarketing YouTube.