• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Google analitics API C#

  • 1,810 views
Uploaded on

Provide some tips about the Google Analytics API in C#

Provide some tips about the Google Analytics API in C#

More in: Career
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Bonjour,
    y a t'il un fichier qui contient les codes avec le maximum de détails.
    Merci
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads

Views

Total Views
1,810
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
38
Comments
1
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Google Analitics API : de la récupération de données au Charting Sommaire : I. Google Analytics ? Qu’est-ce que c’est II. Installation du « Robot » 1. Compte GA 2. Intégration script et code de suivi III. Installation et utilisation de L’API en C# 1. Première méthode : l’API 2. Seconde méthode : REST ( GET, POST ) par XML IV. Conclusion
  • 2. Bonjour à tous ! Cet article a pour but de donner quelques notions sur l’API Google Analytics que vous pourrez découvrir à cette adresse : http://www.google.com/intl/fr/analytics/ I. Google Analytics ? Qu’est-ce que c’est Google Analitics est simplement une solution d'analyse d’audience internet fournissant plusieurs informations sur la fréquentation de votre site Web, entre autre (Alertes, rapports ainsi qu’intégration AdWords sont aussi de la partie !). Il peut s’avérer très pratique de savoir le nombre de visite par mois, ou encore par quel pays, régions, celui-ci est visité ! Puissantes fonctionnalités, elles s’adressent à tout ce souhaitant tracés l’interaction utilisateur sur son site web : particuliers, petite, moyenne et grande entreprise sont de la partie. Google Analytics (ou GA, pour les intimes..) utilise 4 cookies dans son installation par défaut et offre la possibilité d'utiliser un cookie supplémentaire. Ces cookies sont anonymes (ne contiennent aucune information permettant d'identifier une personne) et expirent à la fermeture du navigateur, après 30 minutes, après 6 mois et après 2 ans respectivement. Celui-ci traque les visites via ces 4 cookies: __utma, __utmb, __utmc et __utmz. Les cookies a b et c gèrent la visite tandis que z gère la source de trafic. GA va simplement faire un match entre le domaine de la page et le domaine défini pour le profil traqué. Ces cookies alimenteront le reporting présentés sous forme de rapport visuel (figure 1), permettant la modulation de votre site (si besoin est..), ainsi que de vos campagnes publicitaires.
  • 3. II. Installation du « Robot » Nous allons tout d’abord procéder, en 4 étapes, à la mise en fonctionnement de ce fameux « robot » d’analyse, permettant les enregistrements de manière totalement anonyme. Nous ne nous occuperons pas des cookies, autogéré par GA. 1. Compte GA Pour utiliser Google Analytics, une brève inscription à un compte Google est obligatoire. L’inscription s’effectue par ce lien : https://www.google.com/analytics/provision/signup Pour ceux qui n’en possèdent pas, suivre ce lien : https://www.google.com/accounts/NewAccount?continue=http%3A%2F%2Fwww.go ogle.fr%2F&hl=fr Une fois connecté, l’inscription au compte Google Analytics vous soumettra un formulaire : il y sera demandé entre autre la visée de votre site Web, ainsi que d’autres formalités. Après validation du compte, celui-ci vous donnera un identifiant de type : UA-xxxxxx-x. Ce code permettra l’identification du compte Google associé à votre site.
  • 4. 2. Intégration du script et du code de suivi Le compte étant créé, nous allons utiliser un script, de type JavaScript, que nous copions dans notre page (de préférence Master Page), avant la balise </body>. Il suffira juste de remplacer l’Id UA-XXXXXXXX-X par l’Id donné à l’inscription. Une fois votre Script intégré, il ne vous reste plus qu’à attendre, dans un délai de 24h, le passage du robot assurant le bon fonctionnement de Google Analytics. Remarque : la ligne commentée dans le Script Présent servira à scanner les sous domaine de www.puigdamien.com !
  • 5. III. Installation et utilisation de l’API en C# Aménagement du terrain : Une API Application Web Dans cet article, nous parlerons des récupérations des Feeds via l’API (plus tard via le protocole REST pour des projets applicatifs utilisant des technologies tels que WPF ou encore Silverlight). La Google Data API (GData) est générale, elle est utilisée pour 14 services dont YOUTUBE, BLOGGER, ou encore PICASA WEB ALBUMS. Pour télécharger cette API (20mo, en .MSI), rendez-vous à l’adresse suivante : http://code.google.com/p/google-gdata/ Pour ceux qui se sentiraient perdu face à la grosseur de l’API, Google met à disposition une documentation (une imitation de la MSDN) complète : http://google-gdata.googlecode.com/svn/docs/index.html Après avoir installé le .MSI, trois références seront à ajouter (A l’adresse par défaut : C:Program Files (x86)GoogleGoogle Data API SDKRedistDebug): la Google.GData.Analytics.dll utilisée pour la récupération des données, la Google.GData.Client.dll et la Google.GData.Extensions.dll utilisées dans la plupart des projets spécifiques aux services Google. Celles-ci comprennent une multitude de classe traitant les données emmagasinées par les cookies et le Script.
  • 6. Nous commencerons par créer une application Web via Visual Studio 2010 (express ou professionnelle). Apres avoir ajouté quelques TextBox, DropDownList et Buttons, créons une classe que l’on nommera RetreiveStaticData de façon à récupérer les entrées utilisateurs de manière statique : Elle sera un substitue d’une potentielle base de données, inutile dans une application test comme celle-ci. Important : L’utilisation de ConfigurationManager.AppSettings permet de stocker de manière simple des paramètres à risque (tel que le password ou le nom du compte). D’un autre côté, la classe partielle _Defaut (Default.aspx.cs) possédant un évènement Page_Load et un évènement Click pour le rafraichissement.
  • 7. Le plus facile est fait. Cette classe statique RetreiveStaticData sera utilisée par une seconde classe nommée DataReceiver mettant à jour les feeds GA. Nous traiterons celle-ci par le biais de l’API dans un premier temps, par le biais de REST, ainsi que par le biais d’un projet WCF REST. 1. Première Méthode : L’API Nous utiliserons seulement 7 classes de la dll Google.GData.Analytics à savoir : - La classe AccountQuery, décrit une requête de données utilisée par des comptes et des profils (diffèrent profil dans un compte) dont un utilisateur a accès. - La classe DataQuery sera utilisé pour créer une ou plusieurs requêtes (substitue d’un WebRequest et WebResponse, permettant de traiter les requêtes en HPPT GET et HTTP POST), de façon à questionner une Url. - La classe AnalyticsService, servant à la connexion avec le service Google Analytics, on y passera en paramètre entre autre l’adresse et le mot de passe que vous avez utilisé à la création de votre compte. - La classe AccountFeed contient une liste de profils Google Analytics (nous venons de créer un profil pour le un site, si dessus puigdamien.com) contenu dans un compte Google autorisé à être exploité. De cette manière nous pourrons récupérer donnée spécifique à chaque compte. - La classe AccountEntry représente donc ces fameux profils Google Analytics. - Les classes DataFeed et DataEntry fonctionnent de la même manière que les accounts, DataFeed comme étant un ensemble de DataEntry (données) récupérée suivant une combinaison de « métriques » et de « dimensions ». Par exemple, on peut avoir l’envie de savoir combien de page ont été vue sur notre site (métrique), en fonction des pays (dimensions). Cela permet un tri efficace. Créons une classe que nous nommerons DataReceiver : cette classe devra requêter Google Analytics par une Url (REST ?) qui lui donnera toute les informations dont on aura besoin. Nous traitons uniquement ici le nombre de pages visitées et le nombre d’entrées sur le site pour les métriques, un tri par pays et par sources de visite pour les dimensions. Pour ceux qui est des relations métriques et dimensions: http://code.google.com/intl/fr/apis/analytics/docs/gdata/gdataReferenceDimensionsMetric s.html
  • 8. Important : La méthode ReplaceCountryString est obligatoire, elle permet que la donnée récupérée ne s’affiche pas « ga:countrie=France » mais « France ». De plus, les GAStartDate et GAEndDate sont personnelle : le site peut être analysé sur 1 semaine, 1 mois, ou 8 mois ! Pour terminer, un appel de la classe DataReceiver dans le Page_Load, ainsi que sa méthode RefreshData().
  • 9. On pourra par la suite, pour plus de lisibilité, intégrer ces données dans un graphique ASP.NET ChartControl (exemple..): 2. Seconde méthode : REST (GET, POST) par XML La seconde méthode qui est de loin la plus malléable, puisqu’elle peut être utilisée par des applications WPF, Silverlight, PHP et bien d’autres, est celle d’utiliser REST. La récupération des données s’effectuera par XML, classiquement. Retournons sur la classe DataReceiver : Nous aurons cette fois ci une requête effectuée à l’aide d’une Url (ici un outil customisant graphiquement une requête Url de type HTTP) utilisant les WebRequest, WebResponse, ou WebClient : http://translate.googleusercontent.com/translate_c?hl=fr&langpair=en|fr&u=http://code.g oogle.com/intl/nl/apis/analytics/docs/gdata/gdataExplorer.html&rurl=translate.google.fr&u sg=ALkJrhiAtPC0gVfh4cpPeEn-OuZmE-jZzw Pour illustrer cette méthode, Nous allons créer un projet WPF MVVM Light (Toolkit), contenant une vue de connexion au compte, puis une vue principale contenant deux UserControls : les ComboBox et DataTimePicker d’un côté, la partie graphique de l’autre. Le Charting se fera avec des controles VISIFIRE, toolkit idéal pour du reporting WPF, RIA ou encore SharePoint.
  • 10. La partie Login : La partie login Utilisera Pour le mot de passe un contrôle de Type PasswordBox. Problème : Aucun Bindage Direct n’est possible sur sa propriété Password, due à une question de sécurité. On utilisera ici des DependencyProperties, ET des variables de type SecureString pour palier au problème. DependencyProperties Coté XAML : Le Login sera utilisé pour récupérer un Token provenant de Google Analytics, nous donnant Access aux données des comptes, ainsi que de celle des sites. Si dessous la méthode de demande de Token.
  • 11. La partie Traitement : Une Fois votre Token Récupérer, nous pourrons enfin faire des requêtes avec des Métriques, Dimensions, Date de début de reporting et celle de fin. Les données peuvent enfin être traitées en SyndicationFeed, ou XML ! J’utiliserai ici le format XML. Deux méthodes relativement identiques sont exposées ici, l’une pour récupérer, via une classe Account (Ses propriétés peuvent le titre du compte ainsi que son Id), les comptes utilisés sur l’adresse mail données, l’autre méthode servant à récupérer les données statistiques d’un site présent sur l’un des comptes. Attention : un compte utilisateurs possède un ou plusieurs Id de site. Pour utiliser la méthode de récupération statistique, L’id sera obligatoirement demandé. Ci-dessous un exemple de méthode de récupération de Comptes : La réponse du WebClient, en XML :
  • 12. Ici un exemple de méthode de récupération statistique. Une classe DataReceived sera utilisé pour récupérer les valeurs des Métriques et Dimensions : La réponse de la requête statistique, en XML :
  • 13. Il ne reste pour qu’a Binder ses données via Une Liste d’object DataReceived dans un contrôle de type Charting ( VISIFIRE : http://www.visifire.com/ ), et le tour est joué ! : Demande Token, Statistique et Bindage IV. Conclusion : Que ce soit via L’Api Google Analytics, ou par une méthode dite RESTFUL, Google expose des données facilement accessibles, permettant de créer des graphiques, reportant le moindre fait et geste de votre application Web. Grace à l’API Google Analytics, vous serait maintenant, avec le Framework .NET, armés de façon idéale pour agir face au trafic, cibler vos projets grâce à des rapports complets, fiables. C’est l’un des meilleurs systèmes de reporting Web actuel !