Ludovic ROLAND

Blog technique sur mes expériences de développeur.

Superviser son application mobile (1/3) : Les analytics trackers

6 septembre 2019

Vous disposez maintenant de presque toutes les notions nécessaires à la bonne rentabilisation de votre application mobile. Dans le cadre de ce cours, il nous en reste une à étudier : la notion de supervision d’une application mobile.

Dans cette dernière partie du cours, nous allons voir comment il est possible de superviser une application mobile en production sur un magasin d’applications quelque qu’il soit (App Store, Google Play Store, etc.) à travers l’étude de deux outils dont, malheureusement, beaucoup de monde se lançant dans le mobile ignorent encore l’existence :

  • les analytics trackers ;
  • les bugs trackers.

Débutons tout de suite avec l’étude de notre premier outils : les analytics trackers.

Plan

A la découverte des analytics trackers

Un analytics trackers est un outil permettant de remonter des statistiques d’utilisation de votre application en fonction du comportement et des actions de vos utilisateurs.

Ces statistiques peuvent être de natures très diverses et plus ou moins fines. Voyons quelques exemples de statistiques qu’il est possible de remonter :

  • un événement de type “ouverture d’un écran” ;
  • un événement de type “clic sur un bouton” ;
  • un événement de type “clic sur une publicité” ;
  • des informations relatives au téléphone sur lequel l’application tourne (marque, modèle, version de l’OS, niveau de la batterie, etc.) ;
  • des informations liées à un contexte d’utilisation : il est par exemple possible de faire la différence entre l’utilisation de l’application par un “prospect” ou par un utilisateur identifié ou encore si l’application est utilisée avec un accès internet ou non ;
  • des informations liées à un parcours utilisateur, par exemple : “l’utilisateur lance l’application, arrive sur la page d’accueil, ouvre la page lié à son compte puis quitte l’application” ou encore “l’utilisateur lance l’application, arrive sur la page d’accueil, ouvre le détail d’un élément, regarde une vidéo, regarde une seconde vidéo puis quitte l’application” ;
  • des informations liées au temps, par exemple : le temps en secondes pendant lequel un utilisateur reste sur un écran ou le temps en seconde d’une session utilisateur (du lancement de l’application à sa fermeture) ;
  • etc.

Vous l’aurez compris, les possibilités de remontées sont presque infinies !

Que remonter avec un analytic tracker

Une question importante à se poser quand on souhaite établir des statistiques liées à l’utilisation d’une ou plusieurs applications mobiles est :

La réponse n’est malheureusement pas triviale et pourrait se débattre pendant des heures. En réalité, tout dépend du niveau d’analyses que vous aurez de ces données. Sachez que les applications maintenues par des grosses sociétés comme Facebook ou Google remontent énormément d’éléments car derrière, ces données sont finement exploitées pour comprendre qui utilisent les applications et comment elles sont utilisées. Il est parfois amusant de voir que les statistiques liées à une application mette en lumière que la dite application est majoritairement utilisée d’une certaine manière alors que les ingénieurs qui l’ont conçue avaient imaginés tout à fait autre chose.

De manière générale, je vous invite à minima à remonter deux informations qui vous seront utiles :

  • les événements liés à l’ouverture et la fermeture d’un écran ;
  • les événements liés à l’interaction avec l’interface graphique de l’application comme par exemple un clic (ou plutôt un touch dans le cas d’un terminal à l’écran tactile) sur un bouton.

Ces deux types d’événements vous permettront déjà de comprendre comment votre application est utilisée et mettra éventuellement en avant des défauts de conception ou des problèmes d’ergonomie. Par exemple, si un écran important de votre application se retrouve ouvert moins souvent qu’un écran de “seconde zone”, c’est peut-être que son accès est difficile ou non trivial. Il conviendra alors peut-être de retravailler la façon dont cet écran est accessible dans une future mise à jour de l’application.

Si vous souhaitez aller plus loin mais que vous ne savez pas vraiment quelle direction prendre, il faudra alors peut-être faire appelle à une personne extérieure spécialisées dans l’élaboration de ce qu’on appelle un plan de taggages. Il s’agit d’un métier à part entière.

Comment et où remonter toutes ces informations ?

Où remonter toutes ces informations ?

Avant de répondre au “comment”, je vous propose de répondre à la question “où” !

Toutes les informations d’utilisation de votre application mobile que vous souhaitez remonter pour établir des statistiques doivent être remontée vers une plate-forme sur laquelle vous serez en mesure de les lire, les extraire, les traiter, les trier, bref, en faire ce que vous voulez à des fins d’analyse ! Il convient donc de faire remonter ces informations auprès d’une plate-forme à laquelle vous pouvez accéder facilement. A titre d’exemple, ce pourrait être une base de données accessible depuis un serveur.

Comment remonter toutes ces informations ?

Répondons maintenant à la première question :

Il convient d’intégrer à votre application mobile une petite brique logicielle capable de communiquer avec la plate-forme en charge de recueillir et stocker les informations afin de lui transmettre les différentes informations qui vous intéressent. Si l’on se penche sur le côté technique, nous pouvons imaginer plusieurs moyens de communication comme des requêtes HTTP ou l’utilisation d’un socket.

Maintenant que vous en savez un peu plus sur comment cela fonctionne “sous le capot”, je vous propose d’aller un peu loin et de voir plus en détail quelles sont les moyens dont vous disposez pour remonter toutes ces informations. Nous allons distinguer deux façons de faire : la façon “industrielle” et la façon “artisanale”.

Débutons par étudier la manière “artisanale”. Cette méthode, comme son nom le laisse deviner, consiste à tout faire soit même. Ainsi, c’est à vous de mettre en place et coder aussi bien la plate-forme en charge de recueillir les informations que la fameuse brique logicielle capable de récupérer les informations au sein de l’application mobile et les envoyer à votre plate-forme.

Pourquoi cet avertissement ?

Si naïvement cela semble simple à mettre en place, il convient en réalité de penser à tous les cas d’utilisation. Il convient notamment de se poser les questions suivantes :

  • Que se passe-t-il si je fais le choix de faire communiquer ma brique logicielle et ma plate-forme via des requêtes HTTP et que l’application est utilisée sans réseau ?
  • Vais-je ignorer toutes les sessions sans réseau et ainsi perdre les précieuses données ?
  • Suis-je capable de créer une brique logicielle capable de garder en mémoire toutes les informations tant qu’elles n’ont pas été transmises à ma plate-forme ?
  • Suis-je capable de créer un composant capable de gérer la reprise sur erreur ?

Bref, posez-vous les bonnes questions et soyez honnêtes avec vous même quant à votre capacité ou non de créer une telle plate-forme et un tel outil de remontée d’information !

Finissons notre étude du concept d’analytics trackers en étudiant la façon dite “industrielle”. Par opposition à la méthode “artisanale”, que j’aurais également pu appeler “manuelle”, la méthode “industrielle” consiste à utiliser des outils proposés sur le marché et ayant fait leurs preuves. Nous allons voir qu’il en existe aussi bien des gratuits que des payants.

Avant même de vous délivrer le nom de quelques produits connus et très utilisés dans le monde professionnel, j’aimerais revenir rapidement sur les avantages qu’ils présentent par rapport à une solution maison :

  • ils disposent tous d’une plate-forme accessible au travers d’un navigateur web ;
  • cette plate-forme, très graphique vous de rapidement “jouer” avec les données, c’est-à-dire sélectionner les données à afficher en fonction de différentes critères (date, marque de téléphone, version de l’application) et ainsi vous rendre rapidement compte du profil de vos utilisateurs et comment votre application est utilisé ;
  • la brique logicielle à intégrer au sein de l’application mobile et permettant de remonter les différentes informations est généralement robuste (gestion de de la présence ou non de réseau, reprise sur erreur, etc) et vous mâche généralement le travail (l’appel d’une fonction permet de remonter un événement).

Quelques analytics trackers connus

Firebase Analytics

L’outil le plus populaire dans le cadre des applications mobiles est probablement Firebase Analytics. Cet outil, gratuit, est aujourd’hui massivement utilisé dans le monde du mobile. Son principal avantage est sa simplicité d’intégration au sein d’une application mobile et sa simplicité d’utilisation, que ça soit au niveau de sa brique logicielle mobile (compatible notamment Android, iOS et Unity) qu’au niveau de sa plate-forme de restitution des données. En savoir plus sur Firebase Analytics.

D’autres solutions

Je ne reviendrai pas en détail sur les autres outils disponibles sur le marché, mais sachez qu’ils sont nombreux et méritent qu’on s’y attardent. Parmi les solutions très utilisées dans le domaine professionnel, nous pouvons par exemple citer :

En résumé

  • les analytics trackers permettent de remonter de nombreuses informations relatives aux actions des utilisateurs ou au contexte d’utilisation de l’application mobile ;
  • les analytics trackers sont important pour comprendre comment vos applications mobiles sont utilisés ;
  • les analytics trackers peuvent mettre en lumière des problèmes ergonomiques au sein de vos applications mobiles ;
  • les données obtenues à l’aide d’un analytics trackers doivent, idéalement, pouvoir être traitées et analysées.

Commentaires