Ce guide explique comment distribuer des Android App Bundles (AAB) aux testeurs à l'aide de la CLI Firebase. L'outil CLI vous permet de spécifier les testeurs et les notes de version d'une compilation, puis de la distribuer en conséquence.
App Distribution s'intègre au service de partage d'applications interne de Google Play pour traiter les AAB que vous importez et distribuer des APK optimisés selon la configuration des appareils de vos testeurs. La distribution d'AAB vous permet d'effectuer les opérations suivantes:
Exécutez des APK optimisés (distribués par Google Play) qui sont optimisés pour les appareils de vos testeurs.
Identifiez et déboguez les problèmes spécifiques à un appareil.
Testez les fonctionnalités des app bundles, comme Play Feature Delivery et Play Asset Delivery.
Réduisez la taille des téléchargements pour vos testeurs.
Autorisations requises
Pour importer des AAB dans App Distribution, vous devez associer votre application Firebase à une application dans Google Play. Vous devez disposer du niveau d'accès requis pour effectuer ces actions.
Si vous ne disposez pas de l'accès Firebase nécessaire, vous pouvez demander au propriétaire d'un projet Firebase de vous attribuer le rôle approprié via les paramètres IAM de la console Firebase. Si vous avez des questions sur l'accès à votre projet Firebase, y compris sur la recherche ou l'attribution d'un propriétaire, consultez les questions fréquentes sur les autorisations et l'accès aux projets Firebase.
Le tableau suivant s'applique à l'association d'une application Firebase à une application dans Google Play, ainsi qu'à l'importation d'AAB.
Action dans la console Firebase | Autorisation IAM requise | Rôles IAM incluant les autorisations requises par défaut | Rôle(s) supplémentaire(s) requis(s) |
---|---|---|---|
Associer une application Firebase à une application dans Google Play | firebase.playLinks.update
|
L'un des rôles suivants : | Accès à un compte de développeur Google Play en tant qu'administrateur |
Importer des AAB dans App Distribution | firebaseappdistro.releases.update
|
L'un des rôles suivants : | –– |
Avant de commencer
Si ce n'est pas encore fait, ajoutez Firebase à votre projet Android. À la fin de ce workflow, vous disposerez d'une application Android Firebase dans votre projet Firebase.
Si vous n'utilisez aucun autre produit Firebase, il vous suffit de créer un projet et d'enregistrer votre application. Si vous décidez d'utiliser des produits supplémentaires, veillez à suivre toutes les étapes de la section Ajouter Firebase à votre projet Android.
Pour associer Firebase à Google Play et importer des AAB, assurez-vous que votre application répond aux exigences suivantes:
L'application dans Google Play et l'application Android pour Firebase sont enregistrées sous le même nom de package.
L'application dans Google Play est configurée dans le tableau de bord des applications et distribuée dans l'un des canaux Google Play (tests internes, de tests fermés, de tests ouverts ou de production).
Une fois l'examen de l'application dans Google Play terminé, celle-ci est publiée. Votre application est publiée si la colonne État de l'application indique l'un des états suivants : "Tests internes" (pas "Brouillon" ni "Tests internes"), "Tests fermés", "Tests ouverts" ou "Production".
Associez votre application Android pour Firebase à votre compte de développeur Google Play:
Dans la console Firebase, accédez à
, puis sélectionnez l'onglet Intégrations. Paramètres du projet Sur la fiche Google Play, cliquez sur Associer.
Si vous avez déjà effectué l'association, cliquez sur Gérer.Suivez les instructions à l'écran pour activer l'intégration App Distribution et sélectionner les applications Android pour Firebase à associer à Google Play.
En savoir plus sur l'association à Google Play
Étape 1 : Créer votre application
Lorsque vous êtes prêt à distribuer une version préliminaire de votre application à des testeurs, créez votre AAB (consultez la documentation Android Studio pour obtenir des instructions).
Étape 2 : Distribuer votre application aux testeurs
Pour distribuer votre application aux testeurs, importez son fichier à l'aide de la CLI Firebase:
- Installez la dernière version de la CLI Firebase ou appliquez la mise à jour correspondante (nous vous recommandons de télécharger le binaire autonome pour la CLI spécifique à votre OS). Assurez-vous de vous connecter et de vérifier que vous pouvez accéder à vos projets. .
- Sur la page App Distribution de la console Firebase, sélectionnez l'application que vous souhaitez distribuer, puis cliquez sur Commencer.
-
Exécutez la commande
appdistribution:distribute
pour importer votre application et la distribuer aux testeurs. Utilisez les paramètres suivants pour configurer la distribution:appdistribution:distribute options --app
Obligatoire: ID d'application Firebase de votre application. Vous trouverez l'ID de l'application dans la console Firebase, sur la page Paramètres généraux.
--app 1:1234567890:android:0a1b2c3d4e5f67890
--token
Jeton de rafraîchissement imprimé lorsque vous authentifiez votre environnement de CI avec la CLI Firebase (pour en savoir plus, consultez la section Utiliser la CLI avec les systèmes de CI ).
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-file
Notes de version de ce build.
Vous pouvez spécifier les notes de version directement:
--release-notes "Text of release notes"
Vous pouvez également spécifier le chemin d'accès à un fichier texte brut:
--release-notes-file "/path/to/release-notes.txt"
--testers
--testers-file
Les adresses e-mail des testeurs que vous souhaitez inviter.
Vous pouvez spécifier les testeurs sous la forme d'une liste d'adresses e-mail séparées par une virgule:
--testers "ali@example.com, bri@example.com, cal@example.com"
Vous pouvez également spécifier le chemin d'accès à un fichier texte brut contenant une liste d'adresses e-mail séparées par une virgule:
--testers-file "/path/to/testers.txt"
--groups
--groups-file
Les groupes de testeurs que vous souhaitez inviter (consultez la section Gérer les testeurs). Les groupes sont spécifiés à l'aide d'
alias de groupe , que vous pouvez rechercher dans la console Firebase.Vous pouvez spécifier les groupes sous forme de liste d'éléments séparés par une virgule:
--groups "qa-team, trusted-testers"
Vous pouvez également spécifier le chemin d'accès à un fichier texte brut contenant une liste de noms de groupes séparés par une virgule:
--groups-file "/path/to/groups.txt"
--debug
Option que vous pouvez inclure pour imprimer la sortie du journal détaillée.
--test-devices
--test-devices-file
Les types de distribution suivants font partie de la fonctionnalité bêta du testeur automatique.
Les appareils de test sur lesquels vous souhaitez distribuer des builds (voir la section Tests automatisés).
Vous pouvez spécifier les testeurs sous la forme d'une liste d'adresses e-mail séparées par une virgule:
--test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
Vous pouvez également spécifier le chemin d'accès à un fichier texte brut contenant une liste d'appareils de test séparés par une virgule:
--test-devices-file: "/path/to/test-devices.txt"
--test-username
Nom d'utilisateur à utiliser pour la connexion automatique lors des tests automatisés.
--test-password
--test-password-file
Mot de passe de connexion automatique à utiliser lors des tests automatisés.
Vous pouvez également spécifier le chemin d'accès à un fichier texte brut contenant un mot de passe:
--test-password-file: "/path/to/test-password.txt"
--test-username-resource
Nom de la ressource du champ du nom d'utilisateur à utiliser pour la connexion automatique lors des tests automatisés.
--test-password-resource
Nom de la ressource du champ de mot de passe à utiliser pour la connexion automatique lors des tests automatisés.
--test-non-blocking
Exécutez des tests automatisés de manière asynchrone. Accédez à la console Firebase pour consulter les résultats des tests automatiques.
Exemple :
firebase appdistribution:distribute test.aab \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
La CLI Firebase affiche les liens suivants après l'importation de la version. Ces liens vous aident à gérer les binaires et à vous assurer que les testeurs et les autres développeurs disposent de la bonne version:
firebase_console_uri
: lien vers la console Firebase affichant une seule version. Vous pouvez partager ce lien avec les autres développeurs de votre organisation.testing_uri
: lien vers la version dans l'expérience de test (application native Android) permettant aux testeurs de consulter les notes de version et d'installer l'application sur leur appareil. Le testeur doit avoir accès à la version pour pouvoir utiliser le lien.binary_download_uri
: lien signé qui télécharge et installe directement le binaire de l'application (fichier APK ou AAB). Le lien expire au bout d'une heure.
Gérer les testeurs et les groupes
En plus de distribuer des versions, vous pouvez également utiliser
appdistribution:testers:add
etappdistribution:testers:remove
pour inviter de nouveaux testeurs ou supprimer des testeurs existants de votre projet Firebase.Une fois qu'un testeur a été ajouté à votre projet Firebase, vous pouvez l'ajouter à des versions individuelles. Une fois qu'un testeur a été supprimé, il n'a plus accès aux versions de votre projet. Notez que les testeurs récemment supprimés peuvent conserver l'accès à vos versions pendant un certain temps.
Exemple :
firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
Les adresses e-mail des testeurs doivent être séparées par un espace. Vous pouvez également spécifier des testeurs à l'aide de
--file /path/to/testers.txt
.Si vous avez un grand nombre de testeurs, envisagez d'utiliser des groupes : vous pouvez utiliser
appdistribution:group:create
etappdistribution:group:delete
pour créer ou supprimer des groupes dans votre projet Firebase.Utilisez
--group-alias
pour spécifier un groupe pour les commandesappdistribution:testers:add
etappdistribution:testers:remove
.Exemple :
firebase appdistribution:group:create "QA team" qa-team
firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
firebase appdistribution:group:delete qa-team
Une fois que vous avez distribué votre build, il est disponible dans le tableau de bord App Distribution de la console Firebase pendant 150 jours (cinq mois). Lorsque le build est sur le point d'expirer dans 30 jours, une notification d'expiration s'affiche à la fois dans la console et dans la liste des builds de votre testeur sur son appareil de test.
Les testeurs qui n'ont pas été invités à tester l'application reçoivent des invitations par e-mail pour commencer, et les testeurs existants reçoivent des notifications par e-mail indiquant qu'une nouvelle version est prête à être testée (consultez le guide de configuration des testeurs pour savoir comment installer l'application de test). Vous pouvez surveiller l'état de chaque testeur (s'il a accepté l'invitation et s'il a téléchargé l'application) dans la console Firebase.
Les testeurs disposent de 30 jours pour accepter une invitation à tester l'application avant qu'elle n'expire. Lorsqu'une invitation est sur le point d'expirer dans cinq jours, une notification d'expiration s'affiche dans la console Firebase à côté du testeur d'une version. Vous pouvez renouveler une invitation en la renvoyant à l'aide du menu déroulant de la ligne du testeur.
Étapes suivantes
Implémentez des commentaires dans l'application pour permettre aux testeurs d'envoyer facilement des commentaires sur votre application (y compris des captures d'écran).
Découvrez comment afficher des alertes dans l'application à vos testeurs lorsque de nouvelles versions de votre application sont disponibles à l'installation.
Découvrez les bonnes pratiques pour distribuer des applications Android aux testeurs de contrôle qualité à l'aide de la CI/CD.