Distribuez des applications Android aux testeurs à l'aide de la CLI Firebase

Ce guide décrit comment distribuer des Android App Bundles (AAB) aux testeurs à l'aide de Firebase CLI. L'outil CLI vous permet de spécifier des testeurs et des notes de version pour une build, puis de distribuer la build en conséquence.

App Distribution s'intègre au service de partage d'applications interne de Google Play pour traiter les AAB que vous téléchargez et diffuser des APK optimisés pour les configurations d'appareils de vos testeurs. La distribution d'AAB vous permet d'effectuer les opérations suivantes :

  • Exécutez des APK optimisés (servis par Google Play) qui sont optimisés pour les appareils de vos testeurs.

  • Découvrez et déboguez les problèmes spécifiques aux appareils.

  • Testez les fonctionnalités de l'ensemble d'applications telles que Play Feature Delivery et Play Asset Delivery .

  • Réduisez la taille des téléchargements pour vos testeurs.

Autorisations requises

Pour télécharger des AAB sur 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 à un propriétaire de projet Firebase de vous attribuer le rôle applicable via les paramètres IAM de la console Firebase . Si vous avez des questions sur l'accès à votre projet Firebase, y compris la recherche ou l'attribution d'un propriétaire, consultez la FAQ « Autorisations et accès aux projets Firebase » .

Le tableau suivant s'applique à la liaison d'une application Firebase à une application dans Google Play, ainsi qu'au téléchargement d'AAB.

Action dans la console Firebase Autorisation IAM requise Rôles IAM qui incluent les autorisations requises par défaut Rôle(s) supplémentaire(s) requis
Associer une application Firebase à une application dans Google Play firebase.playLinks.update L'un des rôles suivants : Accès à un compte développeur Google Play en tant qu'administrateur
Télécharger des AAB sur App Distribution firebaseappdistro.releases.update L'un des rôles suivants : ––

Avant que tu commences

  1. Si vous ne l'avez pas déjà fait, ajoutez Firebase à votre projet Android . À la fin de ce flux de travail, 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 décrites dans Ajouter Firebase à votre projet Android .

  2. Pour créer un lien Firebase vers Google Play et importer des AAB, assurez-vous que votre application répond aux exigences suivantes :

    • L'application sur Google Play et l'application Firebase Android sont toutes deux enregistrées sous le même nom de package.

    • L'application dans Google Play est configurée sur le tableau de bord de l'application et est distribuée sur l'une des pistes de Google Play (tests internes, tests fermés, tests ouverts ou production).

    • L'examen de l'application sur Google Play est terminé et l'application est publiée. Votre application est publiée si la colonne Statut de l'application affiche l'un des statuts suivants : Test interne (pas de test interne préliminaire), Test fermé, Test ouvert ou Production.

  3. Associez votre application Android Firebase à votre compte de développeur Google Play :

    1. Dans la console Firebase, accédez à votre Paramètres du projet , puis sélectionnez l'onglet Intégrations .

    2. Sur la carte Google Play , cliquez sur Lien .
      Si vous disposez déjà de liens vers Google Play, cliquez plutôt sur Gérer .

    3. Suivez les instructions à l'écran pour activer l'intégration d'App Distribution et sélectionnez les applications Firebase Android à lier à Google Play.

    En savoir plus sur la création de liens vers Google Play .

Étape 1. Créez votre application

Lorsque vous êtes prêt à distribuer une version préliminaire de votre application aux testeurs, créez votre AAB (consultez la documentation d'Android Studio pour obtenir des instructions).

Étape 2. Distribuez votre application aux testeurs

Pour distribuer votre application aux testeurs, importez le fichier de votre application à l'aide de la CLI Firebase :

  1. Installez ou mettez à jour vers la dernière version de Firebase CLI (nous vous recommandons de télécharger le binaire autonome pour la CLI spécifique à votre système d'exploitation). Assurez-vous de vous connecter et de tester que vous pouvez accéder à vos projets.
  2. Sur la page Distribution d'applications de la console Firebase, sélectionnez l'application que vous souhaitez distribuer, puis cliquez sur Commencer .
  3. Exécutez la commande appdistribution:distribute pour télécharger votre application et la distribuer aux testeurs. Utilisez les paramètres suivants pour configurer la distribution :

    appdistribution:options de distribution
    --app

    Obligatoire : ID d'application Firebase de votre application. Vous pouvez trouver l'ID de l'application dans la console Firebase, sur la page Paramètres généraux .

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    Un jeton d'actualisation imprimé lorsque vous authentifiez votre environnement CI avec la CLI Firebase (lisez Utiliser la CLI avec les systèmes CI pour plus d'informations).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    Notes de version pour cette version.

    Vous pouvez soit spécifier directement les notes de version :

    --release-notes "Text of release notes"

    Ou spécifiez le chemin d'accès à un fichier texte brut :

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    Les adresses email des testeurs que vous souhaitez inviter.

    Vous pouvez spécifier les testeurs sous forme de liste d'adresses e-mail séparées par des virgules :

    --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 des virgules :

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    Les groupes de testeurs que vous souhaitez inviter (voir Gérer les testeurs ). Les groupes sont spécifiés à l'aide de alias de groupe , que vous pouvez rechercher dans la console Firebase.

    Vous pouvez spécifier les groupes sous forme de liste séparée par des virgules :

    --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 des virgules :

    --groups-file "/path/to/groups.txt"
    --debug

    Un indicateur que vous pouvez inclure pour imprimer une sortie de journal détaillée.

    --test-devices
    --test-devices-file

    Les types de distribution suivants font partie de la fonctionnalité bêta du testeur automatisé .

    Les appareils de test sur lesquels vous souhaitez distribuer les builds (reportez-vous à Tests automatisés ).

    Vous pouvez spécifier les testeurs sous forme de liste d'adresses e-mail séparées par des virgules :

    --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 de périphériques de test séparés par des points-virgules :

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    Le nom d'utilisateur pour la connexion automatique à utiliser lors des tests automatisés .

    --test-password
    --test-password-file

    Le 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 pour le champ du nom d'utilisateur pour la connexion automatique à utiliser lors des tests automatisés .

    --test-password-resource

    Nom de la ressource pour le champ mot de passe pour la connexion automatique à utiliser lors des tests automatisés .

    --test-non-blocking

    Exécutez des tests automatisés de manière asynchrone. Visitez la console Firebase pour les résultats des tests automatiques.

    Par exemple:

    firebase appdistribution:distribute test.aab  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt
    

    La CLI Firebase génère les liens suivants après le téléchargement de la version. Ces liens vous aident à gérer les binaires et à garantir que les testeurs et autres développeurs disposent de la bonne version :

    • firebase_console_uri - Un lien vers la console Firebase affichant une seule version. Vous pouvez partager ce lien avec d'autres développeurs de votre organisation.
    • testing_uri - Un lien vers la version dans l'expérience du testeur (application native Android) qui permet aux testeurs d'afficher les notes de version et d'installer l'application sur leur appareil. Le testeur doit accéder à la version pour pouvoir utiliser le lien.
    • binary_download_uri - Un 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 et appdistribution: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 que vous supprimez un testeur, il n’aura plus accès aux versions de votre projet. Notez que les testeurs récemment supprimés peuvent toujours conserver l’accès à vos versions pendant un certain temps.

    Par exemple:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
    

    Les emails des testeurs doivent être séparés par un espace. Vous pouvez également spécifier des testeurs en utilisant --file /path/to/testers.txt .

    Si vous disposez d'un grand nombre de testeurs, vous devriez envisager d'utiliser des groupes : vous pouvez utiliser appdistribution:group:create et appdistribution:group:delete pour créer ou supprimer des groupes dans votre projet Firebase.

    Utilisez --group-alias pour spécifier un groupe pour les appdistribution:testers:add et appdistribution:testers:remove .

    Par 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, elle devient disponible dans le tableau de bord App Distribution de la console Firebase pendant 150 jours (cinq mois). Lorsque la build arrive à 30 jours de son expiration, un avis d'expiration apparaît à 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 (lisez le guide de configuration du testeur pour obtenir des instructions sur la façon d'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 son expiration. Lorsqu'une invitation expire dans 5 jours, un avis d'expiration apparaît dans la console Firebase à côté du testeur sur une version. Une invitation peut être renouvelée en la renvoyant à l'aide du menu déroulant sur la ligne du testeur.

Prochaines étapes