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

In diesem Dokument werden Best Practices für die Verwendung von Firebase App Distribution vorgestellt, um Ihre Android-Vorabtest-Workflows in einer CI/CD-Umgebung nachhaltig und wiederholbar zu gestalten. Zu den Lösungen gehören Gradle und Fastlane, aber um Ihnen noch mehr Flexibilität zu bieten, bieten wir auch Lösungen an, die über die Firebase-Konsole, die Firebase-CLI und die öffentliche Firebase-App-Verteilungs-API verfügbar sind. Wir beschreiben auch Release- und Testerlimits, damit Sie im Voraus ein optimales Erlebnis planen können.

Wenn Sie auch Apple-Plattformen verwenden, lesen Sie Best Practices für die Verteilung von Apple-Apps an QA-Tester mithilfe von CI/CD und Fastlane .

Bevor Sie beginnen

Bevor Sie die Best Practices in diesem Dokument implementieren, stellen Sie sicher, dass Sie die App-Verteilung in der Firebase-Konsole für jede App aktivieren. Wenn Sie die App-Verteilung nicht aktiviert haben, erhalten Sie die Fehlermeldung 404.

Um die App-Verteilung zu aktivieren, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die Seite „App-Verteilung“ in der Firebase-Konsole.
  2. Wählen Sie Ihre Android-App aus.
  3. Klicken Sie auf „Erste Schritte“ .

Da sich Android App Bundles (AAB) zum gängigsten Android-Paketformat entwickeln, empfehlen wir Ihnen, die Möglichkeit einzurichten, AABs über eine Verknüpfung mit Google Play an Ihre Tester zu verteilen.

Automatisieren Sie Ihren Testworkflow vor der Veröffentlichung mithilfe einer CI/CD-Pipeline

Wenn Sie die Erstellung und Freigabe von Apps für Ihre Tester automatisieren möchten und CI/CD verwenden, empfehlen wir die Verwendung von Fastlane oder Gradle . Eine weitere Möglichkeit ist die Verwendung der Firebase-CLI , mit der Sie auf eine Vielzahl von Firebase-Produkten zugreifen können.

Nutzen Sie Fastlane

Integrieren Sie die App-Verteilung in Ihre CI/CD-Pipeline mit fastlane, einem Open-Source-Tool, das die Erstellung und Veröffentlichung von iOS- und Android-Apps automatisiert. Indem Sie Ihre neuesten Versionen automatisch erstellen und an Tester verteilen, stellen Sie sicher, dass Tester immer über die aktuellste Testversion Ihrer App verfügen.

Informationen zur Integration der App-Verteilung mit Fastlane finden Sie unter Verteilen von Android-Apps an Tester mit Fastlane .

Verwenden Sie Gradle

Verwenden Sie Gradle, um App Distribution mithilfe des App Distribution Gradle-Plugins in Ihren Android-Build-Prozess zu integrieren. Mit dem Plugin können Sie Ihre Tester und Versionshinweise in build.gradle Datei Ihrer App angeben, wodurch Sie Verteilungen für verschiedene Build-Typen und Varianten Ihrer App konfigurieren können.

Informationen zur Integration der App-Verteilung mit Gradle finden Sie unter Verteilen von Android-Apps an Tester mit Gradle .

Verwenden Sie die Firebase-CLI

Verwenden Sie die von App Distribution bereitgestellten Firebase-CLI-Tools, um Builds programmgesteuert an Tester zu verteilen. Sie können Tester und Versionshinweise für einen Build angeben.

Verteilen Sie Ihren neuesten Android-Build, indem Sie die Firebase-App-ID der App angeben und optional einen Versionshinweis und eine Datei mit den E-Mails 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 Verwendung der Firebase-CLI zum Automatisieren Ihrer Builds finden Sie unter Verteilen von Android-Apps an Tester mithilfe der Firebase-CLI .

Verwenden Sie zur Authentifizierung Dienstanmeldeinformationen

Verwenden Sie das App Distribution- Fastlane-Plugin , das Gradle-Plugin oder die Firebase-CLI mit Dienstkonten. Ein Dienstkonto ist eine Art Google-Konto, das Anwendungen (im Gegensatz zu Benutzern) repräsentiert. Ihr CI-System kann Dienstkonten verwenden, um Ihre App Distribution-Workloads auszuführen. Weitere Informationen finden Sie unter Authentifizieren mit einem Dienstkonto .

Wenn Sie Workload Identity Federation verwenden, können Sie anstelle eines Dienstkontoschlüssels eine Anmeldeinformationskonfigurationsdatei generieren und verwenden.

Beachten Sie die Release-Limits

App Distribution unterstützt maximal 1.000 Releases pro App. Das heißt, wenn Sie das Release-Limit überschreiten, löscht App Distribution automatisch die ältesten Releases oberhalb des Limits. Informationen zum Verwalten von Release-Limits finden Sie unter Wie lange sind App-Releases verfügbar?

Fügen Sie denselben Testersatz zu mehreren Releases hinzu

Wenn Sie Ihren Releases eine große Anzahl von Testern hinzufügen möchten, nutzen Sie die Massentester-Verwaltungsfunktion von App Distribution.

Wir empfehlen die Verwendung von Gruppen, um dieselben Tester mehreren Releases hinzuzufügen. Eine Gruppe fungiert als Zugriffskontrollliste; Wenn Sie einen Tester aus einer Gruppe entfernen, verliert er den Zugriff auf alle an diese Gruppe verteilten Releases. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von Testern zu einer Gruppe .

Wenn Sie viele Tester verwalten müssen, können Sie über die Firebase-Konsole mehrere Tester in großen Mengen hinzufügen und löschen . Um das Hinzufügen und Entfernen von Testern zu automatisieren, verwenden Sie die Firebase CLI , Fastlane , Gradle oder die öffentliche Firebase App Distribution API .

Beachten Sie die Grenzwerte für Tester

App Distribution begrenzt die Anzahl der Tester, die Sie einem Firebase-Projekt oder einer App Distribution-Gruppe hinzufügen können. Wenn Sie diese Grenzwerte überschreiten, können Sie Ihre App nicht an weitere Tester verteilen. Weitere Informationen zu Testerlimits finden Sie unter Gibt es Limits für das Hinzufügen von Testern zu meiner App?

Ermöglichen Sie potenziellen Testern, sich selbst zum Testen zu 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 zum Testen einer App anzumelden. Indem Sie Benutzern ermöglichen, sich selbst zu Ihrer Liste von App-Testern hinzuzufügen, können Sie Ihre interne Testbasis nahtlos erweitern.

Zu den Anwendungsfällen für Einladungslinks gehören firmeneigene Dogfood-Programme, Organisationen mit großen QA-Teams und Entwicklergruppen, die möchten, dass einzelne Kunden den Testerzugriff kontrollieren können.

Wir empfehlen Ihnen, einen Einladungslink für eine Gruppe zu erstellen. Jeder Tester, der sich über den Einladungslink anmeldet, wird automatisch zu nachfolgenden Versionen hinzugefügt.

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

Stellen Sie sicher, dass Tester die Version testen, die Ihnen wichtig ist

Wenn eine neue Version hochgeladen wird, werden Ihre Tester per E-Mail benachrichtigt. Ergänzend zu dieser Benachrichtigung können Sie die folgenden Funktionen nutzen – Release-Links und In-App-Benachrichtigungen – um sicherzustellen, dass Ihre Tester die spezifische App-Version testen, die Sie interessiert:

  • Release-Links: Verwenden Sie diese Funktion, wenn Sie eine bestimmte Version mit Testern teilen möchten. Informationen zur Verwendung von Release-Links finden Sie unter Verteilen von Android-Apps an Tester mithilfe der Firebase-Konsole . Diese Links sind auch mit unseren Firebase- , Fastlane- und Gradle -Befehlszeilentools (CLI) zur Verwendung mit Ihren Build-Automatisierungstools verfügbar.
  • In-App-Benachrichtigungen: Verwenden Sie diese Warnungen, wenn Sie sicherstellen möchten, dass Ihre Tester die neueste Version Ihrer App testen. Durch die Integration des Firebase App Distribution Android SDK 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 .

Entfernen Sie automatisch den Zugriff für Tester, die das Unternehmen verlassen

Wenn Ihr interner CI/CD-Testablauf läuft, müssen Sie sicherstellen, dass Personen, die das Unternehmen verlassen, keinen Zugriff mehr auf Ihre internen Builds haben. Um Sie bei der Verwaltung des Testerzugriffs auf Builds zu unterstützen, bietet App Distribution die folgenden Optionen: