Un widget Android pour Google Analytics

Avec l’aide de notre ami Alexis, nous venons de créer une nouvelle application pour Android, enfin, un widget plutôt ! Android offre un système de widgets jamais vu sur les autres plateformes mobiles alors nous voulions en profiter ! Ce widget permet donc d’afficher vos statistiques Google Analytics pour chacun de vos sites web directement sur le bureau de votre mobile. Vous pouvez voir le nombre de visites ou le nombre de visiteurs uniques par jour en temps réel ! Ces valeurs sont automatiquement comparées aux mêmes données, à la même heure, la semaine précédente, afin d’afficher un taux de progression. On ajoutera dans les jours qui viennent de nouvelles métriques.

Nous avons utilisé aucune librairie externe pour récupérer les données Google Analytics. Il existe pourtant deux librairies Java développées par Google. Nous avons testé les deux. La première gdata-java-client est très simple d’utilisation mais n’est pas entièrement compatible avec Android. Elle fonctionne sur certain appareil comme le Motorola Milestone mais pas sur un HTC Desire par exemple. Nous ne pouvions donc pas utiliser cette librairie. Google a développé une seconde librairie google-api-java-client compatible avec Android mais qui est encore en beta et qui n’est pas vraiment simple d’utilisation, d’autant plus qu’elle est plutôt mal documentée pour le moment. Nous avons fini par faire le choix de tout développer à la main, sans l’utilisation de librairies externes qui alourdissent énormément le poids de l’application. Notre widget fait donc un poids plume !

Pour la connexion au compte Google Analytics, nous avons choisi d’utiliser le Account Manager du système Android. C’est quelque chose d’assez peu utilisé dans les applications mais pourtant ce système est vraiment puissant. Il permet à une application d’exploiter les comptes configurés dans le téléphone sans demander un login et un mot de passe au sein de l’application. L’utilisateur n’a donc aucune inquiétude à se faire vis à vis de la sécurité de son compte. Pour que cela fonctionne, il faut tout de même ajouter deux permissions, GET_ACCOUNTS et USE_CREDENTIALS. Il faut également faire attention au jeton que renvoie le Account Manager qui permet de se connecter aux APIs Google. Ce jeton est différents pour chaque API et il a une durée de vie limitée. Tous les 14 jours, le jeton arrive à expiration. Il faut donc que l’application soit en mesure d’en régénérer un sans intervention de l’utilisateur.

Le développement d’un widget est un développement très particulier. Il y a des concepts très différents vis à vis d’une application standard. Un des concepts très intéressant des widgets, c’est le système de configuration avant l’installation du widget. L’écran de configuration d’un widget est une activité classique qui se lance automatiquement lors de l’ajout d’un widget. Nous avons donc utilisé cet écran de configuration pour vous permettre de vous connecter à Google Analytics, choisir votre site web et votre métrique.

Comme d’habitude avec nos applications, nous sommes très à l’écoute de vos retours. Rendez-vous sur l’Android Market pour télécharger l’application ou scannez ce QR Code :

BM Wallpaper Switcher indisponible sur Android Market

Beaucoup de personnes ont remarqué que notre application Android BM Wallpaper Switcher n’était plus disponible sur Android Market depuis un petit moment et nous demande où ils pourraient la télécharger. Pour rappel, cette application permet d’avoir automatiquement, tous les jours, en fond d’écran, la jolie fille du site web Bonjour Madame.

Vous pouvez dorénavant télécharger l’application ici :



TELECHARGER

Pour la petite histoire, notre application n’est plus disponible sur l’Android Market car les auteurs du site Bonjour Madame ont décidé de demander à Google de supprimer notre application, tout simplement.

Voici les mails que l’on a reçus de la part de Google :

Voici le rapport qui a été envoyé à Google par l’équipe de Bonjour Madame :

Sur Twitter, l’équipe de Bonjour Madame a préféré nous dire qu’il s’agissait des copyrights liés à l’Android Market et non d’une action de leur part :

Comme vous pouvez le constater, il est assez facile de faire supprimer une application de l’Android Market. On peut donc à nouveau se poser la question : Google est-il trop peu regardant vis à vis des applications publiées sur son store ? un système « à la Apple » ne serait-il pas une meilleure chose ?

My Photoset, un client Flickr sous Android

En ce moment, nous n’arrêtons pas dans le développement d’application Android. Nous revenons cette fois-ci avec un petit client pour Flickr. Actuellement, il permet de sauvegarder dans son téléphone un album Flickr que l’on a ajouté grâce à son ID. On peut ensuite parcourir les photos à l’aide d’une liste ou d’une Google Maps si les données de géolocalisations ont été renseignées sur Flickr.

 

Pour télécharger et installer l’application, il suffit de chercher My Photoset sur l’Android Market. Voici également le lien vers Androlib.

Si vous êtes sur votre téléphone Android, vous pouvez télécharger directement l’application en cliquant sur ce lien. Voici également le QRCode que vous pouvez scanner :

Dans cette application, nous avons vraiment eu la volonté de mettre l’accent sur l’optimisation, aussi bien au niveau du téléchargement des données, de la mise en cache, de la sauvegarde en base de données SQLite et du recyclage de vues.

Bonjour Madame en Wallpaper sur Android

Edit (mai 2011) : L’application a été retirée du market. Pour en savoir plus et télécharger quand même l’application, rendez-vous ici : Bonjour Madame pour Android

Ca fait longtemps que l’on a pas écrit quelques chose sur Magetys. Alors, pour se faire pardonner, on vous présente une petite surprise, une nouvelle application Android ! Vous connaissez sans doute notre interêt pour bonjourmadame.fr grâce à nos applications Linux et MacOS. Et bien on pousse le même concept sur la plateforme Android. Grâce à notre application BM Wallpaper Switcher, tous les matins, vous pourrez avoir en fond d’écran la madame du jour. L’application permet de choisir si vous préférez que le fond d’écran se mette à jour automatiquement ou si vous préferez que l’on vous demande à l’aide d’une notification si vous souhaitez changer votre fond d’écran.

 

L’application est malheureusement plus disponible sur Android Market.



TELECHARGER

Voici également le QRCode que vous pouvez scanner :

L’application requiert un certain nombre de permissions :
android.permission.ACCESS_NETWORK_STATE : Permet de mettre à jour le fond d’écran à la prochaine obtention d’une connexion réseau si il n’y a avait pas de réseau à 10H15
android.permission.RECEIVE_BOOT_COMPLETED : Permet de démarrer l’AlarmManager (c’est pourquoi il faut redémarrer le téléphone après l’installation de l’application)
android.permission.INTERNET : Pas besoin d’explication
android.permission.SET_WALLPAPER : pas besoin d’explication non plus ^^
android.permission.WAKE_LOCK : Permet de mettre à jour le fond d’écran même si le téléphone est en veille

Cette application intègre également la librairie Google Analytics pour Android. Cela nous permet de voir comment les utilisateurs se comportent avec l’application, quelles sont les fonctionnalités les plus utilisées par exemple.

Pour finir, sachez que l’application requiert au minimum Android 2.0.1, si votre téléphone mobile embarque une version d’Android inférieure, vous ne trouverez pas l’application sur l’Android Market.

Space Racer, 1ère application Android

Nous avons publié dimanche soir notre première application Android en tant que Magetys. Cette première application Magetys sur laquelle nous travaillons depuis un petit moment déjà est un jeu qui allie rapidité et dextérité. Il s’agit d’effectuer un parcours à l’aide de son doigt le plus rapidement possible. Les meilleurs temps sont enregistrés et partagés entre tous les joueurs. Il faut donc devenir le meilleur joueur pour voir son nom en haut de la liste !


Pour télécharger et installer l’application, il suffit de chercher Space Racer sur l’Android Market. Voici également le lien vers Androlib.

Si vous êtes sur votre téléphone Android, vous pouvez télécharger directement l’application en cliquant sur ce lien. Voici également le QRCode que vous pouvez scanner :

Niveau techno, cette application nous a permis de tester pas mal de choses. Tout d’abord, le backend de l’application tourne sur Google AppEngine. Notre backend utilise la librairie Restlet pour faire un vrai serveur REST et nous avons implémenté une sécurité du webservice proche de OAuth. Sur ce projet, nous avons également testé Restlet côté client, mais on a finalement abandonné. Pour l’instant, ce n’est pas assez fiable, pas assez documenté et surtout, ça devient trop complexe si l’on souhaite faire des choses qui sortent de l’ordinaire comme ajouter des données dans le header HTTP. Enfin, le transfert de données s’effectue en JSON. Pour cela, on a utilisé la librairie Jackson, c’est la libraire la plus rapide actuellement pour parser du JSON. Il était très important d’utiliser cette librairie pour nous car les performances de la librairie standard Android sont vraiment médiocres malheureusement. De plus, la librairie Jackson est vraiment intéressante car elle permet de mapper un objet java vers un fichier json et inversement. Cette librairie est vraiment très pratique. Par contre, nous avons eu une petite déception. Jackson n’est pas capable de mapper des objets java trop important. Il fait un timeout au bout d’une dizaine de seconde. Nous avons donc du revoir le webservice pour en demander moins à Jackson au détriment d’un plus grand nombre de connexion.

Bien entendu, Space Racer est pour le moment en beta et n’attend que vos commentaires pour s’améliorer. Il est également évident que nous allons rajouter des niveaux pour augmenter la durée de vie du jeu.