Dévoilé durant la Google IO de cette année, les Chrome Custom Tabs ont la responsabilité de rendre la transition entre une application et le web transparente. Plus de précision dans la suite de l'article.
Les développeurs font face à un compromis pour afficher du contenu web dans leur application Android. Ouvrir les liens dans le navigateur est habituel pour l'utilisateur et simple à implémenter, mais la transition entre l'application et le web est lourde. Il est possible de personnaliser les WebView pour avoir plus de contrôle mais c'est plus complexe techniquement à implémenter et cela offre une expérience non familière à l'utilisateur.
Une nouvelle fonctionnalité de Chrome appelé custom tabs permet d'autoriser une application à personnaliser le look de Chrome et rendant la transition de l'application au web rapide et transparente.
Comme prouver ci-dessus, cette fonctionnalité permet de fournir une transition plus rapide et plus familière pour l'utilisateur. L'application peut pré-charger les pages en tâche de fond de l'application pour pouvoir accélérer la transition. Les applications peuvent personnaliser le look de Chrome comme la couleur de la toolbar, l'animation de la transition et la personnalisation des actions disponibles depuis la Custom Tab.
De plus, les Chrome Custom Tabs bénéficient des fonctionnalités de sécurité avancé de Chrome, mais aussi de son architecture multi processus et son modèle de permission. Le même jar de cookie est utilisé que Chrome pour une expérience de navigation plus familière (les sessions des sites sont gardés, ainsi que les mots de passe, ...) en gardant les données utilisateurs en sécurité.
Cette fonctionnalité est simple à implémenter et à paramétrer sur les intents View existante. L'intégration de base requiert seulement quelques lignes mais la support library est nécessaire pour une implémentation plus complexe. Cette fonctionnalité est disponible sur tous les appareils possédant une version de Chrome.
Un guide est aussi disponible ici : https://developer.chrome.com/multidevice/android/customtabs