Catch up on everthing we announced at this year's Firebase Summit. Learn more

Verteilen Sie Android-Apps mit Gradle . an Tester

Sie können App Distribution mit dem App Distribution Gradle-Plug-in in Ihren Android-Buildprozess integrieren. Das Plugin können Sie Ihre Tester und Release Notes in Ihrer App angeben build.gradle Datei, so dass Sie Verteilungen für verschiedene Build - Typen konfigurieren und Varianten der App.

In dieser Anleitung wird beschrieben, wie Sie APKs mithilfe des App Distribution Gradle-Plug-ins an Tester verteilen.

Bevor Sie beginnen

Wenn Sie nicht bereits haben, fügen Sie Firebase zu dem Android - Projekt .

Wenn Sie keine anderen Firebase-Produkte verwenden, müssen Sie nur ein Projekt erstellen und Ihre App registrieren. Wenn Sie sich jedoch entscheiden, in Zukunft zusätzliche Produkte zu verwenden, führen Sie alle Schritte auf der oben verlinkten Seite aus.

Schritt 1. Richten Sie Ihr Android-Projekt ein

  1. In Ihrer Projektebene Gradle Datei ( in der Regel android/build.gradle ), fügen Sie die App Verteilung Plugin als buildscript Abhängigkeit:

    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. In der App-Ebene Gradle Datei ( in der Regel android/app/build.gradle ), schließt die App Verteilung Plugin unter der Android - Plugin:

    apply plugin: 'com.android.application'
    // ...
    
    // Apply the App Distribution Gradle plugin
    apply plugin: 'com.google.firebase.appdistribution'
    // ...
    
  3. Wenn Sie hinter einem Unternehmens - Proxy oder eine Firewall sind, dann fügen Sie die folgende Java - Systemeigenschaft , die App Verteilung ermöglicht Ihre Ausschüttungen an Firebase zu laden:

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

Schritt 2. Authentifizieren Sie sich bei Firebase

Bevor Sie das Gradle-Plug-in verwenden können, müssen Sie sich zunächst bei Ihrem Firebase-Projekt authentifizieren. Es gibt drei Möglichkeiten, dies zu erreichen:

Schritt 3. Konfigurieren Sie Ihre Verteilungseigenschaften

  1. In Ihrem app/build.gradle Datei configure App Verteilung durch mindestens eine Zugabe firebaseAppDistribution Abschnitts. Um zum Beispiel der Verteilung release - Build - Tester:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    artifactType="APK"
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    
  2. App Verteilung kann so konfiguriert werden , Build - Typen und Produkt Aromen . Zum Beispiel verteilen debug und release baut in „Demo“ und „voll“ Produkt - Varianten:

    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. Verwenden Sie die folgenden Parameter, um die Verteilung zu konfigurieren:

Build-Parameter für die App-Verteilung
appId

Die Firebase-App-ID Ihrer App. Nur erforderlich, wenn das Google Services Gradle-Plug-in nicht installiert ist. Sie können die App - ID in der finden google-services.json Datei oder in der Firebase - Konsole auf der Seite Allgemeine Einstellungen . Der Wert in Ihrer build.gradle Datei überschreibt den Wert ausgegeben von der google-services - Plugin.

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

Der Pfad zur JSON-Datei mit dem privaten Schlüssel Ihres Dienstkontos. Nur erforderlich, wenn Sie die Dienstkonto-Authentifizierung verwenden.

artifactType

Gibt den Dateityp Ihrer App an. Kann eingestellt werden "AAB" oder "APK" .

apkPath

Dieser Parameter ist jetzt veraltet. Verwenden artifactPath statt.

artifactPath

Absoluter Pfad zu der APK- oder AAB-Datei, die Sie hochladen möchten.

releaseNotes oder releaseNotesFile

Versionshinweise für diesen Build.

Sie können entweder die Versionshinweise direkt angeben oder den Pfad zu einer Nur-Text-Datei.

testers oder testersFile

Die E-Mail-Adressen der Tester, an die Sie Builds verteilen möchten.

Sie können die Tester als durch Kommas getrennte Liste von E-Mail-Adressen angeben:

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

Oder Sie können den Pfad zu einer Datei angeben, die eine durch Kommas getrennte Liste von E-Mail-Adressen enthält:

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

Die Tester Gruppen , die Sie verteilen möchten , baut auf (siehe Tester verwalten ). Gruppen werden mit . angegeben Gruppenaliase , Die Sie in den Tester - Registerkarte in der App Firebase Verteilung Konsole finden.

Sie können die Gruppen als durch Kommas getrennte Liste von Gruppenaliasen angeben:

groups="qa-team, android-testers"

Oder Sie können den Pfad zu einer Datei angeben, die eine durch Kommas getrennte Liste von Gruppenaliasen enthält:

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

Gibt den Stacktrace für Benutzerausnahmen aus. Dies ist beim Debuggen von Problemen hilfreich.

Schritt 4. Verteilen Sie Ihre App an Tester

  1. Schließlich Ihren Test - App zu verpacken und Tester einladen, baut die Ziele BUILD-VARIANT und appDistributionUpload BUILD-VARIANT mit Ihrem Projekt Gradle Wrapper, wo BUILD-VARIANT ist der optionale Produkt Geschmack und Build - Typ , den Sie im vorherigen Schritt konfiguriert. Weitere Informationen zum Produkt Aromen finden Sie Configure Build - Varianten .

    Zum Beispiel Ihre App mit der verteilen release Build - Variante, führen Sie den folgenden Befehl ein :

    ./gradlew assembleRelease appDistributionUploadRelease
    

    Oder, wenn Sie mit Ihrem authentifizierte Google - FIREBASE_TOKEN Konto und haben keine Anmeldeinformationen in Ihrer Gradle Build - Datei, schließt das FIREBASE_TOKEN Variable:

    export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
    ./gradlew --stop // Only needed for environment variable changes
    ./gradlew assembleRelease appDistributionUploadRelease
    
  2. Sie können auch die Werte in Ihrer überschreiben build.gradle Datei , indem Befehlszeilenargumente in Form von -PappDistribution-<property-name>=<property-value> . Zum Beispiel:

    • So laden Sie einen Debug-Build in die App-Verteilung hoch:

      ./gradlew bundleDebug appDistributionUploadDebug
          -PappDistribution-artifactType="APK"
      
    • So laden Sie zusätzliche Tester ein oder entfernen vorhandene Tester aus Ihrem Firebase-Projekt:

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

      Sobald ein Tester zu Ihrem Firebase-Projekt hinzugefügt wurde, können Sie ihn einzelnen Releases hinzufügen. Tester, die entfernt werden, haben keinen Zugriff mehr auf Releases in Ihrem Projekt, können jedoch für einen bestimmten Zeitraum weiterhin Zugriff auf Ihre Releases behalten.

    Sie können auch angeben Tester mit --file="/path/to/testers.txt" statt --emails .

    Die appDistributionAddTesters und appDistributionRemoveTesters Aufgaben übernehmen auch die folgenden Argumente:

    • projectNumber : Ihre Nummer Projekt Firebase.

    • serviceCredentialsFile : Der Pfad zu Ihrer Google - Service Credentials - Datei. Dies ist das gleiche Argument, das von der Upload-Aktion verwendet wird.

Sobald Sie Ihren Build verteilt haben, steht er 150 Tage (fünf Monate) im App-Verteilungs-Dashboard der Firebase-Konsole zur Verfügung. Wenn der Build 30 Tage vor dem Ablaufen liegt, wird sowohl in der Konsole als auch in der Build-Liste Ihres Testers auf seinem Testgerät eine Ablaufbenachrichtigung angezeigt.

Tester , die nicht eingeladen haben , um die Anwendung zu testen , erhalten E - Mail - Einladungen , um loszulegen, und bestehende Tester erhalten E - Mail - Benachrichtigungen , dass eine neue Build - Test (lesen Sie die bereit ist , Tester Set up Anleitung für Anweisungen, wie die Test - App installieren). Sie können den Status jedes Testers in der Firebase-Konsole überwachen – ob er die Einladung angenommen hat und ob er die App heruntergeladen hat.

Tester haben 30 Tage Zeit, um eine Einladung zum Testen der App anzunehmen, bevor sie abläuft. Wenn eine Einladung 5 Tage vor Ablauf abläuft, wird in der Firebase-Konsole neben dem Tester bei einer Version eine Ablaufbenachrichtigung angezeigt. Eine Einladung kann erneuert werden, indem sie über das Dropdown-Menü in der Testerzeile erneut gesendet wird.

Nächster Schritt

Besuchen Sie die Android App Bundle Codelab zu lernen , wie App - Bundle Versionen Schritt für Schritt zu verteilen.