Comment ajouter plusieurs fonctionnalités Instant App à votre application

Dans cette série en trois parties, nous explorons les applications instantanées Android, une nouvelle fonctionnalité qui offre un moyen totalement nouveau d’atteindre les utilisateurs qui n’ont pas encore installé votre application sur leur appareil. Cela permet de rendre votre application identifiable et accessible depuis n’importe quel emplacement prenant en charge les URL, y compris les e-mails, les résultats de recherche Google, les publications sur les plateformes de médias sociaux, les commentaires YouTube et les forums..

Dans le premier article, nous avons examiné ce que sont les applications instantanées, leur fonctionnement et les principaux avantages qu'elles offrent aux développeurs Android. et Utilisateurs d'applications Android. Nous avons même acquis une expérience pratique des applications instantanées, en utilisant l'assistant de création de projet d'Android Studio pour générer rapidement et facilement un projet préconfiguré pour prendre en charge les applications instantanées Android..

Dans le deuxième article, j'ai utilisé l'exemple d'application téléchargeable MyLocation pour montrer comment mettre à jour un projet Android existant pour prendre en charge la fonctionnalité d'applications instantanées. Si vous suivez depuis le début, à ce stade, vous aurez reconfiguré avec succès le projet MyLocation afin d'inclure un module de fonction unique pouvant s'exécuter sur n'importe quel périphérique virtuel Android. sans pour autant vous devez installer l'application complète MyLocation. 

Cependant, MyLocation ne contient actuellement qu'un seul module de fonctionnalités de base et, lorsqu'il s'agit de projets Android réels, vous aurez souvent envie de proposer plusieurs fonctionnalités sous forme d'application instantanée. Dans cette dernière tranche, je vais vous montrer comment ajouter plusieurs modules de fonctionnalités à vos projets Android en vous guidant tout au long du processus d'ajout d'un second module de fonctionnalités à MyLocation, puis en mappant ce module sur une autre URL..

Enfin, pour vous assurer de tirer le meilleur parti des applications instantanées, nous allons compléter cette série en jetant un coup d'œil aux meilleures pratiques d'applications instantanées..

 Création d'une application instantanée multi-fonctionnalités

Si vous avez terminé le deuxième versement, votre version du projet MyLocation devrait actuellement être divisée en modules suivants:  

  • mylocation-app. Le module d'application installable du projet, également appelé module APK. 
  • base de déplacement. Le module de fonctionnalités de base, qui contient tout le code commun et les ressources utilisés dans tous les modules du projet. Ce module contient un MapsActivity pouvant s'exécuter indépendamment de l'application installable et se lancant sur le périphérique de l'utilisateur chaque fois qu'il tente d'accéder à l'URL www.example.com/maps.
  • mylocation-instantapp. Le module d'application instantanée, chargé de transformer chacun des modules de fonctionnalités de votre projet en une application instantanée APK. 

Si cela ne correspond pas à votre version de MyLocation, vous pouvez la télécharger à partir de GitHub.. 

Avant de commencer à ajouter un deuxième module de fonctionnalité à MyLocation, vous devez prendre en compte quelques éléments. 

Premièrement, au moment de la rédaction de cet article, il était uniquement possible de développer des applications instantanées à l'aide des versions Android Studio 3.0 Preview et Canary. Chaque fois que vous travaillez avec des versions à accès précoce, vous devez être prêt à rencontrer des bogues, des fonctionnalités manquantes et tout autre comportement généralement étrange qui sera (espérons-le!) Corrigé bien avant la version stable. Cependant, travailler avec plusieurs modules de fonctionnalités d'application instantanés semble être une tâche difficile. particulièrement capricieux dans les versions Android Studio 3.0 Canary.

Pour réduire le risque de rencontrer des problèmes, vous devez vérifier que vous disposez de la dernière version de Canary avant d'installer un second module de fonctions dans le projet MyLocation. Cependant, si votre projet Est-ce que commencez soudainement à générer des erreurs ou à refuser de compiler, puis, à la fin de cet article, vous trouverez une section Dépannage contenant des solutions de contournement et des solutions possibles pour tous les problèmes susceptibles de survenir lors de l'ajout de modules de fonctionnalités supplémentaires à votre projet.. 

Notez également que dans ce didacticiel, nous allons créer un module de fonctionnalité supplémentaire, mapper ce module sur une URL unique, puis tester le module sur un périphérique virtuel Android. C'est déjà beaucoup de terrain à couvrir, alors pour éviter que ce message ne prenne trop de temps, nous allons créer un module qui affiche simplement une interface utilisateur et ne contient aucune fonctionnalité réelle. Cependant, il n'y a aucune raison pour que vous ne puissiez pas développer ce module avec votre propre code et vos propres ressources, si vous souhaitiez une expérience d'application instantanée plus authentique.. 

Créez votre module de fonctionnalités

La première étape pour transformer MyLocation en une application instantanée multi-fonctionnalités est de créer notre module de fonctionnalités: 

  • Ouvrez le projet MyLocation dans Android Studio.. 
  • Sélectionner Nouveau> Nouveau module… depuis la barre d'outils Android Studio.
  • Sélectionner Module de fonctionnalité, et cliquez Suivant.
  • dans le Nom du module champ, entrez directions de déplacement.
  • Vérifiez que le minimumSDK correspond à la valeur que vous avez utilisée ailleurs dans votre projet, puis cliquez sur Suivant.

Nous n'implémentons peut-être aucune fonctionnalité réelle dans notre module mylocation-directions, mais nous avons toujours besoin d'une confirmation visuelle que ce module a été chargé correctement. Sélectionnez donc le modèle de votre choix (j'opte pour Activité de base) puis cliquez sur Suivant. Je vais mapper ce module de fonctionnalité sur www.example.com/directions. Commencez donc par entrer exemple.com dans le Hôte d'URL d'application instantanée champ. Ouvrez le Type de route d'URL d'application instantanée liste déroulante et sélectionnez soit CheminpathPrefix, ou pathPattern. Puisque je veux que ce module réponde à www.example.com/directions seulement, Je vais choisir Chemin

dans le Itinéraire instantané de l'application, entrer /directions. Cela nous donne notre URL complète: example.com/directions. Changer la Nom de l'activité à DirectionsActivité. Assurez-vous que le Nom de la mise en page est réglé sur activités_directions, puis cliquez sur terminer.

Déclarer vos dépendances 

Comme toi peut Comme je l’ai déjà remarqué, un projet prenant en charge la fonctionnalité d’applications instantanées se composera inévitablement de plusieurs modules. Si ces modules doivent fonctionner ensemble pour créer plusieurs fichiers APK Instant App différents, plus votre APK «installable» installable, alors ils doivent être conscients les uns des autres, ce qui signifie que vous devez ajouter les dépendances nécessaires à chaque module build.gradle fichier.

Lorsque vous créez un module de fonction via le Nouveau> Nouveau module… menu, Android Studio génère en fait quelques-unes de ces dépendances, mais ne les génère pas toutes. Et, pour compliquer encore les choses, vous devez utiliser différentes expressions, en fonction du type de module (s) avec lequel vous travaillez..

Pour vous donner un aperçu, chaque fois que vous créez un module de fonctionnalité, vous devez informer votre projet que:

  • Ce module de fonctionnalités dépend du module de fonctionnalités de base de votre projet, à l'aide du projet d'implantation expression. 
  • Le module de fonctionnalités de base de votre projet dépend de ce module de fonctionnalités, à l'aide du projet de long métrage expression.
  • Le module d'application instantanée de votre projet dépend de ce module de fonctionnalité, à l'aide du projet d'implantation expression. 

Dans cette section, nous allons examiner chacune de ces dépendances. Commençons par les propriétés de dépendance générées automatiquement par Android Studio..  

projet d'implémentation (': mylocation-base')

Le module de fonctionnalités de base de votre projet contient tout le code commun et toutes les ressources utilisés dans votre projet. Ainsi, tous les modules de fonctionnalités supplémentaires créés tout dépend de ce module de fonctionnalités de base unique. 

Si vous ouvrez le module de votre fonctionnalité (directions de déplacement) build.gradle fichier, vous verrez qu'Android Studio a déjà ajouté le module de fonctionnalités de base (base de déplacement) comme dépendance:

dépendances … projet d'implémentation (': mylocation-base')

Quel que soit le nombre de modules de fonction supplémentaires que vous créez, tous build.gradle les fichiers contiendront cette même déclaration: projet d'implémentation (': mylocation-base').

projet de fonctionnalité (": mylocation-directions")

Votre module de fonctionnalités de base doit également connaître tous vos modules de fonctionnalités supplémentaires..

Si vous ouvrez votre base de déplacement modules build.gradle fichier, alors vous verrez que, une fois encore, Android Studio a fait le travail pour vous, et a déclaré directions de déplacement comme dépendance:

dépendances … projet de fonctionnalité (": mylocation-directions")

Tous les modules de fonctionnalité supplémentaires que vous créez seront également ajoutés à cette section automatiquement, par exemple:

dépendances … projet de fonctionnalité (": mylocation-directions") projet de fonctionnalité (": mylocation-share") projet de fonctionnalité (": mylocation-search")

Ce que Android Studio n'ajoute pas… .

Android Studio ne génère pas automatiquement certaines dépendances. Vous devrez donc les ajouter manuellement..

projet d'implémentation (': mylocation-directions')

Les applications instantanées sont des composants autonomes pouvant fonctionner indépendamment de l'application installable. Dans le contexte de notre application MyLocation, cela signifie que directions de déplacement peut fonctionner sans mylocation-app. Cependant, l'inverse n'est pas vrai: mylocation-app ne peut pas fonctionner sans directions de déplacement

Le fichier APK installable doit contenir tout des modules de votre projet, y compris tous les modules de fonctionnalités de votre application instantanée. Par conséquent, nous devons donner le module APK (mylocation-app) un avertissement sur notre nouveau module de fonctionnalités (directions de déplacement). 

Ouvrez le mylocation-app build.gradle fichier et pointez-le vers le directions de déplacement module:

dépendances projet d'implémentation (': mylocation-base') // Ajoute la ligne suivante // projet d'implémentation (': mylocation-directions')

Vous devrez répéter cette étape pour chaque module de fonction que vous créez. Par conséquent, si vous continuez à ajouter des modules de fonction, le mylocation-app build.gradle Le fichier peut finir par ressembler à ceci:

Dépendances projet d'implémentation (': mylocation-base') projet d'implémentation (': mylocation-directions') projet d'implémentation (": mylocation-share") projet d'implémentation (": mylocation-search")

Le module d'application instantanée est responsable de la transformation de chacun des modules de fonctionnalité de votre projet en un fichier APK d'application instantanée. Il doit donc en savoir plus sur chaque module de fonction que vous créez. 

Ouvrez votre mylocation-instantapp modules build.gradle déposer et déclarer base de déplacement comme dépendance en utilisant le projet d'implantation expression:

dépendances projet d'implémentation (': mylocation-base') projet d'implémentation (': mylocation-directions')

Et une dépendance supplémentaire

Bien que nous parlions de dépendances de projets, il reste une dépendance importante à ajouter.. 

Un projet qui prend en charge les applications instantanées doit simplement déclarer son ID d'application attribut une fois, dans le module APK (app). Cependant, pour être sûr que ce single ID d'application Si l'attribut est propagé correctement dans tous vos modules de fonctionnalités, vous devez ajouter le module APK en tant que dépendance du module de fonctionnalités de base.. 

Ouvrez votre base de déplacement modules build.gradle déposer et ajouter mylocation-app comme dépendance, en utilisant le projet d'application expression:

dependencies … // Ajoute la ligne suivante // projet d'application (": mylocation-app")

Contrairement à toutes les autres dépendances dont nous avons parlé, il vous suffit de déclarer une dépendance sur le module APK une fois par projet, et pas à chaque fois que vous créez un module de fonctionnalité.. 

Supprimer les fichiers et ressources indésirables

Bien que cette étape ne soit pas obligatoire, notre module de fonctionnalités contient actuellement des fichiers et des répertoires inutiles. Nous allons donc suivre les meilleures pratiques et rationaliser nos processus. directions de déplacement module:

  • Basculer vers les studios Android Projet vue.
  • Ouvrez le directions de déplacement module. 
  • Supprimer le src / androidTest annuaire.
  • Supprimer le src / test annuaire. 

Terminer la cartographie de votre URL

Lors de la création de ce module, nous avons entré des informations sur l'URL vers laquelle nous souhaitons mapper ce module. Cependant, actuellement, l’assistant de création de module d’Android Studio ne peut pas créer de mappage d’URL complet. Vous devez donc ouvrir le Assistant de liens d'application et terminez ce processus manuellement:

  • Sélectionner Outils> Assistant Liens d'application depuis la barre d'outils Android Studio.
  • Clique le Ouvrir l'éditeur de mappage d'URL bouton. 
  • Dans le tableau qui apparaît, sélectionnez le DirectionsActivité ligne, puis cliquez sur la petite icône représentant un crayon. 
  • Sélectionnez le http bouton radio.
  • Assure-toi Chemin est sélectionné dans le menu déroulant, puis entrez /directions dans le champ de texte d'accompagnement. 
  • Assure-toi DirectionsActivité est sélectionné dans le Activité liste déroulante, puis cliquez sur D'accord
  • Retour dans le Assistant de liens d'application panneau, cliquez sur le Sélectionnez une activité bouton.
  • Lorsque vous y êtes invité, sélectionnez DirectionsActivité puis cliquez sur Insérer le code.

Vous avez maintenant deux modules de fonctionnalité qui sont mappés à différentes URL. 

Testez votre directions de déplacement Module

Actuellement, notre configuration d'exécution est configurée pour simuler l'utilisateur en tapant sur le lien www.example.com/maps, qui se lancera. MapsActivity, et par extension notre base de déplacement module. Cependant, si nous testons notre module de fonctionnalité supplémentaire, nous devrons simuler l'utilisateur en tapant www.example.com/directions, ce qui lancera notre DirectionsActivité. Cela nous oblige à mettre à jour notre configuration d'exécution: 

  • Lancez le DAV que vous avez utilisé pour tester votre projet de déplacement et assurez-vous d'être connecté à un compte Google. Si vous n'êtes pas connecté à un compte, ouvrez le programme de lancement de l'AVD, sélectionnez le Google app, puis entrez votre adresse Gmail et votre mot de passe.
  • Vérifiez que l'application MyLocation n'est pas installée sur ce périphérique. Si tel est le cas, désinstallez-le en le faisant glisser sur le périphérique. Désinstaller icône.
  • Revenez à la fenêtre principale d'Android Studio et sélectionnez Exécuter> Modifier les configurations…
  • Dans le menu de gauche, sélectionnez mylocation-instantapp.
  • dans le URL Dans ce champ, entrez l'URL à tester, qui est dans cet exemple http://www.example.com/directions.
  • Cliquez sur Appliquer, suivi par D'accord.
  • Dans la barre d’outils Android Studio, cliquez sur Courir…
  • Sélectionner mylocation-instantapp.
  • Choisissez votre appareil cible, puis cliquez sur D'accord.

Votre DirectionsActivité devrait maintenant apparaître sur votre AVD. Félicitations, vous venez de créer une application instantanée multi-fonctions! 

Dépannage

Avoir à lutter contre les bugs et autres comportements étranges fait partie du plaisir de travailler avec les versions à accès anticipé d'Android Studio. 

Si votre Android Studio construit Est-ce que allez bien, et vous ne trouvez rien qui cloche dans votre projet, alors il est possible que l'erreur vienne d'Android Studio lui-même. 

Dans cette section, je vais partager quelques solutions de contournement pour toutes les erreurs les plus courantes d'Android Studio et les bizarreries que vous pouvez rencontrer lors de la création d'une application instantanée multi-fonctionnalités.. 

Et, juste au cas où vous rencontriez un problème qui ne figure pas dans cette liste, je partagerai également une liste de correctifs généraux pouvant vous aider à aplanir les problèmes rencontrés actuellement avec Android Studio.. 

Le déploiement instantané d'applications échoue aux niveaux 24 et 25 de l'API

La première fois que vous essayez de tester votre application instantanée sur un DAV qui exécute Nougat, il est possible que l'application ne parvienne pas à se déployer. Si cela se produit, alors: 

  • Sélectionner Exécuter> Exécuter mylocation-instantapp depuis la barre d'outils Android Studio.
  • Avant qu'Android Studio ait la possibilité de terminer le déploiement de votre application, sélectionnez Run> Stop.
  • Sélectionner Exécuter> Exécuter mylocation-instantapp encore une fois, mais cette fois, laissez l'opération se terminer. Votre application instantanée devrait maintenant se déployer sans aucun problème.  

Problème de fiabilité avec le cache de provisioning instantané des applications

Si vous rencontrez le Problème de fiabilité avec le cache de provisioning instantané des applications message d'erreur lorsque vous essayez de déployer votre application, cela signifie que vous devez vider votre cache: 

  • Sélectionner Exécuter> Modifier les configurations… depuis la barre d'outils Android Studio.
  • Sélectionner mylocation-instantapp dans le menu de gauche.
  • Sélectionner Mise à disposition instantanée d'applications (vers le bas de cette fenêtre).
  • Cliquez sur l'icône du petit crayon.
  • Sélectionner Effacer le cache des périphériques provisionnés.
  • Cliquez sur D'accord, suivi par Appliquer et D'accord une fois de plus. 

Problèmes AAPT2

Si Android Studio se plaint de problèmes liés à AAPT2 (tels que l'affichage d'un La liaison AAPT2 a échoué message d'erreur), vous pouvez généralement résoudre ces problèmes en désactivant AAPT.

Pour désactiver AAPT, ouvrez le fichier Gradle de votre projet. scripts / gradle.properties fichier et ajouter le texte suivant: 

android.enableAapt2 = false 

Erreur: (85) attribut 'android: splitName' introuvable

C’est facilement le problème le plus frustrant et le plus étrange que vous puissiez rencontrer lors du développement d’applications instantanées.. 

Dans certaines versions d’Android Studio 3.0, l’utilisation de la - Les caractères des noms de modules peuvent devenir un problème lorsque vous ajoutez de nouveaux modules à votre projet. Cette erreur est particulièrement étrange, car le - caractéristiques des personnages dans de nombreux exemples d'applications instantanées de Google, y compris l'application instantanée Codelabs. 

Si Android Studio commence à se plaindre de la android: splitName attribut, puis vérifiez que vous exécutez la dernière version de Android Studio 3.0. Vous pourrez également résoudre ce problème en nettoyant, puis en reconstruisant votre projet..

Si le problème persiste, vous devrez peut-être passer un certain temps à parcourir chacun de vos modules et à retirer le - personnage.  

Et si tout le reste échoue:

  • Nettoyez et reconstruisez votre projet. Sélectionner Construire> Nettoyer le projet depuis la barre d’outils Android Studio, suivi de Nettoyer> Reconstruire le projet.
  • Essayez un autre AVD. Si vous rencontrez une erreur lorsque vous essayez de déployer votre application instantanée sur un AVD, vous devez vérifier si ce problème persiste lorsque vous utilisez un AVD ayant des spécifications différentes. En abandonnant un DAV sans au moins vérifier Pourquoi votre projet refuse de fonctionner sur cet appareil n'est pas quelque chose que vous voudrez appliquer à vos applications de production, vous pouvez généralement contourner les règles lorsque vous expérimentez une nouvelle fonctionnalité sur une version à accès anticipé d'Android Studio. En particulier, vous pouvez avoir plus de succès lors du test de votre application instantanée sur un AVD qui exécute Android O, par rapport aux AVD qui exécutent une version antérieure d'Android.. 
  • Vérifiez que vous n'avez pas manqué une mise à jour. Au moment de la rédaction de cet article, l'équipe d'Android Studio publie chaque semaine une nouvelle version de Canary. Il est donc toujours utile de vérifier si vous disposez de la toute dernière version d'Android Studio. En théorie, chaque nouvelle version devrait résoudre tous les problèmes découverts dans la version précédente. Si vous n'exécutez pas la version la plus récente, il est donc possible que le problème rencontré ait déjà été résolu dans une version plus récente.. 

Distribuer votre application instantanée

Une fois que vous avez terminé de tester votre projet d'application instantanée, les étapes suivantes consistent à organiser des tests alpha et bêta, puis vous êtes prêt à lancer votre application sur le public.! 

Vous pouvez effectuer toutes ces tâches via la console Google Play. Si vous avez déjà publié une application installable "normale", ce processus devrait vous sembler très familier: 

  • Naviguer vers la console de jeu.
  • Téléchargez votre application, si vous ne l'avez pas déjà fait.
  • Ouvrez le menu latéral de la Play Console et sélectionnez Toutes les applications.
  • Sélectionnez l'application que vous souhaitez tester ou publier. 
  • Sélectionner Applications instantanées Android dans le menu de gauche. 


Vous pouvez ensuite choisir parmi les types de piste suivants, selon que vous souhaitez tester ou publier votre application: 

  • Pré-version instantanée de l'application. Cette section contient tous les paramètres nécessaires pour envoyer des candidats en version préliminaire à vos testeurs. Notez que pour utiliser ces paramètres, vous devez avoir créé au moins une liste de testeurs. si vous n'avez pas terminé cette étape, vous pouvez créer une liste en sélectionnant Paramètres> Gérer les testeurs> Créer une liste depuis le menu latéral de la console de jeu. 
  • Développement d'application instantanée. Cette section vous permet de déployer votre application sur vos testeurs. Encore une fois, vous devez avoir créé au moins une liste de testeurs pour pouvoir utiliser les paramètres de cette section..  
  • Production instantanée d'applications. Une fois que vous êtes satisfait de votre application, cette section contient tout ce dont vous avez besoin pour préparer, réviser et publier votre application sur le Google Play Store.. 

Dépannage

Lorsque vous essayez de publier un projet avec une prise en charge instantanée des applications, il est possible que vous rencontriez l'erreur suivante: 

Votre site 'www.example.com”N'a pas été lié à votre application via le protocole Digital Assets Link.

Si cela se produit, vérifiez que:

  • Votre fichier de liens d'actifs numériques (assetlinks.json) est accessible au public et n'est protégé par aucune forme d'authentification, d'IP interne ou de pare-feu. 
  • Toutes les URL mappées sur vos modules de fonctionnalités sont accessibles de manière externe. Si votre application utilise des URL uniquement disponibles en interne, vous ne pourrez pas télécharger votre application sur la console Google Play.. 
  • Le domaine que vous utilisez n'est pas déjà associé à une autre application, car plusieurs applications instantanées ne peuvent pas utiliser le même domaine.. 
  • Votre serveur possède un certificat SSL valide émanant d'une autorité de certification publique ou de confiance.. 

Les meilleures pratiques

Les applications instantanées constituent une toute nouvelle façon de consommer des applications Android. Il n'est donc pas surprenant qu'elles appliquent leurs meilleures pratiques..

Dans cette section, nous allons nous assurer que vous tirez le meilleur parti de cette nouvelle fonctionnalité en jetant un coup d'œil aux meilleures pratiques d'application instantanées.. 

Fournir autant de fonctionnalités que possible avant de demander à l'utilisateur de se connecter

Ce n’est pas si inhabituel que des applications installables demandent à l’utilisateur de créer un compte sur le tout premier écran. Après tout, si l’utilisateur s’est déjà engagé à installer une application, il est peu probable qu’il soit effrayé par cette application qui le demande. leur adresse email!

Cependant, les applications instantanées sont un complètement histoire différente, car il est possible pour un utilisateur de lancer un module d'application instantané sans savoir n'importe quoi à propos de l'application connexe. Imaginez qu'un ami vous ait envoyé un lien avec aucune explication. Taper sur ce lien pour lancer une application instantanée. Vous ne savez pas ce que cette application a à offrir ni qui l'a créée, mais elle vous demande immédiatement votre adresse e-mail. Dans quelle mesure êtes-vous susceptible de transmettre ces informations??

Si votre application instantanée inclut une expérience de connexion, essayez de différer le plus possible cette boîte de dialogue de connexion. Donner à l'utilisateur plus de temps pour découvrir le contenu et les fonctionnalités de votre application augmentera ses chances de créer un compte à l'invite.. 

Même si votre application installable tourne autour de l'utilisateur qui crée un compte, vous devez toujours essayer de concevoir vos modules d'application instantanée afin que les utilisateurs puissent effectuer la tâche qui les invite à lancer ce module, avant de leur demander de créer un compte.

Considérez vos points d'entrée

La plupart des applications pouvant être installées ne comportent que quelques points d’entrée. Celles-ci sont généralement limitées à la première activité que l’utilisateur voit lors du lancement de votre application, ainsi qu’à toutes les activités pouvant être démarrées avec des intentions implicites ou explicites.. 

Les applications instantanées ont loin plus de points d'entrée, car chaque module de fonctionnalité doit avoir au moins un point d'entrée et peut potentiellement avoir plusieurs points d'entrée.

Lorsque vous ajoutez un support d'application instantané à votre application, l'une des décisions les plus importantes que vous devez prendre est de savoir quelle activité (ou quelles activités) constituerait le meilleur point d'entrée pour chaque module. Vous devez sélectionner vos points d'entrée avec soin, car chaque point d'entrée devrait idéalement:

  1. Permettre à l'utilisateur de terminer la tâche qui l'a invité à lancer ce module en premier lieu.
  2. Créez la première impression possible sur les utilisateurs qui pourraient utiliser votre application pour la première fois..
  3. Fournissez tout le contexte dont l'utilisateur a besoin pour comprendre ce que votre application a à offrir, juste au cas où quelqu'un lancerait ce module sans aucune information de base sur votre application.. 

Fournir une expérience transparente pour les utilisateurs qui migrent de Instant à Installable 

L'interface utilisateur, la navigation, les fonctionnalités et l'apparence générale de votre application doivent être constantes dans tous les modules de votre application instantanée. et votre APK installable. Si vous avez remis à quelqu'un un appareil avec votre application en cours d'exécution, il ne devrait pas être en mesure de dire s'il regarde l'instant de votre application ou son formulaire installable.. 

En outre, tout utilisateur d'application instantanée qui franchit le pas et installe votre application devrait être en mesure de reprendre exactement où il s'est arrêté. Par exemple, vous pouvez transférer l'état de l'application stockée de votre application instantanée vers votre application installable à l'aide de cookies ou de stockage local.. 

Créer de petits modules légers

Étant donné que les applications instantanées sont chargées à la demande, la taille du fichier binaire de l'application instantanée a un impact considérable sur la facilité avec laquelle les utilisateurs peuvent accéder à votre application..  

L'équipe Android a imposé une limite de 4 Mo à chaque composant d'application instantanée (c'est la taille du module de fonctionnalité plus module de fonctionnalités de base de votre projet), mais vous devriez viser à rendre vos modules encore plus légers si possible. 

Si vous avez du mal à rationaliser un module particulier, jetez un regard critique sur ce que vous avez inclus dans ce module, car il peut être possible de reformuler un seul module en plusieurs modules plus petits et autonomes.. 

Ne jamais utiliser les applicat