Utiliser du contenu Web dans votre application Android

Android vous permet d'exploiter la puissance du Web dans vos applications. Vous pouvez ainsi profiter de la flexibilité et de l'efficacité de l'affichage de certains types de contenus.

Cela vous permet d'intégrer facilement du contenu Web existant dans votre application Android, par exemple pour afficher un flux d'actualités, des tutoriels interactifs ou des annonces, ou même héberger un mini-jeu sans avoir à tout créer de A à Z. Considérez-le comme une fenêtre sur Internet, depuis votre application. Il existe deux façons d'intégrer du contenu Web dans votre application :

  • WebView : affiche le contenu Web que vous contrôlez de manière intégrée, là où vous souhaitez une grande flexibilité pour personnaliser ou mettre à jour l'UI.
  • Custom Tabs : expérience de navigation complète dans l'application, optimisée par le navigateur par défaut de l'utilisateur (voir la compatibilité des navigateurs) lorsque les utilisateurs cliquent sur un lien et que vous souhaitez les garder dans l'application au lieu de les rediriger vers un navigateur externe. La plupart des fonctionnalités de navigation sont disponibles prêtes à l'emploi.
Application Android ouverte sur Google Play, avec la vue Web principale mise en évidence. Onglet personnalisé ouvert sur la page Web Android For Developers, mis en évidence.
Figure 1. `WebView` (à gauche) et `Custom Tab` (à droite) encadrés.

Pourquoi intégrer du contenu Web ?

L'intégration de contenu Web dans votre application présente plusieurs avantages :

  • Efficacité : réutilisez le code existant de votre site Web. S'appuyer sur les technologies et les contenus Web existants.
  • Intégration : utilisez du contenu externe provenant de fournisseurs tiers, comme des contenus multimédias et des annonces, dans votre application.
  • Flexibilité : mettez à jour le contenu de manière dynamique sans être limité à des UI prédéfinies ni à la publication de mises à jour d'applications.

Quand utiliser le contenu Web ?

Il existe trois principaux cas d'utilisation du Web dans votre application Android :

1. Intégrer du contenu Web dans votre application en tant que contenu principal ou secondaire : utilisez WebView.

  • Affichez votre propre contenu Web de manière intégrée comme expérience principale lorsque vous souhaitez une grande flexibilité pour personnaliser ou mettre à jour l'UI.
  • Afficher d'autres contenus tels que des annonces, des conditions et réglementations légales, ou d'autres contenus tiers en ligne ou dans une fenêtre de l'expérience de votre application.
Application Android ouverte sur Google Play, avec la vue Web principale mise en évidence dans un cadre rouge Ouverture d'une application Android avec un texte d'aide à l'intérieur d'une boîte rouge.
Figure 2. Contenu Web intégré à l'application avec des composants `WebView`comme contenu principal (à gauche) et contenu secondaire (à droite).

2. Navigation dans l'application à l'aide de Custom Tabs ou de WebView pour les cas d'utilisation plus avancés

  • Offrez une expérience de navigation complète dans l'application lorsque les utilisateurs cliquent sur un lien et que vous souhaitez les garder dans l'application au lieu de les rediriger vers un navigateur externe.
    • Remarque : Pour les appareils à grand écran tels que les tablettes et les appareils pliables, des options supplémentaires permettent aux applications de tirer parti de l'espace supplémentaire :
    • Les applications peuvent ouvrir des liens Web en écran partagé à l'aide de lancer une expérience multifenêtre adjacente. Cela permet aux utilisateurs d'effectuer plusieurs tâches à la fois entre votre application et un navigateur. OU
    • Custom Tabs disposent d'une option de panneau latéral qui peut s'ouvrir dans la même tâche, mais à côté du contenu de votre application existante.
  • Custom Tab est optimisé par le navigateur par défaut de l'utilisateur, pour les navigateurs compatibles avec Custom Tabs.
    • Bien qu'il soit possible d'utiliser un WebView et de fournir une expérience de navigation dans l'application hautement personnalisable, nous recommandons Custom Tabs pour une expérience de navigateur prête à l'emploi et une transition fluide lorsqu'un utilisateur souhaite ouvrir un lien Web dans le navigateur.
Page Web avec un lien intégré dans une zone rouge à gauche, et un navigateur intégré à droite.
Figure 3 : Cliquer sur un lien intégré à l'application (à gauche) et ouvrir un navigateur intégré à l'application (à droite).

3. Flux de connexion ou d'authentification dans votre application

Android suggère de créer vos flux de connexion ou d'authentification à l'aide du Gestionnaire d'identifiants. Si vous devez encore utiliser Embedded Web pour ces expériences, suivez les conseils ci-dessous :

  • Certaines applications utilisent des WebView pour fournir des flux de connexion à leurs utilisateurs, y compris en utilisant un nom d'utilisateur et une clé d'accès (ou un mot de passe) spécifiques à votre application. Cela permet aux développeurs d'unifier les flux d'authentification sur toutes les plates-formes.
  • Lorsque vous redirigez les utilisateurs vers un fournisseur d'identité ou une expérience de connexion tiers, comme "Se connecter avec…", utilisez Custom Tabs. Le lancement d'un Custom Tab permet de protéger les identifiants de l'utilisateur en les isolant sur le site tiers.

Pour en savoir plus sur l'utilisation de WebView pour l'authentification, consultez Authentifier les utilisateurs avec WebView. Pour lancer un Custom Tab, consultez Présentation des onglets personnalisés Android.

Champ de connexion dans l'application avec WebView à gauche. Connexion tierce avec un onglet personnalisé à droite.
Figure 4. Champ de connexion dans l'application (à gauche) et connexion tierce ouverte dans un onglet personnalisé (à droite).