Sie können Builds mithilfe von Fastlane , einer Open Source-Plattform, die das Erstellen und Freigeben von iOS- und Android-Apps automatisiert, an Tester verteilen . Es folgt einfachen Anweisungen, die in einem Fastfile
definiert Fastfile
. Nachdem Sie Fastlane und Ihr Fastfile
, können Sie App Distribution in Ihre Fastlane-Konfiguration integrieren.
Schritt 1 . Fastlane einrichten
Führen Sie den folgenden Befehl im Stammverzeichnis Ihres Android-Projekts aus, um App Distribution zu Ihrer Fastlane-Konfiguration hinzuzufügen:
fastlane add_plugin firebase_app_distribution
Wenn der Befehl Sie zur Eingabe einer Option auffordert, wählen Sie
Option 3: RubyGems.org
.
Schritt 2 . Mit Firebase authentifizieren
Bevor Sie das Fastlane-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:
bundle exec fastlane run firebase_app_distribution_login
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. Kopieren Sie den resultierenden Code aus dem Anmeldebrowser und fügen Sie ihn in die Befehlszeile ein. Die Anmeldeaktion druckt dann ein Aktualisierungstoken, mit dem sich das App Distribution-Plugin bei Firebase authentifiziert.
- Übergeben Sie das Token aus dem vorherigen Schritt in das Plugin, entweder mit dem
firebase_cli_token
Parameter später , wenn der Fastfile einrichten, oder durch die EinstellungFIREBASE_TOKEN
Umgebungsvariable: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:
- Übergeben Sie die Schlüsseldatei Ihres Dienstkontos an die Aktion
firebase_app_distribution
. Diese Methode ist möglicherweise praktisch, wenn Sie Ihre Dienstkonto-Schlüsseldatei bereits 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.
- 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 Ihren Dienstkonto Schlüssel zu Ihrer Fahrspur passieren
firebase_app_distribution
Aktion, stellen Sie denservice_credentials_file
Parameter mit dem Pfad zu Ihrem privaten Schlüssel JSON - Datei 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 Ihren Dienstkonto Schlüssel zu Ihrer Fahrspur passieren
Anweisungen zum Authentifizieren Ihres Projekts finden Sie unter Anmelden mit der Firebase-CLI .
Schritt 3 . Richten Sie Ihr Fastfile ein und verteilen Sie Ihre App
- In einer
./fastlane/Fastfile
Spur, fügen Sie einenfirebase_app_distribution
Block. Verwenden Sie die folgenden Parameter, um die Verteilung zu konfigurieren:
Zum Beispiel:Parameter für firebase_app_distribution app
Erforderlich : Die Firebase-App-ID Ihrer App. Sie finden die App-ID in der Firebase-Konsole auf der Seite Allgemeine Einstellungen .
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
Ein Aktualisierungstoken, das gedruckt wird, wenn Sie die Anmeldeaktion des Plugins ausführen (siehe Authentifizieren mit einem Google-Konto oben) oder wenn Sie Ihre CI-Umgebung mit der Firebase-CLI authentifizieren (weitere Informationen finden Sie unter Verwenden der CLI mit CI-Systemen ).
service_credentials_file
Der Pfad zu der JSON-Datei Ihres Google-Dienstkontos. Im Folgenden erfahren Sie, wie Sie sich mithilfe der Anmeldeinformationen des Dienstkontos authentifizieren .
apk_path
Absoluter Pfad zu der APK-Datei, die Sie hochladen möchten. Wenn nicht angegeben, bestimmt Fastlane den Speicherort der Datei anhand der Spur, in der die Datei generiert wurde.
release_notes
release_notes_file
Versionshinweise für diesen Build.
Sie können die Versionshinweise entweder direkt angeben:
release_notes: "Text of release notes"
Oder geben Sie den Pfad zu einer Nur-Text-Datei an:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_file
Die E-Mail-Adressen der Tester, die Sie einladen 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 Nur-Text-Datei angeben, die eine durch Kommas getrennte Liste von E-Mail-Adressen enthält:
testers_file: "/path/to/testers.txt"
groups
groups_file
Die Testergruppen, die Sie einladen möchten (siehe Tester verwalten ). Gruppen werden mit angegeben
Gruppen-Aliase , die Sie in der Firebase-Konsole nachschlagen können.Sie können die Gruppen als durch Kommas getrennte Liste angeben:
groups: "qa-team, trusted-testers"
Sie können auch den Pfad zu einer Nur-Text-Datei angeben, die eine durch Kommas getrennte Liste von Gruppennamen enthält:
groups_file: "/path/to/groups.txt"
debug
Eine boolesche Flagge. Sie können dies auf
true
, um eine ausführliche Debug-Ausgabe zu drucken.platform :android do desc "My awesome app" lane :distribute do build_android_app(...) # build_android_app is a built-in fastlane action. firebase_app_distribution( app: "1:123456789:android:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
- Um den Build für Tester verfügbar zu machen, führen Sie schließlich Ihre Spur aus:
fastlane <lane>
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 zur Installation der Test-App finden Sie in der Anleitung zur Einrichtung des Testers ). Sie können den Status jedes Testers in der Firebase-Konsole überwachen, ob er die Einladung angenommen und die App heruntergeladen hat.