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

Vous pouvez intégrer App Distribution dans votre processus de construction Android à l'aide du plug-in App Distribution Gradle. Le plugin vous permet de spécifier vos testeurs et notes de version de votre application build.gradle fichier, vous permettant de configurer les distributions pour différents types de construction et des variantes de votre application.

Ce guide explique comment distribuer des lots d'applications Android (AAB) aux testeurs à l'aide du plug-in App Distribution Gradle.

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. Configurez votre projet Android

  1. Dans votre fichier Gradle niveau du projet (généralement android/build.gradle ), ajoutez le plug - in de distribution App en tant que dépendance de buildscript:

    buildscript {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
            jcenter()
        }
        dependencies {
            // Add the App Distribution Gradle plugin
            classpath 'com.google.firebase:firebase-appdistribution-gradle:2.2.0'
        }
    }
    
  2. Dans votre fichier Gradle app-niveau (généralement android/app/build.gradle ), inclure le plug - in de distribution App ci - dessous le plugin Android:

    apply plugin: 'com.android.application'
    // ...
    
    // Apply the App Distribution Gradle plugin
    apply plugin: 'com.google.firebase.appdistribution'
    // ...
    
  3. Si vous êtes derrière un proxy d' entreprise ou pare - feu, ajouter les éléments suivants propriété système Java qui permet la distribution App pour télécharger vos distributions à Firebase:

    -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
    

Étape 2. Authentification avec Firebase

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

Étape 3. Configurez vos propriétés de distribution

  1. Dans votre app/build.gradle fichier, configurer App distribution en ajoutant au moins une firebaseAppDistribution section. Par exemple, pour distribuer la release build aux testeurs:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    artifactType="AAB"
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    
  2. App distribution peut être configuré pour les types de construction et les saveurs des produits . Par exemple, pour distribuer le debug et la release construit dans « démo » et les saveurs des produits « complet »:

    android {
    
        // ...
    
        buildTypes {
            debug {...}
            release {...}
        }
    
        flavorDimensions "version"
        productFlavors {
          demo {
              dimension "version"
              firebaseAppDistribution {
                  releaseNotes="Release notes for demo version"
                  testers="demo@testers.com"
              }
          }
          full {
              dimension "version"
              firebaseAppDistribution {
                  releaseNotes="Release notes for full version"
                  testers="full@testers.com"
              }
          }
        }
    
        // ...
    }
    
  3. Utilisez les paramètres suivants pour configurer la distribution :

Paramètres de génération de distribution d'applications
appId

L'ID d'application Firebase de votre application. Obligatoire uniquement si vous n'avez pas installé le plug-in Google Services Gradle. Vous pouvez trouver l'ID App dans le google-services.json fichier ou dans la console Firebase sur la page Paramètres généraux . La valeur de votre build.gradle fichier remplace la sortie de la valeur des google-services plugin.

appId="1:1234567890:android:321abc456def7890"
serviceCredentialsFile

Chemin d'accès au fichier JSON de la clé privée de votre compte de service. Obligatoire uniquement si vous utilisez l'authentification du compte de service.

artifactType

Spécifie le type de fichier de votre application. Peut être réglé sur "AAB" ou "APK" .

apkPath

Ce paramètre est désormais obsolète. Utilisez artifactPath à la place.

artifactPath

Chemin absolu vers le fichier APK ou AAB que vous souhaitez télécharger.

releaseNotes ou releaseNotesFile

Notes de version pour cette version.

Vous pouvez soit spécifier les notes de version directement, soit le chemin d'accès à un fichier texte brut.

testers ou testersFile

Les adresses e-mail des testeurs auxquels vous souhaitez distribuer les builds.

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 contenant une liste d'adresses e-mail séparées par des virgules :

testersFile="/path/to/testers.txt"
groups ou groupsFile

Les groupes de testeurs vous souhaitez distribuer Builds (voir Gérer les testeurs ). Les groupes sont spécifiés à l'aide de alias de groupe , Que vous pouvez trouver dans l'onglet testeurs dans la console de distribution App Firebase.

Vous pouvez spécifier les groupes sous la forme d'une liste d'alias de groupe séparés par des virgules :

groups="qa-team, android-testers"

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

groupsFile="/path/to/tester-groups.txt"
stacktrace

Imprime la trace de la pile pour les exceptions utilisateur. Ceci est utile lors du débogage des problèmes.

Étape 4. Distribuez votre application aux testeurs

  1. Enfin, pour emballer votre application de test et inviter les testeurs, construire les cibles BUILD-VARIANT et appDistributionUpload BUILD-VARIANT avec enveloppe Gradle de votre projet, où BUILD-VARIANT est le type en option la saveur et la construction produit configuré à l'étape précédente. Pour plus d' informations sur les saveurs des produits, voir les variantes de construction Configurer .

    Par exemple, pour distribuer votre application en utilisant la release variante de construction, exécutez la commande suivante:

    ./gradlew bundleRelease appDistributionUploadRelease
    

    Ou, si vous authentifié avec votre compte Google et n'a pas fourni les informations d' identification dans votre fichier de construction Gradle, incluez la FIREBASE_TOKEN variable:

    export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
    ./gradlew --stop // Only needed for environment variable changes
    ./gradlew bundleRelease appDistributionUploadRelease
    
  2. Vous pouvez également remplacer les valeurs définies dans votre build.gradle fichier en fournissant des arguments de ligne de commande sous forme de -PappDistribution-<property-name>=<property-value> la -PappDistribution-<property-name>=<property-value> . Par example:

    • Pour télécharger une version de débogage dans App Distribution :

      ./gradlew bundleDebug appDistributionUploadDebug
          -PappDistribution-artifactType="AAB"
      
    • Pour inviter des testeurs supplémentaires ou supprimer des testeurs existants de votre projet Firebase :

      ./gradlew appDistributionAddTesters
          --projectNumber=<project_number>
          --emails="anothertester@email.com, moretesters@email.com"
      ./gradlew appDistributionRemoveTesters
          --projectNumber=<project_number>
          --emails="anothertester@email.com, moretesters@email.com"
      

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

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

    Les appDistributionAddTesters et appDistributionRemoveTesters tâches acceptent également les arguments suivants:

    • projectNumber : Votre Firebase numéro de projet.

    • serviceCredentialsFile : Le chemin d' accès à votre fichier d'informations d'identification de service Google. C'est le même argument utilisé par l'action de téléchargement.

Une fois que vous distribuez votre build, il devient disponible dans le tableau de bord App Distribution de la console Firebase pendant 150 jours (cinq mois). Lorsque le build est à 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 courriel pour commencer, et les testeurs existants reçoivent des notifications par courriel qu'une nouvelle version est prêt à tester (lire le jeu testeur en manuel 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 ont 30 jours pour accepter une invitation à tester l'application avant qu'elle n'expire. 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.

L'étape suivante

Visitez l' Android App Bundle codelab pour apprendre comment distribuer l' application étape releases bundle par étape.