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.
Diese Anleitung beschreibt, wie Android App Bundles (AABs) mithilfe des App Distribution Gradle-Plugins an Tester verteilt werden.
Um dieser Anleitung zu folgen, benötigen Sie die folgenden Voraussetzungen: Zugriff auf ein Firebase-Projekt ( Inhaber oder Firebase -Administrator ), Zugriff auf ein Google Play-Entwicklerkonto ( Inhaber oder Administrator ) und eine App, die sich in einem veröffentlichten Zustand bei Google Play befindet.
Informationen zum Verteilen von Android App Bundles
App Distribution lässt sich in den internen App-Sharing-Dienst von Google Play integrieren, um die von Ihnen hochgeladenen AABs zu verarbeiten und APKs bereitzustellen, die für die Gerätekonfigurationen Ihrer Tester optimiert sind. Wenn Sie AABs verteilen, können Sie:
- Führen Sie optimierte APKs (bereitgestellt von Google Play) aus, die für die Geräte Ihrer Tester optimiert sind.
- Entdecken und debuggen Sie gerätespezifische Probleme.
- Testen Sie App Bundle-Funktionen wie Play Feature Delivery und Play Asset Delivery
- Reduzieren Sie die Größe der Downloads für Ihre Tester.
Bevor Sie beginnen
Fügen Sie Ihrem Android-Projekt Firebase hinzu, falls Sie dies noch nicht getan haben . Am Ende dieses Workflows haben Sie eine Firebase-Android-App in Ihrem Firebase-Projekt.
Wenn Sie keine anderen Firebase-Produkte verwenden, müssen Sie nur ein Projekt erstellen und Ihre App registrieren. Wenn Sie sich entscheiden, zusätzliche Produkte zu verwenden, stellen Sie sicher, dass Sie alle Schritte unter Hinzufügen von Firebase zu Ihrem Android-Projekt ausführen .
Stellen Sie sicher, dass Ihre App die folgenden Anforderungen erfüllt, um einen Firebase-Link zu Google Play zu erstellen und AABs hochzuladen:
Die App in Google Play und die Firebase-Android-App sind beide mit demselben Paketnamen registriert.
Die App in Google Play wird auf dem App-Dashboard eingerichtet und auf einen der Google Play-Tracks verteilt (Internes Testen, Geschlossenes Testen, Offenes Testen oder Produktion).
Die Überprüfung der App in Google Play ist abgeschlossen und die App wird veröffentlicht. Ihre App wird veröffentlicht, wenn in der Spalte „ App-Status“ einer der folgenden Status angezeigt wird: „Interner Test“ (kein interner Entwurfstest), „Geschlossener Test“, „Offener Test“ oder „Produktion“.
Verknüpfen Sie Ihre Firebase Android App mit Ihrem Google Play-Entwicklerkonto:
Gehen Sie in der Firebase-Konsole zu Ihren
Projekteinstellungen und wählen Sie dann die Registerkarte Integrationen aus.Klicken Sie auf der Google Play -Karte auf Link .
Wenn Sie bereits Links zu Google Play haben, klicken Sie stattdessen auf Verwalten .Befolgen Sie die Anweisungen auf dem Bildschirm, um die App Distribution-Integration zu aktivieren und auszuwählen, welche Firebase-Android-Apps mit Google Play verknüpft werden sollen.
Erfahren Sie mehr über das Verknüpfen mit Google Play .
Schritt 1. Richten Sie Ihr Android-Projekt ein
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.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' // ...
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-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 gibt einen Authentifizierungslink aus. Öffnen Sie den Link in einem Browser.
Wenn Sie dazu aufgefordert werden, melden Sie sich bei Ihrem Google-Konto an und erteilen Sie die Berechtigung zum Zugriff auf Ihr Firebase-Projekt. Der Gradle-Befehl druckt ein Aktualisierungstoken, das das App Distribution-Plug-in zur Authentifizierung bei Firebase verwendet.
- Legen Sie die Umgebungsvariable
FIREBASE_TOKEN
auf das Token aus dem vorherigen Schritt fest:export FIREBASE_TOKEN=token
Durch die Authentifizierung mit einem Dienstkonto können Sie das Plugin flexibel mit Ihrem Continuous Integration (CI)-System verwenden. Es gibt zwei Möglichkeiten, Anmeldeinformationen für Dienstkonten bereitzustellen:
- Übergeben Sie die Schlüsseldatei Ihres Dienstkontos an
build.gradle
. Sie finden diese Methode möglicherweise praktisch, wenn Sie Ihre Dienstkonto-Schlüsseldatei bereits in Ihrer Build-Umgebung haben. - Legen Sie die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
so fest, dass sie auf die Schlüsseldatei Ihres Dienstkontos verweist. 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 mit Dienstkonto-Anmeldeinformationen:
- Wählen Sie in der Google Cloud Console Ihr Projekt aus und erstellen Sie ein neues Dienstkonto.
- Fügen Sie die Rolle Firebase App Distribution Admin hinzu .
- Erstellen Sie einen privaten JSON-Schlüssel und verschieben Sie den Schlüssel an einen Ort, auf den Ihre Build-Umgebung zugreifen kann. Bewahren Sie diese Datei unbedingt an einem sicheren Ort auf , da sie Administratorzugriff auf die App-Verteilung 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. Wählen Sie bei Aufforderung das Projekt mit demselben Namen wie Ihr Firebase-Projekt aus.
Geben Sie die Anmeldeinformationen für Ihr Dienstkonto an oder suchen Sie sie:
- Um Gradle Ihren Dienstkontoschlüssel zu übergeben, legen Sie in Ihrer
build.gradle
-Datei die EigenschaftserviceCredentialsFile
auf die JSON-Datei des privaten Schlüssels fest. Um Ihre Anmeldeinformationen mit ADC zu finden, legen Sie die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
auf den Pfad für die JSON-Datei mit dem privaten Schlüssel fest. Zum Beispiel:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Weitere Informationen zur Authentifizierung mit ADC finden Sie unter Bereitstellen von Anmeldeinformationen für Ihre Anwendung.
- Um Gradle Ihren Dienstkontoschlüssel zu übergeben, legen Sie in Ihrer
Anweisungen zum Authentifizieren Ihres Projekts finden Sie unter Anmelden mit der Firebase-CLI .
Schritt 3. Konfigurieren Sie Ihre Verteilungseigenschaften
Konfigurieren Sie in Ihrer Datei
app/build.gradle
“ die App-Verteilung, indem Sie mindestens einen Abschnitt „firebaseAppDistribution
“ hinzufügen. Um beispielsweise denrelease
-Build an Tester zu verteilen:android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
App Distribution kann für Build-Typen und Produktvarianten konfiguriert werden. So verteilen Sie beispielsweise
debug
undrelease
-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" } } } // ... }
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 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 |
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 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
Um schließlich Ihre Test-App zu verpacken und Tester einzuladen, erstellen Sie die Ziele
BUILD-VARIANT
undappDistributionUpload 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 bundleRelease 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 bundleRelease appDistributionUploadRelease
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="AAB"
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
undappDistributionRemoveTesters
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.