Verteilen Sie Android-Apps mit Gradle an Tester

Sie können App Distribution mit dem App Distribution Gradle-Plug-in in Ihren Android-Build-Prozess integrieren. Mit dem Plug-in können Sie Ihre Tester und Versionshinweise in der build.gradle -Datei Ihrer App angeben, sodass Sie Distributionen für verschiedene Build-Typen und Varianten Ihrer App konfigurieren können.

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

Bevor Sie beginnen

Fügen Sie Ihrem Android-Projekt Firebase hinzu, falls Sie dies noch nicht getan haben .

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 weitere Produkte zu verwenden, führen Sie unbedingt alle Schritte auf der oben verlinkten Seite durch.

Schritt 1. Richten Sie Ihr Android-Projekt ein

  1. Fügen Sie in Ihrer Gradle-Datei auf Projektebene (normalerweise android/build.gradle ) das App Distribution-Plugin als Buildscript-Abhängigkeit hinzu:

    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:3.0.3'
        }
    }
    
  2. Fügen Sie in Ihrer Gradle-Datei auf App-Ebene (normalerweise android/app/build.gradle ) das App Distribution-Plug-in unterhalb des Android-Plug-ins ein:

    apply plugin: 'com.android.application'
    // ...
    
    // Apply the App Distribution Gradle plugin
    apply plugin: 'com.google.firebase.appdistribution'
    // ...
    
  3. Wenn Sie sich hinter einem Unternehmensproxy oder einer Firewall befinden, fügen Sie die folgende Java-Systemeigenschaft hinzu, die es App Distribution ermöglicht, Ihre Verteilungen auf Firebase hochzuladen:

    -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 auf eine der folgenden Arten bei Ihrem Firebase-Projekt authentifizieren. Standardmäßig sucht das Gradle-Plugin nach Anmeldeinformationen von der Firebase-CLI, wenn keine andere Authentifizierungsmethode verwendet wird.

Schritt 3. Konfigurieren Sie Ihre Verteilungseigenschaften

  1. Konfigurieren Sie in Ihrer Datei app/build.gradle “ die App-Verteilung, indem Sie mindestens einen Abschnitt „ firebaseAppDistribution “ hinzufügen. Um beispielsweise den release -Build an Tester zu verteilen:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    artifactType="APK"
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    
  2. App Distribution kann für Build-Typen und Produktvarianten konfiguriert werden. So verteilen Sie beispielsweise debug und release -Builds in den Produktvarianten „Demo“ und „Vollversion“:

    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:

App-Verteilungs-Build-Parameter
appId

Die Firebase-App-ID Ihrer App. Nur erforderlich, wenn Sie das Google Services Gradle-Plug-in nicht installiert haben. Sie finden die App-ID in der Datei google-services.json oder in der Firebase-Konsole auf der Seite Allgemeine Einstellungen . Der Wert in Ihrer build.gradle -Datei überschreibt die Wertausgabe des google-services Plugins.

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

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

artifactType

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

artifactPath

Absoluter Pfad zur 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 kommagetrennte 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 Testergruppen, an die Sie Builds verteilen möchten (siehe Tester verwalten ). Gruppen werden mit angegeben Gruppenaliase , die Sie auf der Registerkarte Tester in der Firebase App Distribution-Konsole finden.

Sie können die Gruppen als kommagetrennte 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

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

Schritt 4. Verteilen Sie Ihre App an Tester

  1. Um schließlich Ihre Test-App zu verpacken und Tester einzuladen, erstellen Sie die Ziele BUILD-VARIANT und appDistributionUpload BUILD-VARIANT mit dem Gradle-Wrapper Ihres Projekts, wobei BUILD-VARIANT die optionale Produktvariante und der Buildtyp ist, den Sie im vorherigen Schritt konfiguriert haben. Weitere Informationen zu Produktvarianten finden Sie unter Build-Varianten konfigurieren .

    Um Ihre App beispielsweise mit der release -Build-Variante zu verteilen, führen Sie den folgenden Befehl aus:

    ./gradlew assembleRelease appDistributionUploadRelease
    

    Wenn Sie sich mit Ihrem Google-Konto authentifiziert und keine Anmeldeinformationen in Ihrer Gradle-Build-Datei angegeben haben, fügen Sie die Variable FIREBASE_TOKEN :

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

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

      ./gradlew bundleDebug appDistributionUploadDebug
          --artifactType="APK"
      
    • So laden Sie weitere 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, behalten aber möglicherweise noch für ein gewisses Zeitfenster Zugriff auf Ihre Releases.

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

    Die appDistributionAddTesters und appDistributionRemoveTesters akzeptieren auch die folgenden Argumente:

    • projectNumber : Ihre Firebase-Projektnummer.

    • serviceCredentialsFile : Der Pfad zu Ihrer Datei mit den Anmeldeinformationen für den Google-Dienst. Dies ist dasselbe Argument, das von der Upload-Aktion verwendet wird.

Nachdem Sie Ihren Build verteilt haben, ist er 150 Tage (fünf Monate) lang im App-Verteilungs-Dashboard der Firebase-Konsole verfügbar. Wenn der Build in 30 Tagen abläuft, wird sowohl in der Konsole als auch in der Liste der Builds Ihres Testers auf seinem Testgerät ein Ablaufhinweis angezeigt.

Tester, die nicht zum Testen der App eingeladen wurden, erhalten E-Mail-Einladungen, um loszulegen, und bestehende Tester erhalten E-Mail-Benachrichtigungen, dass ein neuer Build zum Testen bereit ist (Lesen Sie die Einrichtungsanleitung für Tester, um Anweisungen zum Installieren der Test-App zu erhalten). Sie können den Status jedes Testers – ob er die Einladung angenommen und die App heruntergeladen hat – in der Firebase-Konsole überwachen.

Tester haben 30 Tage Zeit, um eine Einladung zum Testen der App anzunehmen, bevor sie abläuft. Wenn eine Einladung in 5 Tagen abläuft, wird in der Firebase-Konsole neben dem Tester für eine Version ein Ablaufhinweis angezeigt. Eine Einladung kann erneuert werden, indem Sie sie über das Dropdown-Menü in der Tester-Zeile erneut senden.

Nächster Schritt

Besuchen Sie das Android-App-Bundle-Codelab , um Schritt für Schritt zu erfahren, wie App-Bundle-Releases verteilt werden.