了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

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

Dieses Dokument stellt Best Practices für die Verwendung von Firebase App Distribution vor, um Ihre Testworkflows für Android-Vorabversionen 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-Befehlszeilenschnittstelle und die öffentliche Firebase App Distribution API verfügbar sind. Wir beschreiben auch Release- und Tester-Limits, damit Sie im Voraus für 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 mit 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 App Distribution nicht aktiviert haben, erhalten Sie einen 404-Fehler.

Führen Sie die folgenden Schritte aus, um die App-Verteilung zu aktivieren:

  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 an Ihre Tester zu verteilen, indem Sie eine Verknüpfung zu Google Play herstellen .

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

Wenn Sie das Erstellen und Freigeben von Apps 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.

Verwenden Sie fastlane

Integrieren Sie App Distribution 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 Releases automatisch erstellen und an Tester verteilen, stellen Sie sicher, dass Tester immer über die aktuellste Testversion Ihrer App verfügen.

Informationen zum Integrieren von App Distribution in Fastlane finden Sie unter Verteilen von Android-Apps an Tester mit Fastlane .

Verwenden Sie Gradle

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

Informationen zum Integrieren von App Distribution in 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-Befehlszeilenschnittstelle zum Automatisieren Ihrer Builds finden Sie unter Verteilen von Android-Apps an Tester mithilfe der Firebase-Befehlszeilenschnittstelle .

Verwenden Sie zur Authentifizierung Dienstanmeldeinformationen

Verwenden Sie das App Distribution Fastlane-Plug-in , das Gradle-Plug-in oder die Firebase-Befehlszeilenschnittstelle mit Dienstkonten. Ein Dienstkonto ist eine Art Google-Konto, das Anwendungen darstellt (im Gegensatz zu Benutzern). Ihr CI-System kann Dienstkonten verwenden, um Ihre App Distribution-Workloads auszuführen. Weitere Informationen finden Sie unter Mit einem Dienstkonto authentifizieren .

Wenn Sie Workload Identity Federation verwenden, können Sie anstelle eines Dienstkontoschlüssels eine Konfigurationsdatei für Anmeldeinformationen generieren und verwenden.

Beachten Sie die Release-Limits

App Distribution unterstützt maximal 1.000 Releases pro App. Das bedeutet, dass App Distribution automatisch die ältesten Versionen über dem Limit löscht, wenn Sie das Release-Limit überschreiten. Informationen zum Verwalten von Release-Limits finden Sie unter Wie lange sind App-Releases verfügbar?

Fügen Sie mehreren Releases dieselbe Gruppe von Testern hinzu

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

Wir empfehlen Ihnen, Gruppen zu verwenden, um dieselben Tester zu mehreren Releases hinzuzufügen. Eine Gruppe fungiert als Zugriffskontrollliste; 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 Hinzufügen und Entfernen von Testern zu einer Gruppe .

Wenn Sie viele Tester verwalten müssen, können Sie Tester mithilfe der Firebase-Konsole massenweise 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 Testergrenzen

Die App-Verteilung begrenzt die Anzahl der Tester, die Sie einem Firebase-Projekt oder einer App-Verteilungsgruppe hinzufügen können. Wenn Sie diese Beschränkungen überschreiten, können Sie Ihre App nicht an weitere Tester verteilen. Weitere Informationen zu Testerbeschränkungen finden Sie unter Gibt es Beschränkungen 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 vereinfachen, 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. Wenn Sie es 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 Dogfood-Programme von Unternehmen, Organisationen mit großen QA-Teams und Entwicklergruppen, die möchten, dass einzelne Kunden den Testerzugriff kontrollieren können.

Wir empfehlen, dass Sie einen Einladungslink für eine Gruppe 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 einer Gruppe hinzufügen und daraus entfernen .

Stellen Sie sicher, dass Tester die für Sie interessante Version testen

Wenn eine neue Version hochgeladen wird, werden Ihre Tester per E-Mail benachrichtigt. Um diese Benachrichtigung zu ergänzen, können Sie die folgenden Funktionen verwenden – Release-Links und In-App-Benachrichtigungen – um sicherzustellen, dass Ihre Tester die spezifische App-Version testen, die Ihnen wichtig ist:

  • Release-Links: Verwenden Sie diese Funktion, wenn Sie eine bestimmte Version für Tester freigeben 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 Befehlszeilentools (CLI) Firebase , fastlane und Gradle zur Verwendung mit Ihren Build-Automatisierungstools verfügbar.
  • In-App-Benachrichtigungen: Verwenden Sie diese Benachrichtigungen, 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 direkt in der App Benachrichtigungen 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 eingerichtet ist und ausgeführt wird, müssen Sie sicherstellen, dass Personen, die das Unternehmen verlassen, keinen Zugriff mehr auf Ihre internen Builds haben. Um Ihnen bei der Verwaltung des Testerzugriffs auf Builds zu helfen, bietet App Distribution die folgenden Optionen: