Accueil

Présentation générale

Conception de votre annonce
Aide des gadget ads

Comment concevoir des gadget ads Google

Ce document s'adresse à ceux qui souhaitent concevoir des gadget ads Google. Vous y trouverez des conseils de mise en route et des explications sur les différences existant entre les gadget ads Google et les gadgets Google classiques. Au cours de la conception de votre annonce, vous devrez tenir compte de fonctions d'implémentation spécifiques, détaillées dans le présent document. Ces informations constituent la référence documentaire principale à laquelle vous devrez vous reporter fréquemment.

Sommaire

  1. Introduction
  2. Conformité aux réglementations de l'IAB et de Google en matière de publicité
  3. Gadget ads Google et gadgets Google sur iGoogle
  4. Mise en route
  5. Suivi des clics
  6. Suivi des interactions
  7. Extraction de contenu distant
  8. Intégration d'images
  9. Intégration d'objets Flash
  10. Intégration de vidéos
  11. Étude de cas : annonce gadget Gmail simplifiée
  12. Documentation
  13. Références

Introduction

Les gadget ads Google sont élaborées de la même façon que les gadgets Google pour iGoogle. D'un point de vue technique, les gadgets sont de simples fichiers XML hébergés sur un serveur public externe. Ils sont constitués de code HTML, JavaScript et CSS standard. Ils s'apparentent à des pages Web miniatures. La plupart des opérations qu'il est possible d'effectuer au sein d'une page Web sont reproductibles dans un gadget.

Pour créer des gadget ads Google, il est indispensable de maîtriser les notions essentielles qui président à la création de gadgets Google. Avant d'aller plus loin, reportez-vous au document intitulé API Google Gadgets - Guide du développeur et lisez attentivement les sections Mise en route et Programmation de votre propre gadget. Au minimum, suivez les instructions de programmation consistant à créer l'exemple de gadget "Hello, World!". Savoir ce qu'est un gadget et connaître son mode de fonctionnement et ses différentes options est un atout supplémentaire pour créer des gadget ads de qualité, susceptibles de toucher des millions d'internautes.

Une fois que vous avez assimilé les notions fondamentales relatives aux gadgets et au langage XML, il vous faut bien comprendre en quoi les gadget ads Google diffèrent des gadgets Google de iGoogle.

Conformité aux réglementations de l'IAB et de Google en matière de supports publicitaires formatés

Le format des gadget ads Google étant propre à Google, il est impératif qu'il soit conforme aux normes publicitaires actuelles ainsi qu'à la réglementation de Google relative aux supports publicitaires formatés et dynamiques. Il est donc important que vous respectiez les normes édictées par l'IAB (Internet Advertising Board) et par Google et qui régissent les formes que peut prendre la publicité sur Internet. Au-delà de pratiques évidentes qui consistent à ne pas publier d'annonces trompeuses, il existe d'autres éléments moins intuitifs à prendre en compte. Par exemple, une même page pouvant contenir plusieurs annonces, vous ne pouvez pas utiliser d'annonces audio à lecture automatique au chargement de la page, sous peine de créer des conflits entre les annonces. Dans le but de réglementer ces pratiques, Google a élaboré un ensemble de consignes de rédaction à respecter. Elles peuvent être consultées à l'adresse suivante :

http://adwords.google.com/support/bin/answer.py?answer=66136&hl=fr

Performances et bande passante

Dans de nombreuses zones du globe, les particuliers et les entreprises doivent payer des sommes d'argent importantes pour pouvoir disposer d'une bande passante suffisante. Il convient donc de respecter les contraintes de ces utilisateurs en minimisant la taille des annonces. De plus, si les annonces rendaient le chargement des pages Web trop lent, l'intégralité du Web en souffrirait. Google a très souvent constaté qu'un temps de chargement trop long avait des répercussions directes et flagrantes sur les performances des annonces. L'IAB impose des limites de taille pour les supports publicitaires formatés en fonction des dimensions de l'annonce et aucune annonce ne peut dépasser 40 Ko au chargement. Google recommande aux annonceurs de se conformer systématiquement à ces normes. Pour consulter les réglementations sur les supports publicitaires formatés de l'IAB, reportez-vous au document suivant :

http://www.iab.net/standards/richmedia/pdf/RichMediaGuidelines3.pdf

Les gadget ads constituant un nouveau format d'annonces, Google a établi une limite de 50 Ko au chargement pour une annonce au cours de la période d'essai. La notion de "taille au chargement" est difficile à définir. Néanmoins, on peut considérer qu'il s'agit de la taille de l'annonce au moment du chargement de la page où elle doit être diffusée, avant toute interaction de la part d'un internaute. Une fois qu'un internaute a "interagi" avec le gadget, la limite de 50 Ko peut être dépassée. Compte tenu de cette limite de 50 Ko et de la règle consistant à interdire les annonces audio à lecture automatique au chargement de la page (mentionnée plus haut), il n'est pas non plus possible de diffuser des annonces vidéo à lecture automatique au chargement de la page. Toutefois, la diffusion de petites séquences d'animation est envisageable.

Clics incorrects et clics sur des liens de redirection trompeurs

Il est évidemment interdit de simuler un clic sur une annonce gadget, d'autant plus qu'une telle action n'est pas dans votre intérêt. En effet, en générant des clics frauduleux sur vos gadget ads, non seulement vous vous exposez à des sanctions, mais vous n'augmentez pas vos chances de conversion, puisque les annonces fonctionnant par clic rapportent de l'argent uniquement lorsque des internautes cliquent délibérément sur l'annonce pour en savoir davantage sur le produit ou le service proposé. Des clics frauduleux sur des gadget ads augmentent certes le taux de clics, mais au détriment des conversions. De même, inciter l'internaute à cliquer sur des liens de redirection incorrects ne peut que nuire à votre annonce.

Le problème des taux de clics faibles est plus délicat. Par exemple, si les URL de redirection ne sont pas correctement placées, le gadget "fonctionne", mais la prise en compte des clics échoue dans le cas d'une annonce au coût par clic. Vous pouvez également concevoir votre interface utilisateur de sorte que les annonceurs comprennent bien la différence entre annonces au CPM (coût pour mille impressions), annonces au CPC (coût par clic) et annonces au CPA (coût par action).

Les liens de redirection vers un autre site Web doivent être clairement identifiés comme tels pour ne pas être confondus avec des interactions internes au gadget. Pour ce faire, Google suggère d'afficher systématiquement ces liens en bleu et de les souligner.

Annonces animées

L'animation doit se limiter à 15 secondes au maximum (à une vitesse de 15 à 20 images par seconde). Les boucles sans fin ne sont pas autorisées. Une annonce animée peut être diffusée autant de fois que possible, dans la limite des 15 secondes autorisées.

Confidentialité et cookies

L'affichage des gadget ads Google doit être complètement anonyme. Ces annonces ne doivent pas créer ou lire des cookies, ni utiliser d'autres mécanismes similaires tels que les applications Flash nécessitant le stockage d'informations sur le disque dur. Pour Google, il s'agit d'un aspect fondamental de la protection des informations personnelles des internautes. Ne dérogez pas à cette règle : respectez-la à la lettre.

Annonces contenant des téléchargements et des programmes malveillants

Les gadget ads ne doivent pas entraîner le téléchargement d'un logiciel sur l'ordinateur de l'internaute, pas plus qu'ils ne doivent essayer de le faire. Actuellement, les réglementations IAB et Google n'autorisent pas l'intégration de liens de téléchargement au sein des gadgets, bien que nous nous efforcions de modifier cette règle de façon à permettre cette intégration. Pour le moment, les annonceurs doivent placer leurs liens de téléchargement dans la page de destination de l'annonce (page vers laquelle est dirigé l'internaute s'il clique sur l'annonce).

Fenêtres pop-up

N'utilisez en aucun cas des fenêtres d'alerte, de confirmation ou tout autre type de boîte de dialogue modale. De plus, Google interdit l'utilisation de liens vers des pages de destination qui génèrent des fenêtres pop-up lorsqu'un internaute ouvre ou quitte ces pages. Est considérée comme "pop-up" toute fenêtre (quel qu'en soit le contenu) qui s'ouvre en plus de la fenêtre initiale.

Gadget ads Google et gadgets Google sur iGoogle

L'utilisation de gadgets sur iGoogle n'implique aucune restriction ni obligation quant à l'implémentation des gadgets. Ces derniers sont élaborés à partir de code HTML standard autorisant l'intégration de tout type de contenu similaire à celui d'une page Web conventionnelle : images, objets Flash, vidéos, etc. De plus, ils donnent accès aux différentes fonctionnalités de l'API de Google, sans aucune contrainte sur la manière dont ils sont utilisés.

Contrairement aux gadgets iGoogle, les gadget ads doivent respecter un certain nombre de règles pour pouvoir être diffusées. Des éléments sont requis à deux niveaux :

  1. dans le code XML du gadget ;
  2. dans l'implémentation.

Ces éléments obligatoires sont la différence fondamentale entre gadgets Google sur iGoogle et gadget ads Google.

Éléments XML requis

Les gadgets classiques sur iGoogle peuvent être constitués d'un code XML réduit à sa plus simple expression. Exemple :

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="My Gadget"/>
  <Content type="html"><![CDATA[
    Hello world!
  ]]></Content>
</Module>

En revanche, pour créer des gadget ads Google, vous devez définir un certain nombre d'éléments et d'attributs supplémentaires dans votre code XML. Dans l'extrait de code XML suivant, les éléments et attributs requis pour l'annonce gadget ont été mis en gras :

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="My Gadget Ad" width="300" height="250" thumbnail="">
    <Require feature="ads"/>
  </ModulePrefs>
  <UserPref name="clickurl" datatype="hidden" default_value=""/>
  <UserPref name="aiturl" datatype="hidden" default_value=""/>
  <Content type="html"><![CDATA[
    Hello content network!
  ]]></Content>
</Module>

Les formats d'annonces gadget possibles sont les mêmes que ceux des annonces illustrées. Les attributs width et height permettent de définir les dimensions de l'annonce de telle sorte qu'elles correspondent à l'un des formats AdSense suivants :

  • Bannière : 468 x 60
  • Leaderboard : 728 x 90
  • Carré : 250 x 250
  • Petit carré : 200 x 200
  • Grand rectangle : 336 x 280
  • Rectangle moyen : 300 x 250
  • Skyscraper : 120 x 600
  • Skyscraper large : 160 x 600

Conditions d'implémentation requises

Les éléments requis en matière d'implémentation d'annonces gadget sont fonction du type de gadget que vous souhaitez créer et sont décrits dans les différentes instructions d'implémentation du présent document. Voici une liste de ces éléments obligatoires, accompagnés des liens menant aux instructions correspondantes :
Gadget ads Google Instructions d'implémentation
Toutes les images doivent être mises en cache. Pour chaque image, suivez la procédure indiquée à la rubrique Intégration d'images.
Tous les objets Flash doivent être mis en cache. Pour chaque objet Flash, suivez la procédure indiquée à la rubrique Intégration d'objets Flash.
Toutes les vidéos doivent être hébergées sur des serveurs fiables tels que YouTube. Pour chaque vidéo, suivez la procédure indiquée à la rubrique Intégration de vidéos.
Un suivi des interactions doit être effectué. Suivez la procédure indiquée à la rubrique Suivi des interactions.
Un suivi des clics sur les liens de redirection doit être effectué. Suivez la procédure indiquée à la rubrique Suivi des clics.

Les différentes rubriques de ce document traitent de façon détaillée des conditions d'implémentation requises et de la manière de vous y conformer.

Mise en route

Puisque vous savez désormais en quoi consistent les éléments requis pour créer une annonce gadget, vous pouvez passer à la création proprement dite. Pour vous aider dans vos premiers pas, nous avons inclus des exemples d'annonces gadget dont vous pouvez vous inspirer pour commencer. Ces exemples sont incomplets, mais contiennent tous les éléments et attributs XML requis. Chaque fichier peut contenir un ensemble d'extraits de code qui répondent à différentes exigences d'implémentation. Selon le fichier choisi, l'ensemble d'extraits de code sera différent. Vous pouvez partir de ces morceaux de code pour les développer ou simplement reprendre quelques éléments de ces extraits afin de compléter votre propre gadget.

En vous servant des exemples ci-après comme point de départ, vous gagnez du temps. En effet, ces extraits de code, préprogrammés et déjà approuvés, devraient vous permettre d'accélérer le processus d'approbation qui suit l'envoi de votre annonce gadget à Google pour vérification.

Pour commencer rapidement, choisissez l'exemple d'annonce gadget approprié au type de gadget que vous souhaitez concevoir. Ensuite, téléchargez le code XML correspondant et apportez-lui les modifications nécessaires.
Exemple "coup de pouce" Description
AJAX
Extraits de code :
  • Suivi des clics en HTML
  • Suivi des interactions en HTML
AJAX + Flash
Extraits de code :
  • Suivi des clics en HTML
  • Suivi des interactions en HTML
  • Intégration d'objets Flash
AJAX + Flash + Vidéo
Extraits de code :
  • Suivi des clics en HTML
  • Suivi des interactions en HTML
  • Intégration d'objets Flash
  • Annonces vidéo diffusées en continu sur YouTube
Onglets Exemple d'annonce gadget contenant différents onglets, chaque onglet proposant différents types de contenu
Objet Flash unique Exemple d'annonce gadget intégrant un seul objet Flash aux dimensions identiques à celles de l'annonce
À compléter Les éléments XML requis sont présents, mais ils ne sont pas spécifiés

Utilisation de l'Éditeur d'annonces gadget

L'une des méthodes les plus rapides et les plus simples pour créer une annonce gadget est d'utiliser l'Éditeur d'annonces gadget de Google (GGAE). Cet éditeur est un outil de développement permettant de concevoir, tester et valider votre annonce gadget avant de l'envoyer pour vérification. Il se présente sous la forme d'un éditeur de texte dans lequel programmer vos gadgets et offre la possibilité d'enregistrer votre gadget et de l'héberger. En outre, vous pouvez télécharger des fichiers de l'éditeur vers les serveurs Google. En faisant héberger votre gadget par l'Éditeur d'annonces gadget, vous n'avez plus à vous soucier des problèmes de bande passante. Néanmoins, tous les éléments doivent être mis en cache, même les fichiers hébergés par l'Éditeur d'annonces gadget.

Avant d'envoyez votre annonce gadget pour vérification, vous devez la valider par l'intermédiaire de l'Éditeur d'annonces gadget. La fonctionnalité de validation intégrée recherche automatiquement les conditions requises pour vos gadget ads, telles que certains éléments XML requis mentionnés plus haut ou des conditions d'implémentation requises. Pour que Google puisse approuver très rapidement votre annonce, assurez-vous que la fonctionnalité de validation a bien été appliquée à votre gadget et que toutes les vérifications ont été faites.

Servez-vous de l'Éditeur d'annonces gadget pour créer vos gadget ads.

Suivi des clics

Toutes les gadget ads doivent proposer au moins un lien de redirection sur lequel les internautes peuvent cliquer pour être redirigés vers un autre site, généralement une page de destination. Pour déterminer le taux de clics de votre annonce gadget, vous devez effectuer le suivi de tous les clics générés par les liens de redirection spécifiés. Cela implique une légère modification d'implémentation au niveau de la définition des liens.

Normalement, en langage HTML, un lien de redirection se définit par la création d'une balise d'ancrage et la spécification de l'URL de destination dans l'attribut href. Exemple :

<a target="_top" href="http://mytargetdomain.com">Target Link</a>

Pour permettre le suivi des clics sur ce lien, il faut exécuter la redirection à l'aide de la fonction JavaScript suivante :

  • _ADS_ClickDestinationUrl(url)

    Transmettez ensuite l'URL de destination finale à la fonction dans le paramètre url. Lorsque cette fonction est appelée, un clic est comptabilisé et le lien redirige l'internaute vers la page de destination spécifiée.

Voici un lien similaire à celui présenté ci-dessus, mais pour lequel le suivi des clics est maintenant activé :

<a href="javascript:_ADS_ClickDestinationUrl('http://targetdestination.com');">Target Link</a>

Vous pouvez appeler cette fonction de n'importe quel emplacement afin de simuler un clic. Voici un exemple dans lequel le lien de redirection est un bouton :

<input onclick="javascript:_ADS_ClickDestinationUrl('http://targetdestination.com');" type="button" value="Target Link"/>

Clics en Flash

Pour créer des liens de redirection en Flash, il vous suffit d'appeler la fonction JavaScript à l'aide d'une programmation ActionScript. Pour cela, utilisez le code getURL(javascript:<JS_FUNCTION>). Exemple :

getURL(javascript:_ADS_ClickDestinationUrl('http://targetdestination.com');)

Activation du mode de débogage

Pour vous assurer que vos clics sont correctement configurés et qu'ils fonctionnent comme prévu, vous pouvez activer le mode de débogage en définissant sur "DEBUG" l'élément default_value pour la préférence utilisateur clickurl (section UserPref). Ainsi, un message de confirmation s'affiche chaque fois qu'un clic est détecté.

<UserPref name="clickurl" datatype="hidden" default_value="DEBUG"/>

En mode de débogage, la fonction _ADS_ClickDestinationUrl() génère une fenêtre pop-up contenant un message qui confirme la détection d'un clic. L'URL de destination s'affichant dans la zone de confirmation, la page de destination finale est clairement indiquée. Il est alors possible de continuer pour être redirigé vers cette URL de destination ou, au contraire, d'annuler la redirection pour ne pas quitter la page en cours de visualisation. Voici une capture d'écran illustrant ce cas de figure :

Remarque : Le mode de débogage est automatiquement désactivé une fois le gadget mis en ligne sur le réseau de contenu. Il est donc inutile de supprimer la valeur "DEBUG" avant de soumettre l'annonce gadget à Google pour vérification.

Suivi des interactions

Le suivi des interactions utilisateur est un élément très important dans les gadget ads. Contrairement aux annonces conventionnelles, il est fortement conseillé d'y utiliser un contenu riche en éléments interactifs et hautement incitatifs. Une annonce gadget performante est celle qui incite activement l'internaute à interagir avec le contenu de l'annonce. Lorsqu'un suivi de ces interactions est effectué, vous pouvez analyser les données obtenues et évaluer l'impact de l'annonce. Pour pouvoir disposer de ces données extrêmement utiles, vous devez instaurer un suivi sur le plus grand nombre d'interactions utilisateur possibles.

Pour comptabiliser les interactions dans votre annonce gadget, définissez des gestionnaires d'événements JavaScript qui se déclenchent pour chaque interaction dont vous souhaitez effectuer le suivi. Chaque gestionnaire d'événement doit exécuter une fonction de rappel sur l'une des fonctions JavaScript suivantes. Un appel envoie la détection d'un clic au serveur de suivi de Google et comptabilise l'interaction dans un rapport :

  • _ADS_ReportInteraction()

    Cette fonction n'est valable que dans le cas où vous souhaitez effectuer le suivi d'une seule interaction au sein de votre gadget. Il peut s'agir d'un bouton sur lequel cliquer pour lancer la lecture d'une vidéo ou d'un bouton permettant de démarrer le chargement d'un jeu en Flash. À chaque appel de cette fonction, une détection de clic est envoyée à notre serveur de suivi. Ces clics sont ensuite regroupés sous la rubrique "Interactions principales" de vos rapports d'interactions.

  • _ADS_ReportInteraction(name)

    Utilisez cette fonction dans le cas où vous souhaitez effectuer le suivi de plusieurs types d'interactions au sein de votre gadget. Le paramètre name doit correspondre à l'un des paramètres de la liste des interactions prises en charge.

  • _ADS_ReportInteraction(name, value)

    Servez-vous de cette fonction lorsque vous voulez transmettre une valeur correspondant au type d'interaction que vous souhaitez voir comptabilisé dans les rapports. Le paramètre name doit correspondre à l'un des paramètres de la liste des interactions prises en charge. Le paramètre value doit être un nombre positif.

Remarque : Si le paramètre name ne correspond à aucun des paramètres de la liste, les détections de clic concernées sont regroupées dans la section "Autres" de vos rapports d'interactions.

Dans l'exemple d'annonce gadget ci-après, des interactions sont transmises aux rapports d'interactions lorsque l'internaute place le pointeur de sa souris au-dessus d'un des quatre liens proposés et lorsqu'il clique sur l'un de ces liens. (Prévisualisation en contexte)

<?xml version="1.0" encoding="UTF-8"?>
<Module>
  <ModulePrefs title="My Items" width="300" height="250" thumbnail="">
    <Require feature="ads"/>
  </ModulePrefs>
  <UserPref datatype="hidden" name="clickurl" default_value=""/>
  <UserPref datatype="hidden" name="aiturl" default_value=""/>
  <Content type="html"><![CDATA[
    <a href="javascript:_ADS_ReportInteraction('item_1');" >Item 1</a>
    <br>
    <a href="javascript:_ADS_ReportInteraction('item_2');" >Item 2</a>
    <br>
    <a href="javascript:_ADS_ReportInteraction('item_3');" >Item 3</a>
    <br>
    <a href="javascript:_ADS_ReportInteraction('item_4');" >Item 4</a>
    
    <script>
      var mouseover_detected = false;
      document.body.onmouseover = function() {
        if (!mouseover_detected) {
          _ADS_ReportInteraction('mouse_over');
          mouseover_detected = true;
        }
      };
    </script>
  ]]></Content>
</Module>

Interactions en Flash

Pour effectuer le suivi des interactions dans vos applications Flash, appelez la fonction _ADS_ReportInteraction() à l'aide d'une programmation ActionScript. Ainsi, les détections de clic sont envoyées au serveur de suivi de Google. Exemple :

getURL("javascript:_ADS_ReportInteraction('mouse_over', 1);");

Activation du mode de débogage

Le suivi des interactions est un élément très important qu'il faut mettre en œuvre correctement. S'il n'est pas configuré de façon appropriée, vous risquez de ne pas recevoir autant de données que prévu dans vos rapports. Or, sans ces rapports, vous ne disposez d'aucun moyen de contrôle sur l'efficacité de votre annonce gadget. Pour vérifier que vos interactions sont dûment comptabilisées, activez le mode de débogage.

Pour activer le mode de débogage, définissez sur "DEBUG" l'élément default_value aiturl (section UserPref) :

<UserPref name="aiturl" datatype="string" default_value="DEBUG"/>

Le mode de débogage est alors activé pour le suivi des interactions, ce qui crée une petite mémoire tampon de débogage dans l'angle supérieur gauche de votre gadget. Une barre de titre contenant le lien "DEBUG" s'affiche en même temps qu'un message rendant compte du nombre d'éléments actuellement conservés. En cliquant sur ce lien, vous développez le conteneur et pouvez donc afficher les messages qu'il comprend. Le conteneur de la mémoire tampon est conçu de façon à s'afficher au-dessus de tout contenu HTML (texte, images, objets Flash et iFrames) afin d'être toujours visible.

Voici un aperçu en contexte d'un exemple d'annonce gadget pour lequel différents types d'interactions sont comptabilisés. Cliquez sur l'un des éléments interactifs du gadget pour vérifier que les interactions sont correctement transmises à la mémoire tampon.

À chaque comptabilisation d'une interaction via la fonction _ADS_ReportInteraction(), un message est écrit dans la mémoire tampon et le compteur est incrémenté en conséquence. Servez-vous de cette fonction pour tester votre annonce gadget et vous assurer que toutes les interactions sont dûment comptabilisées.

Remarque : Le mode de débogage est automatiquement désactivé une fois le gadget mis en ligne sur le réseau de contenu. Il est donc inutile de supprimer la valeur "DEBUG" avant de soumettre l'annonce gadget à Google pour vérification.

Extraction de contenu distant

L'un des points les plus intéressants des gadgets est leur capacité à récupérer du contenu distant sur des sites Web tiers et de l'afficher dans le gadget. L'API Google Gadgets propose actuellement trois fonctions pour y parvenir, selon le type de contenu extrait :

  • _IG_FetchContent(url, func)

    Cette fonction va chercher du contenu à l'url spécifiée et le renvoie sous forme de texte. Une fois qu'elle est de nouveau prête, elle appelle la fonction interne func(). Notez que la fonction _IG_FetchContent() est asynchrone, c'est-à-dire qu'elle renvoie immédiatement le contenu trouvé et n'appelle sa fonction interne qu'une fois le processus d'extraction de contenu effectué. Par conséquent, vous devez inclure l'intégralité du code dépendant de cette fonction dans la fonction de rappel ou dans des fonctions appelées par cette dernière.

  • _IG_FetchXmlContent(url, func) :

    Cette fonction va chercher du contenu à l'url spécifiée et le renvoie sous forme d'objet XML. Une fois qu'elle est de nouveau prête, elle appelle la fonction interne func(). Tout comme la fonction _IG_FetchContent(), elle est asynchrone.

  • _IG_FetchFeedAsJSON(url, func, num_entries, get_summaries) :

    Cette fonction va chercher le contenu de flux RSS/Atom à l'url spécifiée et le renvoie sous forme d'objet JSON. Une fois qu'elle est de nouveau prête, elle appelle la fonction interne func(). Elle récupère ensuite le nombre d'entrées de flux indiqué dans num_entries (par défaut, cette valeur est définie sur 3, mais elle peut être comprise entre 1 et 100), puis, le cas échéant, extrait des descriptions, en fonction de la valeur indiquée dans summaries (par défaut, cette valeur est définie sur False).

Exemple : extraction de contenu d'un flux Atom/RSS

Voici un exemple où la première entrée de flux est extraite du flux Atom de Google Actualités et son contenu renvoyé sous forme d'objet JSON. La fonction de rappel utilise ce contenu pour le renvoyer sous forme de code HTML généré à partir du titre, du lien et de la description de l'entrée.

<div id="out"></div>
<script>
  function callback(response) {
    // Retrieve first entry from the response
    var firstEntry = response.Entry[0];
    
    // Generate HTML using the entry's title, link, and summary
    _gel("out").innerHTML = [
      '<a href="' + firstEntry.Link + '">' + firstEntry.Title + '</a>',
      firstEntry.Summary,
    ].join("<br>");
  }
  
  // Fetch 1 entry from Google News Atom feed and include summaries
  _IG_FetchFeedAsJSON("http://news.google.com/?output=atom", callback, 1, true);
</script>

Pour une documentation plus détaillée, reportez-vous au Guide du développeur.

Intégration d'images

L'une des conditions requises dans les gadget ads est la mise en cache de toutes les images intégrées dans le gadget sur les serveurs Google. Les gadget ads sont supposées recevoir quotidiennement de grands volumes de trafic. Sans mise en cache, les fournisseurs d'hébergement des images seraient vite submergés de requêtes. Google vous propose donc deux fonctions JavaScript pour vous permettre de mettre en cache vos images de façon efficace. Pour cela, une étape d'implémentation supplémentaire est nécessaire.

Habituellement, une image est intégrée à un élément HTML à l'aide de balises <img>. Exemple :

<img src="http://www.google.com/intl/en_ALL/images/logo.gif"/>

Pour mettre vos images en cache, vous devez utiliser l'une des fonctions ci-après et extraire l'image mise en cache ou l'URL source de cette image en JavaScript pour l'ajouter à votre gadget. C'est alors qu'intervient l'étape d'implémentation supplémentaire.

  • _IG_GetImage(url)

    Renvoie une image au format HTML après l'avoir extraite du serveur cache de Google. Le paramètre url doit être remplacé par l'URL absolue de l'image.

  • _IG_GetImageUrl(url)

    Renvoie l'URL du serveur où est hébergée la version mise en cache de l'image spécifiée par l'élément url de la fonction.

Vous pouvez utiliser les deux fonctions ci-dessus de manières différentes afin d'intégrer les images mises en cache dans votre gadget. Voici un exemple illustrant l'une des manières de mettre en cache votre image :

<img id="logoImg" src=""/>
<script>
  _gel("logoImg").src = _IG_GetImageUrl("http://www.google.com/intl/en_ALL/images/logo.gif");
</script>

Voici une autre manière de mettre en cache votre image à l'aide de l'autre fonction :

<div id="logoContainer"></div>
<script>
  _gel("logoContainer").appendChild(_IG_GetImage("http://www.google.com/intl/en_ALL/images/logo.gif"));
</script>

Images d'arrière-plan

L'utilisation de balises <img> n'est pas la seule façon d'intégrer des images à un gadget. Voici un exemple de mise en cache d'une image d'arrière-plan de propriétés CSS :

<div id="panel">This content has a background image</div>
<script>
  _IG_RegisterOnloadHandler(function() {
    _gel("panel").style.background = "transparent url(" + _IG_GetImageUrl("http://www.google.com/intl/en_ALL/images/logo.gif") + ") 0px 0px no-repeat";
  });
</script>

Intégration d'objets Flash

Si votre annonce gadget intègre du contenu Flash, vous devez utiliser notre bibliothèque Flash. Cette bibliothèque permet non seulement de vérifier que l'intégration se fait correctement sur plusieurs navigateurs, mais également de mettre en cache le contenu Flash. La mise en cache de contenu Flash est obligatoire : elle garantit la bonne performance de votre gadget et empêche la surcharge des serveurs d'hébergement.

Commencez par ajouter l'élément <Require feature="flash"/> au code XML de votre gadget dans la section ModulePrefs :

<ModulePrefs title="Gadget Ad" ... >
  <Require feature="ads"/>
  <Require feature="flash"/>
</ModulePrefs>

Ainsi, vous pouvez utiliser la bibliothèque Flash qui comprend la fonction JavaScript _IG_EmbedFlash(). L'intégralité du contenu Flash intégré devant être mis en cache lorsqu'il s'agit d'annonces gadget, vous devez utiliser une autre fonction JavaScript mentionnée ci-après pour intégrer votre contenu Flash :

  • _IG_EmbedCachedFlash(swf_url, swf_container, opt_params)

    Elle intègre le fichier .swf spécifié par swf_url et en affiche le contenu à l'emplacement du gadget indiqué dans swf_container. Le paramètre opt_params correspond à un objet qui peut éventuellement inclure plusieurs paramètres de l'objet Flash (largeur et hauteur de l'objet, par exemple). Cette fonction accepte les mêmes paramètres que la fonction _IG_EmbedFlash(). Pour une description complète de ces paramètres, reportez-vous à la rubrique relative au contenu Flash dans le Guide du développeur.

Voici un exemple illustrant l'utilisation de cette fonction pour intégrer un objet Flash mis en cache dans votre gadget :

<div id="container"></div>
<script>
  _IG_EmbedCachedFlash('http://www.mysite.com/flash.swf', 'container', {
    swf_version: 6,
    width: 300,
    height: 250
  });
</script>

Mise en cache des ressources enfants intégrées aux objets Flash

Les objets Flash peuvent inclure des ressources enfants telles que des images et d'autres objets Flash. Toutes les ressources intégrées des gadget ads doivent être mises en cache afin d'empêcher la surcharge des serveurs d'hébergement. Il existe deux catégories de ressources intégrées :

  1. les ressources intégrées hébergées sur le même domaine que le fichier Flash parent, qui peuvent être référencées par un chemin d'accès relatif ;
  2. les ressources intégrées hébergées par un domaine tiers, qui doivent être référencées par un chemin d'accès absolu.

Selon la catégorie de la ressource, la procédure de mise en cache est légèrement différente.

Hébergement sur un même domaine

Les ressources de la première catégorie sont hébergées sur le même domaine que l'objet Flash qui y accède. Ces ressources peuvent être référencées à l'aide d'un chemin d'accès relatif. Tous les fichiers Flash extraits par la fonction _IG_EmbedCachedFlash() mettent automatiquement en cache toute ressource enfant intégrée qui utilise le même chemin d'accès relatif. Lorsque le fichier Flash parent est intégré à l'aide de la fonction _IG_EmbedCachedFlash(), il vous suffit de référencer les ressources enfants à l'aide de chemins d'accès relatifs. Ces ressources sont alors automatiquement mises en cache et aucune action supplémentaire n'est requise.

Domaine tiers

Les ressources de la seconde catégorie sont hébergées sur un autre domaine. Ces ressources pouvant uniquement être référencées à l'aide d'un chemin d'accès absolu à la source, elles ne sont pas automatiquement mises en cache. Pour activer la mise en cache, vous devez appliquer la fonction escape à l'URL de la ressource et ajouter le résultat obtenu à /ig/proxy?url=. L'URL ainsi construite doit être du type :

/ig/proxy?url=<ESCAPED_RESOURCE_URL>

Voici un extrait de code sur la façon dont les URL de ressource doivent être construites en Flash à l'aide d'une programmation ActionScript :

"/ig/proxy?url=" + escape("http://thirdpartydomain.com/child_flash.swf")

Utilisation de la méthode FlashVars pour transmettre des variables aux objets Flash

FlashVars vous permet de transmettre des variables à votre fichier Flash. Grâce à une programmation ActionScript, vous devez pouvoir accéder à toutes les variables et les utiliser dans votre application Flash.

Votre objet Flash doit être intégré à l'aide de la fonction _IG_EmbedCachedFlash(). Vous pouvez définir la méthode FlashVars en ajoutant une propriété au troisième objet paramètre. Le nom de la propriété doit être flashvars. Attribuez à la nouvelle propriété ainsi créée une chaîne constituée de paires de valeurs name=escaped(value) séparées par des symboles &. Chaque paire name=escaped(value) représente une variable qui sera transmise à l'objet Flash.

La chaîne flashvars doit être du type :

var1=value1&var2=value2&var3=value3&var4=value

Remarque : Lors de la création de la chaîne flashvars, assurez-vous que chaque élément value est correctement encodé à l'aide de la fonction _esc(). Pour obtenir la liste complète des raccourcis de fonctions, reportez-vous à la rubrique Références du Guide du développeur pour l'API Google Gadgets.

Voici un exemple d'implémentation :

_IG_EmbedCachedFlash('http://www.mysite.com/flash.swf', 'container', {
    width: 300,
    height: 250,
    flashvars: 'var1=' + _esc('value1') + '&var2=' + _esc('value2') + '&var3=' + _esc('value3') + '&var4=' + _esc('value')
  });

Intégration de vidéos

Dans le cadre des gadget ads, nous vous recommandons vivement l'hébergement de votre vidéo sur YouTube. Reportez-vous aux instructions nécessaires au téléchargement de vidéos si vous n'y êtes pas habitué. L’hébergement d’une vidéo sur YouTube vous permet de disposer de la capacité suffisante à la gestion du trafic et du volume de chargement générés par votre annonce gadget. Une fois votre vidéo hébergée, vous pouvez utiliser le lecteur de vidéos avancé de YouTube ou la lecture en continu dans un lecteur Flash personnalisé.

Utilisation du lecteur YouTube pour la lecture des vidéos

Pour utiliser le lecteur de vidéos de YouTube dans votre annonce gadget, rien de plus simple. En effet, le lecteur YouTube est une simple application Flash que vous pouvez facilement intégrer à votre gadget, à l'emplacement de votre choix. Pour cela, procédez comme suit :

  1. Recherchez la vidéo que vous souhaitez utiliser sur YouTube. Si elle est introuvable, téléchargez-la dès à présent. Si vous avez besoin d'aide, consultez la rubrique relative au téléchargement de vidéos dans le centre d'aide de YouTube.
  2. Une fois que votre vidéo apparaît sur YouTube, retrouvez l'identifiant correspondant. Vous trouverez celui-ci à la fin de l'URL de votre vidéo. Voici, par exemple, l'URL d'une vidéo sélectionnée au hasard sur YouTube et dont l'identifiant apparaît en gras :
    http://www.youtube.com/watch?v=aB_c2RwpbXU
  3. Le lecteur de vidéo propre à YouTube se trouve à l'emplacement suivant :
    http://www.youtube.com/v/YOUTUBE_VIDEO_ID

    Dans cette URL, remplacez YOUTUBE_VIDEO_ID par l'identifiant de votre vidéo. L'URL ainsi obtenue pointe vers le lecteur Flash YouTube chargé de la lecture de la vidéo correspondant à l'identifiant indiqué. Vous pouvez intégrer cette URL où bon vous semble dans votre gadget, à l'image de n'importe quelle autre application Flash.

Utilisation de votre propre lecteur Flash pour la lecture des vidéos YouTube

Vous pouvez bien sûr utiliser votre propre lecteur Flash pour la lecture des vidéos hébergées sur YouTube. Pour cela, il vous suffit de vous munir de l'URL pointant vers la vidéo FLV hébergée sur les serveurs YouTube. Vous pouvez ensuite utiliser cette URL pour une lecture en continu de votre vidéo par votre propre lecteur Flash. Vous vous dégagez ainsi des difficultés liées à l'hébergement d'une source vidéo sur vos propres serveurs. La diffusion continue est également le gage d'un fichier de petite taille, car il n'est pas stocké sur un disque dur.

Création d'une URL FLV

Avant toute chose, vous devez créer l'URL FLV de votre vidéo. Cette opération ne peut être effectuée qu'au sein du gadget. Elle sera ensuite transmise à l'application Flash par l'intermédiaire de la propriété flashvars. Voici l'ensemble des éléments constituant l'URL :

http://www.youtube.com/get_video?video_id=YOUTUBE_VIDEO_ID&ts=TIMESTAMP&t=YOUTUBE_SIGNATURE&gad=1
  • YOUTUBE_VIDEO_ID : remplacez ce champ par l'identifiant de la vidéo YouTube. Lorsque vous visualisez la vidéo sur YouTube, l'identifiant est affiché dans l'URL correspondante. Exemple : http://www.youtube.com/watch?v=aB_c2RwpbXU
  • TIMESTAMP : remplacez cet élément par __ENV_time_secs_since_epoch__. Cette chaîne vous permet d'intégrer le temps écoulé en secondes depuis une époque donnée.
  • YOUTUBE_SIGNATURE : remplacez cet élément par __YOUTUBE_VIDEO_TEST(YOUTUBE_VIDEO_ID)__. Indiquez le même identifiant de vidéo YouTube que vous avez indiqué plus haut. Cette chaîne constitue une signature spécifique à votre vidéo YouTube, générée à partir de son identifiant.

Utilisation de l'URL FLV

Maintenant que vous avez créé l'URL FLV de votre vidéo, vous devez la transmettre à votre lecteur Flash. Intégrez votre lecteur Flash en utilisant la fonction _IG_EmbedCachedFlash() et créez une propriété flashvars spécifiant l'URL FLV.
*** Make sure to escape all flashvar values. ***

var flvUrl = "http://www.youtube.com/get_video?video_id=C5rTJkfBhbQ&ts=__ENV_time_secs_since_epoch__&t=__YOUTUBE_VIDEO_TEST(C5rTJkfBhbQ)__&gad=1";
_IG_EmbedCachedFlash("http://examplesite.com/myplayer.swf", "vid", {
    swf_version: 8, 
    width: 300, 
    height: 250, 
    flashvars: 'flvURL=' + _esc(flvUrl)
  });

Lecture d'un fichier FLV à l'aide d'une programmation ActionScript

  1. Créez un nouvel objet Flash de la taille de votre annonce vidéo.
  2. Ouvrez le volet "Bibliothèque" ("Fenêtre" > "Bibliothèque"). Cliquez sur "Nouvelle vidéo" dans le menu contextuel qui s'affiche. Dans la boîte de dialogue "Propriétés de la vidéo", attribuez un nom au symbole correspondant à la vidéo et sélectionnez "Vidéo (contrôlée par ActionScript)". Cliquez sur "OK" pour créer l'objet vidéo.
  3. Faites glisser l'objet vidéo du volet "Bibliothèque" vers le "Plateau" pour créer une instance d'objet vidéo. Une fois l'objet vidéo sélectionné sur le "Plateau", entrez "vid" dans la zone de texte "Nom de l'instance" de l'"Inspecteur de propriété" ("Fenêtre > Propriétés > Propriétés").
  4. Sélectionnez le "Cadre 1" dans "Chronologie" et ouvrez le volet "Actions" ("Fenêtre > Actions"). Entrez le code suivant dans le volet "Actions" :
    // retrieve FlashVars variables
    var flv = flvURL;
    
    // create a NetConnection object
    var nc = new NetConnection();
    
    // NetConnection provides playback of streaming FLVs from a local drive or a remote HTTP address.
    // By supplying its connect function with a null parameter, we avoid dependence
    // on Flash Communication Server (aka Flash Media Server) in order to play
    // video hosted on YouTube.
    nc.connect(null);
    
    // create a NetStream object
    var ns = new NetStream(nc);
    
    // NetStream handles the video stream for NetConnection. The video player 
    // instance "vid" cooperates with NetStream and NetConnection by 
    // calling the attachVideo() function.
    vid.attachVideo(ns);
    
    // call NetStream.play() to load the external FLV. The video will start 
    // playing before the file is fully downloaded.
    ns.play(flv);
    };
    stop();

Exemple

Cet exemple de gadget diffuse des vidéos hébergées sur YouTube à l'aide d'un lecteur propre au gadget.

Étude de cas : annonce gadget Gmail simplifiée

L'annonce gadget Gmail est un gadget qui rencontre énormément de succès et recueille environ 1,4 millions de visites par semaine. Il est facile à ajouter à votre page d'accueil ou à intégrer à d'autres pages Web. Le meilleur moyen d'apprendre à créer des gadget ads efficaces est d'en concevoir une vous-même. Nous vous proposons donc d'élaborer une version simplifiée de notre annonce gadget Gmail. Nous ne reproduirons pas ici l'intégralité des fonctionnalités du gadget d'origine. Néanmoins, une fois cette version simplifiée créée, vous aurez appris à concevoir un gadget incluant une vidéo Gmail, le logo Gmail et un lien de redirection vers la page d'inscription à un compte Gmail.

Ressources à préparer

Lorsque vous créez un gadget, il vous faut identifier les différentes ressources dont vous allez avoir besoin. Ces ressources peuvent être de différentes natures : images, URL, objets Flash, etc., soit tout contenu qu'il est possible d'intégrer dans un gadget classique. Normalement, c'est à vous de trouver et/ou de créer les ressources nécessaires à l'élaboration de votre gadget. Pour cet exemple, supposons que vous ayez créé les ressources répertoriées ci-dessous :

Point de départ

Commençons avec un modèle de gadget vide. L'image d'arrière-plan est de 300 x 250 pixels. Définissons donc la largeur du gadget sur 300 pixels et la hauteur sur 250 pixels en assignant respectivement ces valeurs aux attributs width et height dans la section ModulePrefs. Étant donné que nous nous trouvons dans la phase de développement du gadget, vérifiez que vous avez activé le mode de débogage pour le suivi des clics et des interactions.

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Simple Gmail Gadget Ad" width="300" height="250" thumbnail="">
    <Require feature="ads"/>
  </ModulePrefs>
  <UserPref name="clickurl" datatype="hidden" default_value="DEBUG"/>
  <UserPref name="aiturl" datatype="hidden" default_value="DEBUG"/>
  <Content type="html"><![CDATA[
  ]]></Content>
</Module>

Présentation du contenu

L'image d'arrière-plan détermine la façon dont le contenu du gadget va être agencé. Nous voulons faire de l'annonce vidéo Gmail l'élément central de ce gadget. Nous la placerons donc dans la zone centrale du gadget, l'image d'arrière-plan le permettant. Deux icônes ont été placées en haut de l'image : "Vidéos" et "Trucs et astuces". Elles ne nous serviront pas ici, mais nous allons profiter de l'espace disponible à droite de ces icônes. Nous pourrons y placer un lien de redirection des internautes vers la page d'inscription à Gmail.

En langage HTML, il est possible d'utiliser des tableaux pour organiser et présenter du contenu par-dessus certaines zones d'une image d'arrière-plan.

  1. Créez un tableau HTML et définissez l'image d'arrière-plan sur http://www.labpixies.com/gadgads/gmail/images/background.png. Pour faire coïncider la largeur du tableau avec celle de l'image d'arrière-plan, indiquez une largeur de 300 pixels.
  2. Dans ce tableau, créez deux lignes : une pour le titre et une pour la zone centrale du gadget. Définissez la hauteur de la ligne de titre sur 30 pixels, puis définissez celle de la zone centrale de sorte qu'elle occupe l'espace restant en hauteur, à savoir environ 220 pixels. Les deux lignes doivent s'ajuster de façon à occuper l'intégralité de l'espace du gadget en hauteur.
  3. Momentanément, vous pouvez afficher les bordures du tableau afin de vérifier que vous avez correctement ajusté les deux lignes du tableau. N'oubliez pas de supprimer ces bordures lorsque vous n'en aurez plus besoin.

Le code de votre gadget doit maintenant ressembler au code suivant :

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Simple Gmail Gadget Ad" width="300" height="250" thumbnail="">
    <Require feature="ads"/>
  </ModulePrefs>
  <UserPref name="clickurl" datatype="hidden" default_value="DEBUG"/>
  <UserPref name="aiturl" datatype="hidden" default_value="DEBUG"/>
  <Content type="html"><![CDATA[
    <table width="300" id="main" border=1 cellspacing=0 cellpadding=0>
      <tr height="30">
        <td></td>
      </tr>
      <tr height="220">
        <td></td>
      </tr>
    </table>
    
    <script>
      _IG_RegisterOnloadHandler(function() {
        // Cache the background image of the table
        _gel("main").style.background = "transparent url(" + _IG_GetImageUrl("http://www.labpixies.com/gadgads/gmail/images/background.png") + ")";
      });
    </script>
  ]]></Content>
</Module>

Ajout de la vidéo d'annonce Gmail

Dans la ligne correspondant à la zone centrale du gadget, intégrons l'annonce vidéo Gmail. Cette ligne mesure 300 x 220 pixels. Assurez-vous de définir les dimensions de la vidéo intégrée en fonction de ces mesures. Vous pouvez essayer différentes dimensions afin de créer une marge plus ou moins large autour.

  1. Étant donné que nous allons utiliser la bibliothèque Flash pour intégrer la vidéo YouTube au gadget, ajoutez la balise <Require feature="flash"/> dans la section <ModulePrefs>.
  2. Ajoutez un élément conteneur dans la cellule principale du tableau où la vidéo sera diffusée.
  3. Définissez l'alignement vertical de cette cellule sur top. Ainsi, la vidéo sera accolée directement à la bordure supérieure de la cellule.
  4. Enfin, servez-vous de la fonction _IG_EmbedCachedFlash() pour insérer l'objet Flash en JavaScript. N'oubliez pas de définir la largeur et la hauteur de la vidéo intégrée afin qu'elle soit adaptée aux dimensions du gadget.
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Simple Gmail Gadget Ad" width="300" height="250" thumbnail="">
    <Require feature="ads"/>
    <Require feature="flash"/>
  </ModulePrefs>
  <UserPref name="clickurl" datatype="hidden" default_value="DEBUG"/>
  <UserPref name="aiturl" datatype="hidden" default_value="DEBUG"/>
  <Content type="html"><![CDATA[
    <table width="300" id="main" border=0 cellspacing=0 cellpadding=0>
      <tr height="30">
        <td></td>
      </tr>
      <tr height="220">
        <td valign=top>
          <div id="video"></div>
        </td>
      </tr>
    </table>
    
    <script>
      _IG_RegisterOnloadHandler(function() {
        // Cache the background image of the table
        _gel("main").style.background = "transparent url(" + _IG_GetImageUrl("http://www.labpixies.com/gadgads/gmail/images/background.png") + ")";
        
        // Embed the Gmail video from YouTube
        _IG_EmbedCachedFlash("http://www.youtube.com/v/_YUugB4IUl4", _gel("video"), {
            width: 300,
            height: 210
          });
      });
    </script>
  ]]></Content>
</Module>

Insertion du lien d'inscription à Gmail

Dans l'angle supérieur droit encore libre, il est possible de créer un lien qui permettra de rediriger les internautes vers la page Web d'inscription à Gmail. En outre, nous souhaitons qu'un suivi des clics sur ce lien Gmail soit effectué. Il nous faut donc utiliser la fonction _ADS_ClickDestinationUrl() pour créer la redirection.

Dans cet exemple, les deux icônes "Vidéos" et "Trucs et astuces" placées en haut de l'image ne sont pas utilisées. Pour positionner le lien à droite de ces icônes, il suffit d'ajouter de l'espace à gauche, dans la cellule de tableau correspondante, et ainsi, de déplacer le lien vers la droite jusqu'à ce qu'il ait dépassé les icônes. Faites quelques essais pour déterminer l'espace nécessaire. Le tableau mesurant 300 pixels de large, vous pouvez commencer par un positionnement à 200 pixels, par exemple.

  1. Créez une nouvelle balise d'ancrage dans la cellule correspondant à la première ligne du tableau et utilisez la fonction _ADS_ClickDestinationUrl().
  2. À l'aide de l'attribut style, ajoutez de l'espace à gauche de la cellule. Faites plusieurs essais jusqu'à ce que le lien soit correctement positionné, à droite des icônes.
  3. Si les bordures du tableau sont toujours affichées, masquez-les : vous n'en aurez plus besoin.

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Simple Gmail Gadget Ad" width="300" height="250" thumbnail="">
    <Require feature="ads"/>
    <Require feature="flash"/>
  </ModulePrefs>
  <UserPref name="clickurl" datatype="hidden" default_value="DEBUG"/>
  <UserPref name="aiturl" datatype="hidden" default_value="DEBUG"/>
  <Content type="html"><![CDATA[
    <table width="300" id="main" border=0 cellspacing=0 cellpadding=0>
      <tr height="30">
        <td style="padding-left: 190px; font-size: 12px;">
          <a href="javascript:_ADS_ClickDestinationUrl('http://mail.google.com/mail/help/open.html#utm_campaign=en&utm_source=en-ha-na-us-gadget&utm_medium=ha')">Sign up for Gmail</a>
        </td>
      </tr>
      <tr height="220">
        <td align=center valign=top>
          <div id="video"></div>
        </td>
      </tr>
    </table>
    
    <script>
        // Cache the background image of the table
        _gel("main").style.background = "transparent url(" + _IG_GetImageUrl("http://www.labpixies.com/gadgads/gmail/images/background.png") + ")";
        
        // Embed the Gmail video from YouTube
        _IG_EmbedCachedFlash("http://www.youtube.com/v/_YUugB4IUl4", _gel("video"), {
            width: 250,
            height: 210
          });
      });
    </script>
  ]]></Content>
</Module>

Activation du suivi des interactions

Enfin, chaque fois qu'un internaute place le pointeur de sa souris sur l'annonce, une interaction doit être comptabilisée. Pour cela, il faut lier le gestionnaire d'événement JavaScript mouseover au corps du gadget. Dans la fonction de rappel, appelez _ADS_ReportInteraction() pour comptabiliser l'interaction. Il s'agit de comptabiliser uniquement la première fois où le pointeur de la souris est placé sur l'annonce (premier "mouseover"). Créez une variable générique qui peut être marquée dès la première détection du pointeur et définissez l'appel de la fonction _ADS_ReportInteraction() uniquement si la variable n'a pas été marquée.

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Simple Gmail Gadget Ad" width="300" height="250" thumbnail="">
    <Require feature="ads"/>
    <Require feature="flash"/>
  </ModulePrefs>
  <UserPref name="clickurl" datatype="hidden" default_value="DEBUG"/>
  <UserPref name="aiturl" datatype="hidden" default_value="DEBUG"/>
  <Content type="html"><![CDATA[
    <table width="300" id="main" border=0 cellspacing=0 cellpadding=0>
      <tr height="30">
        <td style="padding-left: 190px; font-size: 12px;">
          <a href="javascript:_ADS_ClickDestinationUrl('http://mail.google.com/mail/help/open.html#utm_campaign=en&utm_source=en-ha-na-us-gadget&utm_medium=ha')">Sign up for Gmail</a>
        </td>
      </tr>
      <tr height="220">
        <td align=center valign=top>
          <div id="video"></div>
        </td>
      </tr>
    </table>
    
    <script>
      // Track initial mouseover the ad
      var mouseover_hit = false;
      _IG_AddDOMEventHandler(document.body, 'mouseover', function() {
        if (!mouseover_hit) {
          _ADS_ReportInteraction('mouse_over');
          mouseover_hit = true;
        }
      });
      
      // Cache the background image of the table
      _gel("main").style.background = "transparent url(" + _IG_GetImageUrl("http://www.labpixies.com/gadgads/gmail/images/background.png") + ")";
      
      // Embed the Gmail video from YouTube
      _IG_EmbedCachedFlash("http://www.youtube.com/v/_YUugB4IUl4", _gel("video"), {
          width: 250,
          height: 210
        });
    </script>
  ]]></Content>
</Module>

Étape finale

Félicitations. Vous venez de créer votre première annonce gadget. Vous trouverez ci-après une version finalisée et opérationnelle de cette annonce gadget (ajouter maintenant) :

Documentation

Références

Bibliothèque JavaScript

Vous trouverez ci-après une liste descriptive des fonctions JavaScript prises en charge par l'API Google Gadgets et particulièrement utiles pour les gadget ads Google.

Fonction Description
_ADS_ReportInteraction(opt_name, opt_value) Envoie l'interaction détectée au serveur de suivi de façon à assurer une comptabilisation des interactions utilisateur dans les gadget ads. Les paramètres valides sont les suivants :
  • opt_name : nom de l'interaction à comptabiliser. Ce nom doit être sélectionné parmi ceux de la liste d'interactions prise en charge. Si le nom de l'interaction n'est pas répertorié dans cette liste, les interactions correspondantes seront regroupées dans la section "Autres" du rapport.
  • opt_value : nombre positif à comptabiliser dans le rapport relatif à une interaction donnée, définie par le paramètre opt_name.

Elle peut être appelée de trois manières :
  • par la fonction _ADS_ReportInteraction(), pour le suivi d'une seule interaction ;
  • par la fonction _ADS_ReportInteraction(name), pour le suivi de plusieurs interactions ;
  • par la fonction _ADS_ReportInteraction(name, value), pour le suivi de plusieurs interactions et la transmission de la valeur détectée afin qu'elle soit comptabilisée dans les rapports.
_ADS_ClickDestinationUrl(dest_url) Signale un clic et redirige vers l'emplacement spécifié par le paramètre dest_url. Les paramètres valides sont les suivants :
  • dest_url : URL de destination de la redirection.
_IG_EmbedCachedFlash(swf_url, swf_container, opt_params) Intègre une version en cache de l'objet Flash spécifié par le paramètre swf_url et met automatiquement en cache toutes les ressources enfants référencées par un chemin d'accès relatif. Il s'agit d'une extension de la fonction _IG_EmbedFlash(). Pour plus d'informations, reportez-vous à la bibliothèque Flash de référence.
_IG_GetImage(url)
_IG_GetImageUrl(url)
À utiliser pour mettre en cache les images intégrées. Pour plus d'informations, reportez-vous à la rubrique Références du Guide du développeur pour l'API Google Gadgets.

Liste des interactions

Catégorie Nom Description
Supports multimédia play L'internaute lance la lecture d'un fichier multimédia
Supports multimédia pause L'internaute fait une pause dans la lecture d'un fichier multimédia
Supports multimédia stop L'internaute met fin à la lecture d'un fichier multimédia
Supports multimédia unmute L'internaute active le son
Supports multimédia mute L'internaute désactive le son
Supports multimédia completion Fin d'un fichier vidéo, audio ou de jeu
Supports multimédia restart L'internaute relance la lecture d'un fichier vidéo ou audio
Supports multimédia drag L'internaute déplace l'indicateur de progression d'un flux vidéo ou audio
Supports multimédia next L'internaute clique pour lancer la vidéo suivante dans une série de fichiers multimédia
Supports multimédia previous L'internaute clique pour lancer la vidéo précédente dans une série de fichiers multimédia
Supports multimédia video_1 L'internaute clique sur la première vidéo d'une série de fichiers vidéo
Supports multimédia video_2 L'internaute clique sur la deuxième vidéo d'une série de fichiers vidéo
Supports multimédia video_3 L'internaute clique sur la troisième vidéo d'une série de fichiers vidéo
Supports multimédia video_4 L'internaute clique sur la quatrième vidéo d'une série de fichiers vidéo
Supports multimédia video_5 L'internaute clique sur la cinquième vidéo d'une série de fichiers vidéo
Supports multimédia audio_1 L'internaute clique sur le premier fichier audio d'une série de fichiers audio
Supports multimédia audio_2 L'internaute clique sur le deuxième fichier audio d'une série de fichiers audio
Supports multimédia audio_3 L'internaute clique sur le troisième fichier audio d'une série de fichiers audio
Supports multimédia audio_4 L'internaute clique sur le quatrième fichier audio d'une série de fichiers audio
Supports multimédia audio_5 L'internaute clique sur le cinquième fichier audio d'une série de fichiers audio
Généralités mouse_over L'internaute place le pointeur de la souris sur l'une des zones de l'annonce
Général page_backward L'internaute clique pour avancer d'une page dans l'annonce
Général page_forward L'internaute clique pour reculer d'une page dans l'annonce
Général tab_1 L'internaute clique sur le premier onglet d'une annonce
Général tab_2 L'internaute clique sur le deuxième onglet d'une annonce
Général tab_3 L'internaute clique sur le troisième onglet d'une annonce
Général tab_4 L'internaute clique sur le quatrième onglet d'une annonce
Général tab_5 L'internaute clique sur le cinquième onglet d'une annonce
Général destination_url_1 L'internaute clique sur le premier lien externe
Général destination_url_2 L'internaute clique sur le deuxième lien externe
Général destination_url_3 L'internaute clique sur le troisième lien externe
Général destination_url_4 L'internaute clique sur le quatrième lien externe
Général destination_url_5 L'internaute clique sur le cinquième lien externe
Général scroll L'internaute se sert de la barre de défilement dans l'annonce
Général submit_zip L'internaute donne son code postal
Général change_zip L'internaute modifie son code postal dans l'annonce
Général find_location L'internaute clique pour rechercher un magasin ou un autre lieu particulier
Général igoogle_add L'internaute clique pour ajouter l'annonce gadget à sa page iGoogle
Général search_submit L'internaute effectue une recherche
Général view_detail L'internaute clique pour en apprendre davantage sur un produit, un article, etc.
Général browse L'internaute clique pour parcourir une galerie, une liste, etc.
Général dropdown L'internaute se sert d'un menu déroulant de l'annonce
Général item_1 L'internaute clique sur le premier élément d'une liste
Général item_2 L'internaute clique sur le deuxième élément d'une liste
Général item_3 L'internaute clique sur le troisième élément d'une liste
Général item_4 L'internaute clique sur le quatrième élément d'une liste
Général item_5 L'internaute clique sur le cinquième élément d'une liste
Général zoom_in L'internaute se sert de la fonction de zoom avant sur un objet ou une image
Général zoom_out L'internaute se sert de la fonction de zoom arrière sur un objet ou une image
Général vote L'internaute envoie un avis ou un vote
Général print L'internaute clique pour imprimer un élément
Général subscribe L'internaute s'inscrit à une liste de diffusion ou s'abonne à un flux
Général submit L'internaute envoie des données
Général add L'internaute clique pour ajouter un élément à un panier électronique ou à une liste d'achats
Général remove L'internaute clique pour supprimer un élément d'un panier électronique ou d'une liste d'achats
Cartes load_map L'internaute lance le chargement d'une carte
Cartes load_traffic L'internaute lance le chargement de données relatives au trafic dans une carte
Commerce view_cart L'internaute clique pour visualiser son panier électronique
Commerce next_item L'internaute clique pour afficher l'élément suivant dans une liste ou une galerie de produits
Commerce previous_item L'internaute clique pour afficher l'élément précédent dans une liste ou une galerie de produits
Commerce buy L'internaute clique pour acheter un article
Commerce select_category L'internaute clique pour sélectionner une catégorie