Ludovic ROLAND

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

Réengager les utilisateurs (2/3) : les liens profonds

1er décembre 2018

Dans le chapitre précédent, nous venons donc de voir que les notifications, à condition d’être correctement utilisées, sont un moyen efficace d’inciter les utilisateurs à revenir dans vos applications. Vous vous en doutez, il ne s’agit pas du seul moyen permettant de réengager les utilisateurs.

Au travers de ce chapitre, je vous propose de découvrir comment réengager vos utilisateurs dans votre propre application lorsqu’ils viennent d’une application tierce via le deep linking.

Plan

Qu’est-ce que le deep linking ?

Définition

Le deep linking ou « lien profond » si l’on traduit littéralement l’expression, est la possibilité d’établir des liens entres les applications mobiles. Concrètement, le deep linking permet de lancer une application depuis une autre. Ce lien ne se limite pas à ouvrir l’application comme le ferait n’importe quel utilisateur en cliquant simplement sur l’icône de l’application puisqu’il est possible d’ouvrir un écran précis en lui donnant un contexte et des paramètres particuliers.

Un cas concret de deep linking

Pour illustrer mes propos, je vous propose d’étudier une application Android disponible sur le Google Play Store : Slack.

Slack est une application de messagerie instantanée disponible sur de nombreux support (Windows, MAC, Android, iOS, etc.) qui malgré l’absence d’une fonctionnalité liée à la communications VoIP reste tout de même très utilisée dans le monde professionnel grâce notamment à plusieurs avantages dont :

  • la gestion assez fine des permissions autour des conversations et de groupes de conversations ;
  • la possibilité de l’interfacer avec des nombreux outils utilisés dans le monde professionnel (Github, JIRA, Google Drive, etc.) ;
  • le support du markdown ;
  • une gestion fine des messages favoris ;
  • l’intégration de Giphy (je vous l’accorde, ce n’est pas réellement un avantage mais c’est quand même très sympa) ;
  • etc.

Penchons nous maintenant un peu plus sur les versions mobiles du logiciel et plus précisément sur la version Android (je sais, j’aime beaucoup Android). La version Android de Slack, comme les autres version du logiciel, permet aux utilisateurs d’échanger. Ces échanges peuvent être de différentes natures :

  • texte ;
  • gifs ;
  • images ;
  • vidéos ;
  • fichiers ;
  • liens ;
  • etc.

C’est sur les liens que nous allons nous pencher plus particulièrement pour tenter d’illustrer du mieux possible la notion de deep linking. Si un utilisateur utilise la version web ou la version “bureau” (Windows ou Mac) de Slack, lorsqu’il va cliquer sur un lien, c’est son navigateur web qui prendra le relais et qui se chargera d’ouvrir l’URL cible. Il n’y a rien de choquant la dedans, il s’agit d’un comportement voulu et attendu.

Penchons-nous maintenant sur l’application Android. Si un utilisateur clique sur un lien d’une conversation il y a de grandes chances que, tout comme pour les versions web et “bureau”, le lien s’ouvre dans le navigateur web par défaut du téléphone… sauf si un deep linking est disponible et que l’application cible est installée sur le terminal de l’utilisateur ! Et c’est ce que fait l’application !

Prenons un exemple concret. Je travaille aujourd’hui avec OpenClassrooms en tant que mentor. Dans le cadre de la gestion du mentorat, nous utilisons principalement 3 outils :

  • Slack pour la communication interne entre les mentors et OpenClassrooms ;
  • Trello pour la gestion des élèves ;
  • Google Drive pour partager des documents entre les mentors et OpenClassrooms.

Sur Slack, nous sommes donc souvent amenés à échanger des liens vers les sites Trello et Google Drive. En plus de leur version web, ces outils sont également disponibles sous la forme d’applications mobiles et notamment une application Android. Ces deux applications étant installées sur mon téléphone (un LG Nexus 5 sous Android), lorsque depuis l’application Android de Slack je clique sur un lien Trello ou Google Drive, ce n’est pas la version web de ces outils qui s’ouvrent mais les applications mobiles !

C’est ce que nous allons voir tout de suite !

Quelques explications techniques…

En réalité, pour permettre le deep linking d’une application à une autre, il faut que les deux applications jouent le jeu :

  • l’application cible (Trello ou Google Drive dans notre exemple) doit supporter le deep linking ;
  • l’application de « départ » (Slack dans notre exemple) ouvre simplement le lien.

Techniquement la mise en place du deep linking au sein d’une application est assez simple. Il suffit que votre application se déclare comme étant capable d’ouvrir une URL spécifique. C’est ensuite au développeur de décider de la « grammaire » à mettre en place pour viser un écran spécifique de l’application tout en étant capable de consommer des données.

Pour mieux comprendre, imaginons ce que pourrait être la mise en place du deep linking dans l’application YouTube. La première étape consiste à déterminer l’URL prise en charge par l’application. Cette URL, vous vous en doutez, ne sera pas une URL web classique mais devra comporter une syntaxe un peu particulière. Souvent, on remplace le “http” d’une URL web par le nom de l’application. Aussi, dans le cas de l’application YouTube, l’URL pourrait,par exemple, être :

  • youtube://
  • YouTube://
  • http://www.youtube.com
  • https://www.youtube.com

ou encore :

  • yt://
  • ytb://
  • ytube://
  • youtubeAndroid://
  • http://m.youtube.com
  • https://youtube.com

Les possibilités sont infinies !

La suite de l’URL permet généralement d’identifier l’écran à ouvrir. Dans le cadre de l’application YouTube, nous pouvons imaginer, à minima, deux écrans à prendre en charge :

  • une vidéo ;
  • le profil d’un YouTuber.

Les URL respectives permettant de cibler ces deux écrans pourraient, par exemple, être les suivantes :

  • youtube://video pour l’écran vidéo ;
  • youtube://profile pour le profil d’un YouTuber ;
  • http://www.youtube.com/video

Finalement, il convient de pouvoir identifier clairement la vidéo ou le profil à ouvrir. Pour cela, il suffit alors d’ajouter l’identifiant unique de la vidéo ou du profil dans l’URL. Une nouvelle fois, il n’existe pas de solution type ou mieux qu’une autre. Chaque développeur pourra faire comme il le souhaite. Aussi, nous pourrions, par exemple, utiliser les URL suivantes :

  • youtube://video/123 ou youtube://video?id=123 ou youtube://video?videoId=123 ou encore https://www.youtube.com/watch?v=123 pour ouvrir la vidéo ayant pour identifiant 123 ;
  • youtube://profile/456 ou youtube://profile?id=456 ou encore youtube://profile?profileId=456 pour ouvrir le profile d’un YouTuber ayant pour identifiant 456.

J’espère que le concept de deep linking est maintenant claire pour vous !

Pour conclure, je dirai qu’il s’agit bien d’un moyen de réengager vos utilisateurs car depuis une application tierce, ils peuvent être amenés à être directement redirigés vers votre application mobile plutôt que vers sa version web, tout aussi optimisée quelle soit pour les mobiles.

En résumé

  • Les liens profonds sont importants pour réengager les utilisateurs depuis une application tierce
  • Exposez clairement aux autres développeurs que votre application supporte le deep linking afin que les autres applications intègrent un lien vers votre application

Commentaires