Best Practices für die Verteilung von Android-Apps an QA-Tester mithilfe von CI/CD

In diesem Dokument werden Best Practices für die Verwendung von Firebase App Distribution vorgestellt, mit denen Sie Ihre Android-Vorabveröffentlichungs-Testworkflows in einer CI/CD-Umgebung nachhaltig und wiederholbar gestalten können. Zu den Lösungen gehören Gradle und fastlane. Für noch mehr Flexibilität bieten wir auch Lösungen über die Firebase Console, die Firebase CLI und die öffentliche Firebase App Distribution API an. Außerdem beschreiben wir die Limits für Releases und Tester, damit Sie die Nutzung optimal planen können.

Wenn Sie auch Apple-Plattformen verwenden, lesen Sie den Hilfeartikel Best Practices für den Vertrieb von Apple-Apps an QA-Tester mit CI/CD und Fastlane.

Hinweis

Bevor Sie die Best Practices in diesem Dokument implementieren, müssen Sie App Distribution in der Firebase-Konsole für jede App aktivieren. Andernfalls erhalten Sie einen 404-Fehler.

So aktivieren Sie App Distribution:

  1. Öffnen Sie in der Firebase-Console die Seite App Distribution.
  2. Wählen Sie Ihre Android-App aus.
  3. Klicken Sie auf Jetzt starten.

Da Android App Bundles (AAB) zum gebräuchlichsten Android-Paketformat werden, empfehlen wir Ihnen, die Möglichkeit zum Verteilen von AABs an Ihre Tester einzurichten, indem Sie eine Verknüpfung mit Google Play herstellen.

Workflow für Vorabtests mit einer CI/CD-Pipeline automatisieren

Wenn Sie das Erstellen und Veröffentlichen von Anwendungen für Ihre Tester automatisieren möchten und CI/CD verwenden, empfehlen wir die Verwendung von fastlane oder Gradle. Eine weitere Option ist die Verwendung der Firebase-CLI, mit der Sie auf eine Vielzahl von Firebase-Produkten zugreifen können.

Fastlane verwenden

Integrieren Sie App Distribution mit Fastlane in Ihre CI/CD-Pipeline. Fastlane ist ein Open-Source-Tool, mit dem das Erstellen und Veröffentlichen von iOS- und Android-Apps automatisiert wird. Durch das automatische Erstellen und Verteilen deiner neuesten Releases an Tester stellst du sicher, dass Tester immer die aktuelle Testversion deiner App haben.

Informationen zur Integration von App Distribution mit Fastlane findest du unter Android-Apps über Fastlane an Tester verteilen.

Gradle verwenden

Integrieren Sie App Distribution mit dem App Distribution Gradle-Plug-in in Ihren Android-Build-Prozess. Mit dem Plug-in können Sie Ihre Tester und Release-Notes in der build.gradle-Datei Ihrer App angeben. So können Sie Bereitstellungen für verschiedene Buildtypen und Varianten Ihrer App konfigurieren.

Informationen zum Einbinden von App Distribution in Gradle finden Sie unter Android-Apps mit Gradle an Tester bereitstellen.

Firebase CLI verwenden

Verwenden Sie die Firebase-Befehlszeilentools von App Distribution, um Builds programmatisch an Tester zu verteilen. Sie können Tester und Release-Notes für einen Build angeben.

Veröffentlichen Sie Ihren neuesten Android-Build, indem Sie die Firebase App-ID der App angeben und optional eine Versionsnotiz und eine Datei mit den E-Mail-Adressen der Tester hinzufügen:

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Weitere Informationen zur Automatisierung von Builds mit der Firebase CLI finden Sie unter Android-Apps mit der Firebase CLI an Tester verteilen.

Dienstanmeldedaten zur Authentifizierung verwenden

Verwenden Sie das App Distribution-fastlane-Plug-in, das Gradle-Plug-in oder die Firebase-Befehlszeile mit Dienstkonten. Ein Dienstkonto ist eine Art von Google-Konto, das Anwendungen (im Gegensatz zu Nutzern) repräsentiert. Ihr CI-System kann Dienstkonten verwenden, um Ihre App Distribution-Arbeitslasten auszuführen. Weitere Informationen finden Sie unter Mit Dienstkonto authentifizieren.

Wenn Sie die Workload Identity-Föderation verwenden, können Sie anstelle eines Dienstkontoschlüssels eine Konfigurationsdatei für Anmeldedaten generieren und verwenden.

Hinweise zu Release-Limits

App Distribution unterstützt maximal 1.000 Releases pro App. Wenn Sie das Release-Limit überschreiten, werden in App Distribution automatisch die ältesten Releases über dem Limit gelöscht. Informationen zum Verwalten von Release-Limits finden Sie unter Wie lange sind App-Releases verfügbar?

Mehreren Releases dieselbe Gruppe von Testern hinzufügen

Wenn Sie Ihren Releases eine große Anzahl von Testern hinzufügen möchten, verwenden Sie die Funktion zur Bulk-Verwaltung von Testern in App Distribution.

Wir empfehlen, Gruppen zu verwenden, um dieselben Tester mehreren Releases hinzuzufügen. Eine Gruppe dient als Zugriffssteuerungsliste. Wenn Sie einen Tester aus einer Gruppe entfernen, verliert er den Zugriff auf alle Releases, die an diese Gruppe verteilt wurden. Weitere Informationen finden Sie unter Tester zu einer Gruppe hinzufügen und daraus entfernen.

Wenn Sie viele Tester verwalten müssen, können Sie Tester im Bulk hinzufügen und löschen über die Firebase-Konsole. Wenn Sie das Hinzufügen und Entfernen von Testern automatisieren möchten, verwenden Sie die Firebase CLI, fastlane, Gradle oder die öffentliche Firebase App Distribution API.

Limits für Tester beachten

App Distribution schränkt die Anzahl der Tester ein, die Sie einem Firebase-Projekt oder einer App Distribution-Gruppe hinzufügen können. Wenn Sie diese Limits überschreiten, können Sie Ihre App nicht an weitere Tester verteilen. Weitere Informationen zu Testerlimits finden Sie unter Gibt es Einschränkungen beim Hinzufügen von Testern zu meiner App?

Potenzielle Tester können sich selbst für Tests registrieren

Um die Verteilung Ihrer App an mehr Tester zu erleichtern, empfehlen wir die Verwendung von Einladungslinks. Ein Einladungslink ist eine eindeutige URL, über die Tester ihre E-Mail-Adressen eingeben können, um sich für das Testen einer App anzumelden. Wenn Sie Nutzern die Möglichkeit geben, sich selbst in die Liste der App-Tester aufzunehmen, können Sie Ihre interne Testbasis ganz einfach vergrößern.

Anwendungsfälle für Einladungslinks umfassen Dogfood-Programme von Unternehmen, Organisationen mit großen QA-Teams und Entwicklergruppen, die einzelnen Kunden die Kontrolle über den Testerzugriff gewähren möchten.

Wir empfehlen, einen Einladungslink für eine Gruppe zu erstellen. Alle Tester, die sich über den Einladungslink registrieren, werden automatisch zu nachfolgenden Releases hinzugefügt.

Weitere Informationen finden Sie unter Einladungslinks erstellen und Tester zu einer Gruppe hinzufügen und daraus entfernen.

Prüfen, ob die Tester die gewünschte Version testen

Wenn eine neue Version hochgeladen wird, werden Ihre Tester per E-Mail benachrichtigt. Sie können diese Benachrichtigung mit den folgenden Funktionen ergänzen: Release-Links und In-App-Benachrichtigungen. So können Sie dafür sorgen, dass Ihre Tester die gewünschte App-Version testen:

  • Releaselinks: Verwenden Sie diese Funktion, wenn Sie eine bestimmte Version mit Testern teilen möchten. Informationen zur Verwendung von Releaselinks findest du unter Android-Apps über die Firebase-Konsole an Tester verteilen. Diese Links sind auch für die Befehlszeilentools Firebase, fastlane und Gradle verfügbar, die Sie mit Ihren Build-Automatisierungstools verwenden können.
  • In-App-Benachrichtigungen:Verwenden Sie diese Benachrichtigungen, wenn Sie sicherstellen möchten, dass Ihre Tester die neueste Version Ihrer App testen. Wenn Sie das Firebase App Distribution Android SDK einbinden, können Sie Ihren Testern Benachrichtigungen direkt in der App anzeigen, wenn neue Builds Ihrer App verfügbar sind. Informationen zum Hinzufügen von In-App-Benachrichtigungen finden Sie unter Tester über neue Builds benachrichtigen.

Zugriff für Tester automatisch entfernen, die das Unternehmen verlassen

Wenn Ihr interner CI/CD-Testablauf aktiv ist, müssen Sie dafür sorgen, dass Personen, die das Unternehmen verlassen, keinen Zugriff mehr auf Ihre internen Builds haben. App Distribution bietet die folgenden Optionen, um Sie bei der Verwaltung des Testerzugriffs auf Builds zu unterstützen: