Sie können App Distribution mithilfe des App Distribution Gradle-Plugins in Ihren Android-Erstellungsprozess integrieren. Mit dem Plugin können Sie Ihre Tester und build.gradle
in der build.gradle
Datei Ihrer App angeben und Distributionen für verschiedene Build-Typen und -Varianten Ihrer App konfigurieren.
Bevor Sie beginnen
Wenn Sie dies noch nicht getan haben, fügen Sie Firebase zu Ihrem Android-Projekt hinzu .
Wenn Sie keine anderen Firebase-Produkte verwenden, müssen Sie nur ein Projekt erstellen und Ihre App registrieren. Wenn Sie sich jedoch für die Verwendung zusätzlicher Produkte in der Zukunft entscheiden, müssen Sie alle Schritte auf der oben verlinkten Seite ausführen.
Schritt 1 . Richten Sie Ihr Android-Projekt ein
android/build.gradle
in Ihrer Gradle-Datei auf Projektebene (normalerweiseandroid/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:2.1.0' } }
android/app/build.gradle
in Ihre Gradle-Datei auf App-Ebene (normalerweiseandroid/app/build.gradle
) das App Distribution-Plugin unter dem Android-Plugin ein:apply plugin: 'com.android.application' // ... // Apply the App Distribution Gradle plugin apply plugin: 'com.google.firebase.appdistribution' // ...
Wenn Sie sich hinter einem Unternehmens-Proxy oder einer Firewall befinden, fügen Sie die folgende Java-Systemeigenschaft hinzu , mit der App Distribution Ihre Distributionen auf Firebase hochladen kann:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
Schritt 2 . Mit Firebase authentifizieren
Bevor Sie das Gradle-Plugin verwenden können, müssen Sie sich zunächst bei Ihrem Firebase-Projekt authentifizieren. Es gibt drei Möglichkeiten, dies zu erreichen:
- Führen Sie den folgenden Befehl aus:
./gradlew appDistributionLogin
Der Befehl druckt einen Authentifizierungslink. Öffnen Sie den Link in einem Browser.
Melden Sie sich bei Aufforderung in Ihrem Google-Konto an und erteilen Sie die Berechtigung zum Zugriff auf Ihr Firebase-Projekt. Der Befehl Gradle druckt ein Aktualisierungstoken, mit dem sich das App Distribution-Plugin bei Firebase authentifiziert.
- Setzen Sie die Umgebungsvariable
FIREBASE_TOKEN
auf das Token aus dem vorherigen Schritt:export FIREBASE_TOKEN=token
Durch die Authentifizierung mit einem Dienstkonto können Sie das Plugin flexibel mit Ihrem CI-System (Continuous Integration) verwenden. Es gibt zwei Möglichkeiten, Anmeldeinformationen für Dienstkonten bereitzustellen:
-
build.gradle
Sie die Schlüsseldatei Ihres Dienstkontos anbuild.gradle
. Diese Methode ist möglicherweise praktisch, wenn Sie bereits die Schlüsseldatei Ihres Dienstkontos in Ihrer Build-Umgebung haben. -
GOOGLE_APPLICATION_CREDENTIALS
Sie die UmgebungsvariableGOOGLE_APPLICATION_CREDENTIALS
, dass sie auf die Schlüsseldatei Ihres DienstkontosGOOGLE_APPLICATION_CREDENTIALS
. Möglicherweise bevorzugen Sie diese Methode, wenn Sie bereits Application Default Credentials (ADC) für einen anderen Google-Dienst (z. B. Google Cloud) konfiguriert haben.
So authentifizieren Sie sich mithilfe der Anmeldeinformationen des Dienstkontos:
- Wählen Sie in der Google Cloud Console Ihr Projekt aus und erstellen Sie ein neues Dienstkonto.
- Fügen Sie die Administratorrolle der Firebase App Distribution hinzu .
- Erstellen Sie einen privaten JSON-Schlüssel und verschieben Sie den Schlüssel an einen Speicherort, auf den Ihre Build-Umgebung zugreifen kann. Bewahren Sie diese Datei an einem sicheren Ort auf , da sie Administratorzugriff auf App Distribution in Ihrem Firebase-Projekt gewährt.
- Überspringen Sie diesen Schritt, wenn Sie Ihre App nach dem 20. September 2019 erstellt haben: Aktivieren Sie in der Google APIs-Konsole die Firebase App Distribution-API. Wenn Sie dazu aufgefordert werden, wählen Sie das Projekt mit demselben Namen wie Ihr Firebase-Projekt aus.
Geben Sie Ihre Anmeldeinformationen für das Dienstkonto an oder suchen Sie sie:
- Um Gradle Ihren Dienstkontoschlüssel zu übergeben, setzen Sie in Ihrer
build.gradle
Datei die EigenschaftserviceCredentialsFile
auf die JSON-Datei mit privatem Schlüssel. Um Ihre Anmeldeinformationen bei ADC zu finden, setzen Sie die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
auf den Pfad für die JSON-Datei mit privatem Schlüssel. Zum Beispiel:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Weitere Informationen zur Authentifizierung bei ADC finden Sie unter Bereitstellen von Anmeldeinformationen für Ihre Anwendung.
- Um Gradle Ihren Dienstkontoschlüssel zu übergeben, setzen Sie in Ihrer
Anweisungen zum Authentifizieren Ihres Projekts finden Sie unter Anmelden mit der Firebase-CLI .
Schritt 3 . Konfigurieren Sie Ihre Verteilungseigenschaften
In Ihrem
app/build.gradle
Datei configure App Verteilung durch mindestens eine ZugabefirebaseAppDistribution
Abschnitts. Sie können die App-Verteilung sowohl für Build-Typen als auch für Produktvarianten konfigurieren . So verteilen Sie denrelease
Build beispielsweise an Tester:android { // ... buildTypes { release { firebaseAppDistribution { releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Und um
debug
undrelease
Builds in den Produktvarianten "Demo" und "Full" zu verteilen: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" } } } // ... }
Verwenden Sie die folgenden Parameter, um die Verteilung zu konfigurieren:
App Distribution Build-Parameter | |
---|---|
appId | Die Firebase-App-ID Ihrer App. Nur erforderlich, wenn Sie das Google Services Gradle-Plugin nicht installiert haben. Sie finden die App-ID in der Datei 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. |
apkPath | Absoluter oder relativer Pfad zu der APK-Datei, die Sie hochladen möchten. Wenn nicht angegeben, ermittelt Gradle den Speicherort der Datei mithilfe des APK-Ausgabeverzeichnisses. |
releaseNotes oder releaseNotesFile | Versionshinweise für diesen Build. Sie können entweder die Versionshinweise direkt oder den Pfad zu einer Nur-Text-Datei angeben. |
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" Sie können auch 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 Sie können die Gruppen als durch Kommas getrennte Liste von Gruppenaliasnamen angeben: groups="qa-team, android-testers" Sie können auch den Pfad zu einer Datei angeben, die eine durch Kommas getrennte Liste von Gruppenaliasnamen enthält: groupsFile="/path/to/tester-groups.txt" |
stacktrace | Druckt den Stacktrace für Benutzerausnahmen aus. Dies ist hilfreich beim Debuggen von Problemen. |
Schritt 4 . Verteilen Sie Ihre App an Tester
Um Ihre Test-App zu verpacken und Tester einzuladen, erstellen Sie schließlich die Ziele assemble BUILD-VARIANT
und appDistributionUpload BUILD-VARIANT
mit dem Gradle-Wrapper Ihres Projekts, wobei BUILD-VARIANT die optionale Produktvariante und der Build-Typ ist, die Sie im vorherigen Schritt konfiguriert haben. Weitere Informationen zu Produktvarianten finden Sie unter Konfigurieren von Build-Varianten .
Führen Sie beispielsweise den folgenden Befehl aus, um Ihre App mithilfe der release
Build-Variante zu verteilen:
./gradlew assembleRelease appDistributionUploadRelease
Wenn Sie sich bei Ihrem Google-Konto authentifiziert und in Ihrer Gradle- FIREBASE_TOKEN
keine Anmeldeinformationen angegeben haben, geben Sie die Variable FIREBASE_TOKEN
:
export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
Sobald Sie Ihren Build verteilt haben, wird er 150 Tage (fünf Monate) lang im App Distribution-Dashboard der Firebase-Konsole verfügbar sein. Wenn der Build 30 Tage nach Ablauf abläuft, wird sowohl in der Konsole als auch in der Liste der Builds Ihres Testers auf dem Testgerät eine Ablaufbenachrichtigung angezeigt.
Tester, die nicht zum Testen der App eingeladen wurden, erhalten E-Mail-Einladungen, um loszulegen, und vorhandene Tester erhalten E-Mail-Benachrichtigungen, dass ein neuer Build zum Testen bereit ist (Anweisungen zum Installieren der Test-App finden Sie in der Anleitung zum Einrichten des Testers ). Sie können den Status jedes Testers in der Firebase-Konsole überwachen, ob er die Einladung angenommen und die App heruntergeladen hat.