Comment ouvrir une application Android à partir du navigateur
Ouvrir une application installée à partir d’un navigateur est souvent appelé « deep linking », et avec ce guide, vous apprendrez à créer vous-même un lien profond dans votre application Android. Nous nous concentrerons exclusivement sur la façon de déclencher l’ouverture d’une app à partir d’une page de site Web, plutôt qu’à partir du clic d’un lien à l’intérieur d’autres apps. Pour un aperçu plus détaillé des différentes normes de liens profonds requises pour une couverture complète d’Android, veuillez consulter notre série sur les liens profonds Android : Partie 1, Partie 2, Partie 3 et Partie 4.
Android est, de loin, l’une des plateformes les plus fragmentées que les développeurs aient jamais eu à gérer, en raison de la décision de Google de forcer les fabricants d’appareils à être responsables du portage de l’OS, ce qui nécessite une rétrocompatibilité et le support d’une multitude d’appareils. Dans cet écosystème, c’est à nous, développeurs d’applications, de ramasser les morceaux. Le deep linking sur Android n’est malheureusement pas différent – au fil des ans, nous avons vu une pléthore d’exigences techniques qui doivent être utilisées en fonction de la circonstance et du contexte de l’utilisateur.
Notez que Branch mettra en œuvre toute cette complexité pour vous, hébergera les liens profonds et vous donnera même des analyses robustes derrière les clics, les ouvertures d’apps et les événements en aval de l’entonnoir. Vous pouvez jouer avec les liens Branch gratuitement en vous inscrivant ici. Nous recommandons fortement d’utiliser nos outils au lieu d’essayer de les reconstruire à partir de zéro, puisque nous les donnons tous gratuitement.
Vue d’ensemble des modifications
Il y a deux endroits où des modifications devront être apportées pour réussir à ouvrir votre application Android : votre site Web et votre application Android. Vous trouverez les détails de chaque changement dans les sections correspondantes ci-dessous.
Ajout de la prise en charge des schémas URI à votre application
Un schéma URI peut être n’importe quelle chaîne sans caractères spéciaux, comme http, pinterest, fb ou myapp. Une fois enregistré, si vous ajoutez :// à la fin (par exemple pinterest://) et cliquez sur ce lien, l’appli Pinterest s’ouvrira. Si l’application Pinterest n’est pas installée, vous verrez une erreur ‘Page Not Found’.
Il est simple de configurer votre application pour un schéma URI. Pour commencer, vous devez choisir une activité dans votre application que vous souhaitez ouvrir lorsque le schéma URI est déclenché, et enregistrer un filtre d’intention pour celle-ci. Ajoutez le code suivant dans la balise <activity /> de votre manifeste qui correspond à l’activité que vous voulez ouvrir.
<intent-filter><data android:scheme="your_uri_scheme" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /></intent-filter>
Vous pouvez changer votre_uri_scheme par le schéma URI que vous souhaitez. Idéalement, vous voulez que ce schéma soit unique. S’il recoupe le schéma URI d’une autre application, l’utilisateur verra un sélecteur Android lorsqu’il cliquera sur le lien. Cela se produit souvent lorsque plusieurs navigateurs sont installés, car ils s’enregistrent tous pour l’URI http.
Puis, vous voudrez confirmer que votre application a été ouverte à partir du schéma URI. Pour gérer le lien profond dans l’application, vous devez simplement saisir la chaîne de données d’intention dans l’activité qui a été ouverte par le clic. Voici un exemple :
Uri data = this.getIntent().getData();if (data != null && data.isHierarchical()) {String uri = this.getIntent().getDataString();Log.i("MyApp", "Deep link clicked " + uri);}
À partir de là, vous devrez faire une analyse syntaxique des chaînes pour lire les valeurs jointes au schéma URI qui seront très spécifiques à votre cas d’utilisation et à votre mise en œuvre.
Ajouter du Javascript à votre site Web pour ouvrir votre application
Maintenant que votre application Android est prête à être déclenchée à partir d’un schéma URI, la prochaine partie est simple. Vous devez simplement ajouter un peu de Javascript à votre site Web qui déclenchera automatiquement l’ouverture de votre application. La fonction ci-dessous, triggerAppOpen, tentera d’ouvrir le schéma URI de votre application une fois que vous aurez remplacé votre_uri_scheme par celui que vous avez ajouté dans le manifeste ci-dessus.
var fallbackToStore = function() { window.location.replace('market://details?id=com.myapp.package');};var openApp = function() { window.location.replace('your_uri_scheme://');};var triggerAppOpen = function() { openApp(); setTimeout(fallbackToStore, 250);};
Vous pourriez appeler triggerAppOpen dans window.onload si vous vouliez le faire au chargement de la page, ou vous pourriez en faire le onclick d’un lien quelque part sur votre site. L’un ou l’autre fonctionne et le vous obtiendrez les résultats escomptés.
Android est incroyablement compliqué, et il y a des cas limites partout. Vous penserez que tout va bien jusqu’à ce que vous ayez cet utilisateur qui se plaint que ses liens ne fonctionnent pas sur Facebook alors qu’il utilise Android 4.4.4. C’est pourquoi vous devez utiliser un outil comme Branch pour vous éviter ce cauchemar et faire en sorte que vos liens fonctionnent partout. Assurez-vous de demander une démo de Branch si vous souhaitez en savoir plus.