Distribuer des applications Android aux testeurs à l'aide de fastlane

Ce guide décrit comment distribuer AAB construit aux testeurs utilisant Fastlane , une plate - forme open source qui permet d' automatiser et de libérer iOS construire et les applications Android. Il suit des instructions simples définies dans un Fastfile . Après avoir mis en place Fastlane et votre Fastfile , vous pouvez intégrer la distribution App avec votre configuration Fastlane.

Pour suivre ce guide, vous devez les conditions préalables suivantes: l' accès à un projet Firebase ( propriétaire ou Firebase Administrateur ), l' accès à un compte développeur de Google Play ( propriétaire ou administrateur ), et une application qui est dans un état publié dans Google Play.

À propos de la distribution des lots d'applications Android

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 servir des APK qui sont optimisés pour les configurations d'appareil de vos testeurs. Lorsque vous distribuez des AAB, vous pouvez :

  • Exécutez des APK optimisés (fournis par Google Play) qui sont optimisés pour les appareils de vos testeurs.
  • Découvrez et déboguez les problèmes spécifiques à l'appareil.
  • Bundle d'applications de test des fonctionnalités telles que Play Livraison et Jouer Asset Livraison
  • Réduisez la taille des téléchargements pour vos testeurs.

Avant que tu commences

  1. Si vous avez pas déjà, ajoutez Firebase à votre projet Android . À la fin de ce workflow, vous aurez 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, assurez - vous de compléter toutes les étapes 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 dans Google Play et l'application Firebase Android sont toutes deux enregistrées avec le même nom de package.

    • L'application de Google Play est installé sur le tableau de bord de l' application et est distribué à l' une des pistes de Google Play (test interne, les tests fermés, Les tests ouverts ou production).

    • L'examen de l'application dans Google Play est terminé et l'application est publiée. Votre application est publiée si la colonne État de l' application affiche l' un des statuts suivants: tests internes (non Projet de tests internes), les tests fermés, Les tests ouverts, ou la production.

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

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

    2. Sur la carte Google Play, cliquez sur le lien.
      Si vous avez déjà des liens vers Google Play, cliquez sur Gérer la place.

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

    En savoir plus sur un lien vers Google Play .

Étape 1. Configurer Fastlane

  1. Installer et mettre en place Fastlane .

  2. Pour ajouter App Distribution à votre configuration fastlane, exécutez la commande suivante à partir de la racine de votre projet Android :

    fastlane add_plugin firebase_app_distribution

    Si la commande vous invite avec une option, sélectionnez l' Option 3: RubyGems.org .

Étape 2. Authentification avec Firebase

Avant de pouvoir utiliser le plugin Fastlane, vous devez d'abord vous authentifier auprès de votre projet Firebase. Il y a trois façons d'y parvenir :

Étape 3. Configurez votre Fastfile et distribuez votre application

  1. Dans une ./fastlane/Fastfile voie, ajoutez un firebase_app_distribution bloc. Utilisez les paramètres suivants pour configurer la distribution :
    paramètres firebase_app_distribution
    app

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

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    Un rafraîchissement jeton qui est imprimé lorsque vous exécutez l'action de connexion du plug - in (voir Authentifier en utilisant un compte Google , ci - dessus), ou lorsque vous authentifiez votre environnement de CI avec le CLI Firebase (lisez Utilisez le CLI avec les systèmes CI pour plus d' informations).

    service_credentials_file

    Le chemin d'accès au fichier json de votre compte de service Google. Voir ci - dessus pour savoir comment authentifier à l' aide des informations d' identification de compte de service .

    android_artifact_type

    Spécifie le type de fichier Android (APK ou AAB).

    android_artifact_path

    Remplace apk_path (dépréciée). Chemin absolu vers le fichier APK ou AAB que vous souhaitez télécharger. S'il n'est pas spécifié, fastlane détermine l'emplacement du fichier à partir de la voie dans laquelle le fichier a été généré.

    release_notes
    release_notes_file

    Notes de version pour cette version.

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

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

    testers: "ali@example.com, bri@example.com, cal@example.com"

    Ou, vous pouvez spécifier le chemin d'accès à un fichier texte 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"

    Ou, vous pouvez spécifier le chemin d'accès à un fichier texte contenant une liste de noms de groupes séparés par des virgules :

    groups_file: "/path/to/groups.txt"
    debug

    Un drapeau booléen. Vous pouvez régler cela à true pour verbose sortie de débogage.

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(task: "bundle", ...)
        # build_android_app is a built-in fastlane action.
        firebase_app_distribution(
            app: "1:123456789:android:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!",
            android_artifact_type: "AAB"
        )
    end
end

Pour la construction disponible pour les testeurs, exécutez votre voie:

fastlane <lane>

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. Lorsque la version expire dans les 30 jours, un avis d'expiration apparaît dans la console et dans la liste des versions du testeur sur son appareil de test.

Les testeurs qui n'ont pas été précédemment invités à tester l'application reçoivent des invitations par e-mail pour commencer. Les testeurs existants reçoivent des notifications par e-mail indiquant qu'une nouvelle version est prête à être testée. Pour savoir comment installer l'application de test, voir testeur Guide de configuration . Vous pouvez surveiller l'état de chaque testeur pour déterminer s'il a accepté l'invitation et s'il a téléchargé l'application dans la console Firebase.

(Facultatif) Pour incrémenter automatiquement votre numéro de build à chaque fois que vous créez une nouvelle version dans la distribution App, vous pouvez utiliser la firebase_app_distribution_get_latest_release l' increment_version_code action et, par exemple, le increment_version_code plugin Fastlane . Le code suivant fournit un exemple de la façon d'incrémenter automatiquement votre numéro de build :

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end

Pour en savoir plus sur l' firebase_app_distribution_get_latest_release action, voir Obtenir des informations sur la dernière version de votre application .

Étape 4 (facultatif). Gestion des testeurs pour la distribution

Vous pouvez ajouter et supprimer des testeurs de votre version de l' application en utilisant votre Fastfile fichier ou en exécutant directement des actions Fastlane. Exécution d' actions remplace directement les valeurs définies dans votre Fastfile .

Une fois qu'un testeur est ajouté à votre projet Firebase, vous pouvez l'ajouter à des versions individuelles. Les testeurs qui sont supprimés de votre projet Firebase n'ont plus accès aux versions de votre projet, mais ils peuvent conserver l'accès à vos versions pendant un certain temps.

Utilisez Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Exécuter des actions fastlane

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

Vous pouvez également spécifier les testeurs utilisant --file="/path/to/testers.txt au lieu de --emails .

Les firebase_app_distribution_add_testers et firebase_app_distribution_remove_testers tâches acceptent également les arguments suivants:

  • project_name : Votre numéro de projet Firebase.
  • service_credentials_file : Le chemin d' accès à votre fichier d'informations d'identification de service Google.
  • firebase_cli_token : Auth jeton pour Firebase CLI.

Le service_credentials_file et firebase_cli_token sont les mêmes arguments utilisés par l'action de téléchargement.

Étape 5 (facultatif). Obtenir des informations sur la dernière version de votre application

Vous pouvez utiliser le firebase_app_distribution_get_latest_release action pour aller chercher des informations sur votre version de l' application plus récente distribution App, y compris les informations de version de l' application, les notes de version, et le temps de création. Les cas d'utilisation incluent l'augmentation automatique de la version et le report des notes de version de la version précédente.

La valeur de retour de l'action est un hachage représentant la dernière version. Ce hachage est également disponible à l' aide lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] . Pour plus d' informations sur les champs disponibles dans ce hachage, consultez la documentation de l' API REST .

Paramètres

paramètres firebase_app_distribution_get_latest_release
app

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

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

Un rafraîchissement jeton qui est imprimé lorsque vous exécutez l'action de connexion du plug - in (voir Authentifier en utilisant un compte Google , ci - dessus), ou lorsque vous authentifiez votre environnement de CI avec le CLI Firebase (lisez Utilisez le CLI avec les systèmes CI pour plus d' informations).

service_credentials_file

Le chemin d'accès au fichier json de votre compte de service Google. Voir ci - dessus pour savoir comment authentifier à l' aide des informations d' identification de compte de service .

debug

Un drapeau booléen. Vous pouvez régler cela à true pour verbose sortie de débogage.