{"id":1195,"date":"2009-11-26T18:07:28","date_gmt":"2009-11-26T17:07:28","guid":{"rendered":"http:\/\/flaven.fr\/?p=1195"},"modified":"2026-09-16T11:49:46","modified_gmt":"2026-09-16T09:49:46","slug":"google-analytics-flex-faire-des-mesures-statistiques-dans-une-application-flex","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2009\/11\/google-analytics-flex-faire-des-mesures-statistiques-dans-une-application-flex\/","title":{"rendered":"Google Analytics, Flex &#8211; Faire des mesures statistiques dans une application Flex"},"content":{"rendered":"<p><!-- Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash  --><br \/>\n<!--  Google Analytics, Flash, Flex, actionscript, javascript, RIA --><br \/>\nL&#8217;utilisation de Google Analytics comme outil de mesure statistique pour un site s&#8217;est aujourd&#8217;hui g\u00e9n\u00e9ralis\u00e9e, les articles sur ce blog en t\u00e9moignent. N\u00e9anmoins, l&#8217;enjeu est de taille avec la multiplication des interfaces en <code>Flex<\/code> qui concurrencent directement le march\u00e9 du &#8220;desktop&#8221;, tenu encore mais pour combien de temps par Microsoft.<!--more--> La prolif\u00e9ration des interfaces &#8220;flexibles&#8221; pourrait d\u00e9pendre de 2 raisons \u00e9conomiques \u00e9videntes :<\/p>\n<ul>\n<li>La valorisation de l&#8217;audience d&#8217;un site aussi enrichie soit-il se fera avant tout sur sa capacit\u00e9 \u00e0 pister (tracker) les comportements des utilisateurs, c&#8217;est \u00e0 dire \u00e0 rendre en statistiques les micro d\u00e9cisions qui poussent les utilisateurs\/consommateurs \u00e0 aller \u00e0 gauche plut\u00f4t qu&#8217;\u00e0 droite&#8230; Comme une vache \u00e0 l&#8217;abattoir serions-nous tenter d&#8217;ajouter ! Oui, internet est un espace marchand o\u00f9 le comportement et son d\u00e9cryptage sont des valeurs en croissance constante.<\/li>\n<li>La souplesse d&#8217;un site &#8220;flexible&#8221; \u00e0 s&#8217;interfacer simplement, en deux coups de code, aux API environnantes tel que Google (Maps, Analytics pour ne citer que les principales&#8230;) semble la cl\u00e9 du succ\u00e8s d&#8217;un site. Cela semble vrai que ce soit en Flex ou dans toute autre technologie. Nous avons cit\u00e9 naturellement Google bien que nous n&#8217;ayons pas d&#8217;actions, on pourrait tout aussi parler de Facebook, Twitter, Tumblr, Flickr&#8230; Bien que nous n&#8217;ayons l\u00e0 aussi pas d&#8217;actions ! D\u00e9cid\u00e9ment, c&#8217;est \u00e0 croire qu&#8217;il n&#8217;y a que des actions EADS.<\/li>\n<\/ul>\n<p>Cette g\u00e9n\u00e9ralisation s&#8217;explique essentiellement par la simplicit\u00e9 de la mise en place du &#8220;tag&#8221; de GA. Le probl\u00e8me est un peu plus ardu lorsque vous devez marquer une application enrichie faite en Flex ou en Flash. Il faut en effet souvent embarqu\u00e9 le script et les variables <code>javascript<\/code>  \u00e0 l&#8217;int\u00e9rieur de votre fichier <code>.swf<\/code>. Cet article va exposer simplement quelles sont les meilleurs pratiques pour marquer une application Flex par exemple. Il vous sera d\u00e9sormais possible de suivre \u00e0 l&#8217;aide de Google Analytics ce que vos utilisateurs font \u00e0 l&#8217;int\u00e9rieur de votre application enrichie (RIA, Rich Internet Application).<\/p>\n<p>Cet article est une introduction aux principes de mesure statistiques au sein de Flash\/Flex \u00e0 l&#8217;aide de Google Analytics. On va s&#8217;aider pour cela d&#8217;une API concu en AS3 mis \u00e0 disposition dans la cadre du projet <code>Google Analytics Tracking for Flash API (gaforflash)<\/code><\/p>\n<p>Les exemples de cette article ont \u00e9t\u00e9 con\u00e7us \u00e0 l&#8217;aide du fichier <code>gaforflash-1.0.1.319.zip<\/code> ainqie qu&#8217;avec Flex Builder 3 dans un environnement en local sur <code>MAMP<\/code>. La vid\u00e9o qui est jou\u00e9e et une vid\u00e9o en local dans <code>MAMP<\/code>, jou\u00e9 en <code>http streaming<\/code>.<\/p>\n<p><b>D\u00e9finition de <code>Google Analytics Tracking For Adobe Flash (gaforflash)<\/code><\/b><\/p>\n<blockquote><p>This is an ActionScript 3 API for Google Analytics data collection.<\/p><\/blockquote>\n<p><em><br \/>\nPour plus de d\u00e9tails sur comment cr\u00e9er une application sous Flex, vous pouvez vous reporter \u00e0 cet article qui contient les \u00e9tapes pas \u00e0 pas pour cr\u00e9er sous Flex une application en local notamment.<br \/>\n<a href=\"http:\/\/social.hecube.net\/blog\/2009\/09\/09\/google-flex-buddyress-et-wordpress-interfacer-buddypress-et-google-map-api-sous-flex\/\" target=\"_blank\">Google, Flex, Buddyress et WordPress &#8211; Interfacer BuddyPress et Google Map API sous Flex<\/a><\/li>\n<p>\t<\/em><\/p>\n<h4>T\u00e9l\u00e9charger le fichier <code>analytics.swc<\/code><\/h4>\n<p><code>Google Analytics Tracking For Adobe Flash (gaforflash)<\/code> est un projet open source. Ce projet s&#8217;est constitu\u00e9 pour mettre en place la mesure statistique \u00e0 l&#8217;aide de GA en AS3 au sein d&#8217;une application Flex. Comme dans un article pr\u00e9c\u00e8dent sur Flex o\u00f9 la encore on interfa\u00e7ait une autre API google, l&#8217;API Google Maps, \u00e0 l&#8217;aide d&#8217;une &#8220;librairie&#8221; <code>.swc<\/code> mis \u00e0 disposition par Google.<\/p>\n<ul>\n<li><a href=\"http:\/\/social.hecube.net\/blog\/2009\/09\/09\/google-flex-buddyress-et-wordpress-interfacer-buddypress-et-google-map-api-sous-flex\/\">Google, Flex, Buddyress et WordPress &#8211; Interfacer BuddyPress et Google Map API sous Flex<\/a><\/li>\n<\/ul>\n<p>Cette fois-ci, le fichier <code>.swc<\/code> que vous allez t\u00e9l\u00e9charger va vous permettre de vous connecter avec l&#8217;API de Google Analytics.<br \/>\n<em>Source : <a href=\"http:\/\/code.google.com\/p\/gaforflash\" target=\"_blank\">http:\/\/code.google.com\/p\/gaforflash<\/a><\/em><\/p>\n<p>Le plus simple pour inclure \u00e0 votre projet sous Flex, le fichier <code>analytics.swc<\/code>. C&#8217;est de le placer dans la r\u00e9pertoire suivant : <code>\/Users\/votre-username-sous-mac\/Documents\/Flex Builder 3\/gaforflash-example1\/libs\/analytics.swc<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_1.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p>L&#8217;API gaforflash supporte deux types d&#8217;information de tracking : les page vues (pageviews) et les \u00e9v\u00e9nements (events). Il est souhaitable d&#8217;utiliser ces deux types d&#8217;informations.<\/p>\n<p>Dans ce premier exemple, il s&#8217;agit d&#8217;utiliser de mani\u00e8re efficient l&#8217;information de mesure <code>pageviews<\/code>. Pour quelles raisons ?<\/p>\n<ul>\n<li>C&#8217;est le plus moyen de savoir comment une personne navigue \u00e0 travers les \u00e9crans de votre RIA.<\/li>\n<li>La notion de <code>pageviews<\/code> est le principe plus utilis\u00e9 dans un outil de mesure statistique comme Google Analytics ou un autre. Si vous optez pour la notion de <code>pageviews<\/code> au d\u00e9triment de celle d&#8217;<code>events<\/code>, vous aurez acc\u00e8s \u00e0 un grand nombre ressources au sien de GA.<\/li>\n<\/ul>\n<p><b>Le num\u00e9ro de votre compte chez Google Analytics<\/b><br \/>\nDans nos exemples de fichiers <code>.mxml<\/code>, il s&#8217;agit d&#8217;un compte de test : <code>account=\"UA-111-222\"<\/code><\/p>\n<pre lang=\"xml\">\r\n\taccount=\"UA-XXXXXXX-X\"\r\n<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_7.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<pre lang=\"xml\" escaped=\"true\">\r\n\t\r\n\t&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n\t&lt;!--\r\n\r\n\t\tThe account number has to be replaced with your own account number in GA eg account=\"UA-XXXXXXX-X\"\r\n\r\n\t\tExample 1. Embed the gaforflash component, \r\n\t\t           demonstrate pageview tracking.\r\n\t\tTested against gaforflash-1.0.1.319           \r\n\t--&gt;\r\n\t&lt;mx:Application xmlns:mx=\"http:\/\/www.adobe.com\/2006\/mxml\" \r\n\t\tlayout=\"absolute\"\r\n\t\txmlns:ga4flash=\"com.google.analytics.components.*\"\r\n\t\taddedToStage=\"trackInitialView()\" viewSourceURL=\"srcview\/index.html\"&gt;\r\n\r\n\r\n\t\t&lt;ga4flash:FlexTracker\r\n\t\t\tid=\"tracker\"\r\n\t\t\taccount=\"UA-111-222\"\r\n\t\t\tmode=\"AS3\"\r\n\t\t\tvisualDebug=\"true\"\r\n\t\t\/&gt;\r\n\r\n\t   &lt;mx:Script&gt;\r\n\t   \t&lt;![CDATA[\r\n\t   \t\tpublic function trackInitialView():void\r\n\t   \t\t{\r\n\t   \t\t\ttracker.debug.minimizedOnStart = true;\r\n\t   \t\t\ttracker.trackPageview(\"\/version1\");\r\n\t   \t\t}\r\n\t   \t]]&gt;\r\n\t   &lt;\/mx:Script&gt;\r\n\r\n\t   &lt;mx:Accordion x=\"31\" y=\"43\" width=\"380\" height=\"423\" \r\n\t   \t\tchange=\"tracker.trackPageview('\/pane' + String(event.newIndex+1));\"&gt;\r\n\t      &lt;mx:Canvas label=\"ENGLISH VERSION\" width=\"100%\" height=\"100%\"&gt;\r\n\t      \t&lt;mx:Text text=\"Welcome to the english RIA.\"\/&gt;\r\n\t      &lt;\/mx:Canvas&gt;\r\n\t      &lt;mx:Canvas label=\"SPANISH VERSION\" width=\"100%\" height=\"100%\"&gt;\r\n\t      \t&lt;mx:Text text=\"\u00a1Bienvenidos a la RIA en Espa\u00f1ol!\"\/&gt;\r\n\t      &lt;\/mx:Canvas&gt;\r\n\t      &lt;mx:Canvas label=\"FRENCH VERSION\" width=\"100%\" height=\"100%\"&gt;\r\n\t      \t&lt;mx:Text text=\"Bienvenue sur la version fran\u00e7aise !\"\/&gt;\r\n\t      &lt;\/mx:Canvas&gt;\r\n\t   &lt;\/mx:Accordion&gt;\r\n\r\n\t&lt;\/mx:Application&gt;\r\n\t\r\n<\/pre>\n<p><b>Par d\u00e9faut, l&#8217;application Flex se charge sur le panneau en anglais<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_4.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p><b>L&#8217;application Flex incluant <code>gaforflash<\/code><\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_2.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p><b>la valeur <code>visualDebug=\"true\"<\/code>, l&#8217;application fonctionne en mode d\u00e9bogage. L&#8217;API<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_3.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_5.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_6.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<h4>Des explications sur les variables du <code>FlexTracker<\/code><\/h4>\n<pre lang=\"xml\" escaped=\"true\">\r\n\t&lt;ga4flash:FlexTracker\r\n\t\tid=\"tracker\"\r\n\t\taccount=\"UA-111-222\"\r\n\t\tmode=\"AS3\"\r\n\t\tvisualDebug=\"true\"\r\n\t\/&gt;\r\n<\/pre>\n<ul>\n<li><code>id<\/code> : cette propri\u00e9t\u00e9 permet de d\u00e9clarer le <code>FlexTracker<\/code> dans votre application Flex.<\/li>\n<li><code>account<\/code> : c&#8217;est l&#8217;<code>id<\/code> ou identifiant de votre compte Google Analytics. On l&#8217;obtient g\u00e9n\u00e9ralement cette valeur lors de la cr\u00e9ation d&#8217;un compte ou d&#8217;un profile au sein d&#8217;un compte GA.<\/li>\n<li><code>mode<\/code> : cette variable est soit compl\u00e9t\u00e9e avec la valeur : <code>AS3<\/code> ou <code>Bridge<\/code>.\n<p>\tLorsque vous ne maitrisez pas l&#8217;environnement dans lequel votre RIA va \u00eatre charg\u00e9e, il est pr\u00e9f\u00e9rable de mettre la valeur <code>AS3<\/code>. Ainsi, si votre application doit \u00eatre diffus\u00e9 sur une plate-forme qui n&#8217;est pas la votre via un widget par exemple, c&#8217;est la type de configuration qu&#8217;il faut d\u00e9finir.<\/p>\n<p>Pour le mode <code>Bridge<\/code>n c&#8217;est lorsque les pages dans lesquelles vont se charger votre application contiennent un script de mesure Google Analytics.  Une remarque, le mode <code>Bridge<\/code> s&#8217;ex\u00e9cute \u00e0 l&#8217;aide de la class ExternalInterface, il est donc important que le param\u00e8tre <code>allowScriptAccess<\/code> soit correctement d\u00e9fini.<\/p>\n<\/li>\n<li><code>visualDebug<\/code> : cette propri\u00e9t\u00e9 permet de faire fonctionner l&#8217;API gatorflash en mode d\u00e9bogage. Si le mode est d\u00e9fini sur <code>true<\/code>, aucun des \u00e9v\u00e9nements ne sera envoy\u00e9 vers les serveurs de GA, toutes les donn\u00e9es seront disponibles dans la fen\u00eatre de d\u00e9bogage.<\/li>\n<\/ul>\n<p><em>Sur le param\u00e8tre <code>mode<\/code>, il y a <a href=\"http:\/\/code.google.com\/p\/gaforflash\" target=\"_blank\">plus d&#8217;information disponible sur le site de gaforflash<\/a><\/em><\/p>\n<h2>La mesure statistique des \u00e9v\u00e9nements (Event)<\/h2>\n<p>L\u00e0 encore, dans cette exemple de fichier <code>.mxml<\/code>, il s&#8217;agit d&#8217;un compte de test : <code>account=\"UA-111-222\"<\/code>, vous pouvez le remplacer par votre propre compte GA. On va aussi de charger une vid\u00e9o : <\/p>\n<ul>\n<li>C&#8217;est une vid\u00e9o jou\u00e9e en local depuis le serveur MAMP en http streaming nomm\u00e9 <strong>chevaux.flv<\/strong>. La valeur dans le <code>.mxml<\/code> est la suivante <code>video.source = \"http:\/\/127.0.0.1\/Flex\/chevaux.flv\";<\/code>.<\/li>\n<\/ul>\n<pre lang=\"xml\">\r\n\taccount=\"UA-XXXXXXX-X\"\r\n<\/pre>\n<p>Cette valeur initialise la mesure statistique de Google Analytics. Pour cette valeur, les param\u00e8tres pass\u00e9s sont les suivants : le premier param\u00e8tre du constructeur correspond dans l&#8217;exemple \u00e0 la <code>mx:Application<\/code>, ensuite on retrouve les param\u00e8tres pr\u00e9c\u00e9dents <code>account<\/code>, <code>mode<\/code>, <code>visualDebug<\/code><br \/>\n<code>tracker = new GATracker(this, \"UA-111-222\", \"AS3\", true);<\/code><\/p>\n<p><b>la valeur <code>visualDebug=\"true\"<\/code>, l&#8217;application fonctionne en mode d\u00e9bogage. L&#8217;API<\/b><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_8.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_9.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_10.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_11.jpg\" alt=\"Google Analytics, Flash, Flex - Faire des mesures statistiques dans une application Flex et Flash\" width=\"500\" height=\"265\" \/><\/p>\n<p><b>Le code de l&#8217;exemple 2<\/b><\/p>\n<pre lang=\"xml\" escaped=\"true\">\r\n\t\r\n\t&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n\t&lt;!--\r\n\t\tExample 2. Use gaforflash's classes, \r\n\t\t           demonstrate event tracking.\r\n\t\tTested against gaforflash-1.0.1.319\r\n\t--&gt;\r\n\t&lt;mx:Application xmlns:mx=\"http:\/\/www.adobe.com\/2006\/mxml\" \r\n\t\tlayout=\"absolute\" addedToStage=\"initExample2()\" viewSourceURL=\"srcview\/index.html\"&gt;\r\n\r\n\t\t&lt;mx:Script&gt;\r\n\t\t\t&lt;![CDATA[\r\n\t\t\t\timport mx.events.MetadataEvent;\r\n\t\t\t\timport mx.controls.Button;\r\n\t\t\t\timport mx.events.VideoEvent;\r\n\t\t\t\timport mx.controls.VideoDisplay;\r\n\t\t\t\timport mx.containers.Panel;\r\n\t\t\t\timport com.google.analytics.GATracker;\r\n\r\n\t\t\t\tprivate var tracker:GATracker;\r\n\t\t\t\tprivate var readyTime:Number;\r\n\t\t\t\tprivate var video:VideoDisplay;\r\n\r\n\t\t\t\tpublic function initExample2():void\r\n\t\t\t\t{\r\n\t\t\t\t\ttracker = new GATracker(this, \"UA-111-222\", \"AS3\", true);\r\n\r\n\t\t\t\t\t\/\/build video UI\r\n\t\t\t\t\tvar panel:Panel = new Panel();\r\n\t\t\t\t\tpanel.title = \"Example 2\";\r\n\t\t\t\t\tpanel.setStyle(\"horizontalAlign\", \"center\");\r\n\t\t\t\t\tpanel.x = 20;\r\n\t\t\t\t\tpanel.y = 40;\r\n\t\t\t\t\tpanel.width = 545;\r\n\t\t\t\t\tpanel.height = 372;\r\n\t\t\t\t\tthis.addChild(panel);\r\n\t\t\t\t\tvideo = new VideoDisplay();\r\n\t\t\t\t\tvideo.autoPlay = true;\r\n\t\t\t\t\tvideo.width = 525;\r\n\t\t\t\t\tvideo.height = 300;\r\n\t\t\t\t\tvideo.autoRewind = false;\r\n\t\t\t\t\tvideo.addEventListener(VideoEvent.READY, handleReady);\r\n\t\t\t\t\tvideo.addEventListener(VideoEvent.COMPLETE, handleComplete);\r\n\t\t\t\t\tpanel.addChild(video);\r\n\t\t\t\t\tvar button:Button = new Button();\r\n\t\t\t\t\tbutton.label = \"Pause\";\r\n\t\t\t\t\tbutton.addEventListener(MouseEvent.CLICK, handlePause);\r\n\t\t\t\t\tpanel.addChild(button);\r\n\r\n\t\t\t\t\treadyTime = new Date().time;\r\n\t\t\t\t\t\/\/ video.source = \"http:\/\/farm.sproutbuilder.com\/asset\/JwDKrdjrDnJcRVxp.flv\";\r\n\t\t\t\t\t\/* DEMO VIDEO ON LOCAL SERVER ON MAMP *\/\r\n\t\t\t\t\tvideo.source = \"http:\/\/127.0.0.1\/Flex\/chevaux.flv\";\r\n\r\n\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\tpublic function handleReady(event:Event):void\r\n\t\t\t\t{\r\n\t\t\t\t\t\/\/ calculate time (in milliseconds) in which\r\n\t\t\t\t\t\/\/ the video was ready to play\r\n\t\t\t\t\treadyTime = new Date().time - readyTime;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\/* evenement_1 *\/\r\n\t\t\t\t\ttracker.trackEvent(\"Videos\", \"ReadyTime\", \"Video1\", readyTime);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tpublic function handleComplete(event:Event):void\r\n\t\t\t\t{\r\n\t\t\t\t\t\/* evenement_2 *\/\r\n\t\t\t\t\ttracker.trackEvent(\"Videos\", \"Completed\", \"Video1\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tpublic function handlePause(event:MouseEvent):void\r\n\t\t\t\t{\r\n\t\t\t\t\tvar button:Button = event.target as Button;\r\n\t\t\t\t\tif (button.label == \"Pause\") {\r\n\t\t\t\t\t\tvideo.stop();\r\n\t\t\t\t\t\tbutton.label = \"Resume\";\r\n\t\t\t\t\t\t\/* evenement_3 *\/\r\n\t\t\t\t\t\ttracker.trackEvent(\"Videos\", \"Paused\", \"Video1\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvideo.play();\r\n\t\t\t\t\t\tbutton.label = \"Pause\";\r\n\t\t\t\t\t\t\/* evenement_4 *\/\r\n\t\t\t\t\t\ttracker.trackEvent(\"Videos\", \"Resumed\", \"Video1\");\r\n\t\t\t\t\t} \r\n\t\t\t\t}\r\n\r\n\t\t\t]]&gt;\r\n\t\t&lt;\/mx:Script&gt;\r\n\r\n\t&lt;\/mx:Application&gt;\r\n\r\n\t\r\n\t\r\n<\/pre>\n<p>Cette exemple piste 4 \u00e9v\u00e9nements : <code>evenement_1<\/code>, <code>evenement_2<\/code>, <code>evenement_3<\/code>, <code>evenement_4<\/code><\/p>\n<ul>\n<li><code>evenement_1<\/code> =&gt; Un \u00e9v\u00e9nement est envoy\u00e9 lorsque le moment o\u00f9 la vid\u00e9o est en chargement et sur le point d&#8217;\u00eatre jou\u00e9e.<\/li>\n<li><code>evenement_2<\/code> =&gt; Un \u00e9v\u00e9nement est envoy\u00e9 lorsque la vid\u00e9o est int\u00e9gralement jou\u00e9e.<\/li>\n<li><code>evenement_3<\/code> =&gt; Un \u00e9v\u00e9nement est envoy\u00e9 lorsque la vid\u00e9o est en pause.<\/li>\n<li><code>evenement_4<\/code> =&gt; Un \u00e9v\u00e9nement est envoy\u00e9 lorsque la vid\u00e9o reprend.<\/li>\n<\/ul>\n<h4>Les param\u00e8tres de la m\u00e9thode <code>GATracker.trackEvent<\/code><\/h4>\n<p>C&#8217;est cette m\u00e9thode qui permet d&#8217;envoyer des \u00e9v\u00e9nements qui seront enregistr\u00e9es dans GA. En d\u00e9taillant la ligne de code ci-dessous, on va dresser une liste d\u00e9finissant les 4 param\u00e8tres de cette m\u00e9thode.<\/p>\n<p><code>tracker.trackEvent(\"Videos\", \"ReadyTime\", \"Video1\", readyTime);<\/code><\/p>\n<ul>\n<li><code>category<\/code> : une cha\u00eene de caract\u00e8res (string) repr\u00e9sentant un groupe d&#8217;\u00e9v\u00e9nements. Dans notre exemple la <code>category<\/code> est <code>Videos<\/code><\/li>\n<li><code>action<\/code> : une cha\u00eene de caract\u00e8res (string) souvent combin\u00e9e avec une cat\u00e9gorie permet de signaler des actions. Dans notre exemple, l&#8217;\u00e9v\u00e9nement se nomme <code>ReadyTime<\/code><\/li>\n<li><code>label<\/code> :  une cha\u00eene de caract\u00e8res, c&#8217;est une valeur optionnel qui permet de passer une information additionnelle sur la combinaison <code>category\/action<\/code>. Il s&#8217;agit de pr\u00e9ciser que c&#8217;est la <code>Video1<\/code> si par exemple votre application comporte imaginons 5 Vid\u00e9os num\u00e9rot\u00e9s comme suit :  <\/code>Video1<\/code>, <\/code>Video2<\/code>&#8230;. <\/code>Video5<\/code><\/li>\n<li><code>value<\/code> : un nombre non n\u00e9gatif, c&#8217;est une valeur optionnel qui associe une valeur num\u00e9rique \u00e0 un \u00e9v\u00e9nement mesur\u00e9.<\/li>\n<\/ul>\n<h4>Retrouver ces \u00e9v\u00e9nements dans le tableau de bord de Google Analytics<\/h4>\n<p>Tous ces evements sont envoy\u00e9s \u00e0 Google Analytics. Il est donc possible de les retrouver dans la tableau de Bord de GA. La correspondance se fait comme suit :<\/p>\n<p><code>evenement_1 s'enregistre dans le tableau de bord de Google Analytics sous le nom \"ReadyTime\"<\/code><br \/>\n<code>evenement_2 s'enregistre dans le tableau de bord de Google Analytics sous le nom \"Completed\"<\/code><br \/>\n<code>evenement_3 s'enregistre dans le tableau de bord de Google Analytics sous le nom \"Paused\"<\/code><br \/>\n<code>evenement_4 s'enregistre dans le tableau de bord de Google Analytics sous le nom \"Resumed\"<\/code><\/p>\n<h4>Conclusion<\/h4>\n<p>Il est \u00e9vident que <code>Google Analytics Tracking for Flash<\/code> offre des capacit\u00e9s de tracking infinies dans une RIA faite en Flex. En utilisant le concept de page vue (<code>pageview<\/code>) ne modifie en rien les bonnes pratiques li\u00e9s \u00e0 l&#8217;utilisation que vous en faites d\u00e9j\u00e0 sur un site &#8220;classique&#8221;.<\/p>\n<ul>\n<li>L&#8217;utilisation de la notion de <code>pageview<\/code> vous permettra de mieux voir le trafic d&#8217;un point de vue quantitatif de vos utilisateurs.<\/li>\n<li>L&#8217;utilisation de la notion de <code>event<\/code> vous permettra de mieux comprendre la mani\u00e8re dont vos utilisateurs r\u00e9agissent \u00e0 vos interfaces Flex. C&#8217;est donc compl\u00e9ment qualitatif, riche d&#8217;enseignements, pour comprendre la perception que vos utilisateurs ont de vos interfaces.<\/li>\n<\/ul>\n<h2>Pour aller plus loin<\/h2>\n<ul>\n<li>Comment mesurer statistiquement des \u00e9v\u00e9nements au sein de Flash ? <em>(How do I track Flash events?)<\/em><br \/>\n<a href=\"http:\/\/www.google.com\/support\/googleanalytics\/bin\/answer.py?hl=en&amp;answer=55520\" target=\"_blank\">http:\/\/www.google.com\/support\/googleanalytics\/bin\/answer.py?hl=en&amp;answer=55520<\/a><\/li>\n<li>Mettre en place Google Analytics en utilisant gaforflash <em>Google Analytics within Flex\/Flash Applications &#8211; InsideRIA<\/em><br \/>\nCette article est tr\u00e8s, trop largement inspir\u00e9 de cette excellent article en anglais.<br \/>\n<a href=\"http:\/\/www.insideria.com\/2009\/02\/using-google-analytics-within.html\" target=\"_blank\">http:\/\/www.insideria.com\/2009\/02\/using-google-analytics-within.html<\/a><\/li>\n<li>La mesure statistique au sein d&#8217;Adobe Flash \u00e0 l&#8217;aide de Google Analytics Tracking <em>(Google Analytics Tracking for Adobe Flash)<\/em><br \/>\n<a href=\"http:\/\/code.google.com\/intl\/fr\/apis\/analytics\/docs\/tracking\/flashTrackingIntro.html\" target=\"_blank\">http:\/\/code.google.com\/intl\/fr\/apis\/analytics\/docs\/tracking\/flashTrackingIntro.html<\/a><\/li>\n<li>Mise en place de la mesure statistique pour Adobe Flash<br \/>\n<a href=\"http:\/\/code.google.com\/intl\/fr\/apis\/analytics\/docs\/tracking\/flashTrackingSetupFlash.html\" target=\"_blank\">http:\/\/code.google.com\/intl\/fr\/apis\/analytics\/docs\/tracking\/flashTrackingSetupFlash.html<\/a><\/li>\n<li>Mise en place de la mesure statistique pour Adobe Flex<br \/>\n<a href=\"http:\/\/code.google.com\/intl\/fr\/apis\/analytics\/docs\/tracking\/flashTrackingSetupFlex.html\" target=\"_blank\">http:\/\/code.google.com\/intl\/fr\/apis\/analytics\/docs\/tracking\/flashTrackingSetupFlex.html<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;utilisation de Google Analytics comme outil de mesure statistique pour un site s&#8217;est aujourd&#8217;hui g\u00e9n\u00e9ralis\u00e9e, les articles sur ce blog en t\u00e9moignent. N\u00e9anmoins, l&#8217;enjeu est&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2009\/11\/google-analytics-flex-faire-des-mesures-statistiques-dans-une-application-flex\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">Google Analytics, Flex &#8211; Faire des mesures statistiques dans une application Flex<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":9495,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Google Analytics mesure les statistiques d'une application Flex. Utilisez cet outil pour analyser les comportements utilisateurs et optimisez vos interfaces.","bf_ai_og_title":"Google Analytics Flex: Mesures Statistiques","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3441,3444,3448,3449],"tags":[166,3503,3510,256,2228,114,226,257],"class_list":["post-1195","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-analytics","category-programming-databases","category-tools-productivity","category-tutorials-how-to","tag-actionscript","tag-at-internet","tag-canva","tag-flash","tag-flex","tag-google-analytics","tag-javascript","tag-ria"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-jh","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/11\/settings_track_flash_event_GA_b_2_g_bf.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/1195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=1195"}],"version-history":[{"count":1,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/1195\/revisions"}],"predecessor-version":[{"id":9496,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/1195\/revisions\/9496"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/9495"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=1195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=1195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=1195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}