Catch up on everthing we announced at this year's Firebase Summit. Learn more

Verteilen Sie Android-Apps an Tester mit fastlane

Dieses Handbuch beschreibt , wie APK - Tester baut mit verteilen fastlane , eine Open - Source - Plattform , die automatisiert den Aufbau und iOS und Android Apps veröffentlichen. Es folgt einfach den Anweisungen in einem definierten Fastfile . Nachdem Sie Fastlane und Ihre einrichten Fastfile , können Sie App Verteilung mit fastlane Konfiguration integrieren.

Bevor Sie beginnen

Wenn Sie nicht bereits haben, fügen Sie Firebase zu dem Android - Projekt .

Wenn Sie keine anderen Firebase-Produkte verwenden, müssen Sie nur ein Projekt erstellen und Ihre App registrieren. Wenn Sie sich jedoch entscheiden, in Zukunft zusätzliche Produkte zu verwenden, führen Sie alle Schritte auf der oben verlinkten Seite aus.

Schritt 1. Fastlane einrichten

  1. Installieren und Einrichten von fastlane .

  2. Um App Distribution zu Ihrer Fastlane-Konfiguration hinzuzufügen, führen Sie den folgenden Befehl im Stammverzeichnis Ihres Android-Projekts aus:

    fastlane add_plugin firebase_app_distribution

    Wenn der Befehl fordert Sie mit einer Option, wählen Sie Option 3: RubyGems.org .

Schritt 2. Authentifizieren Sie sich bei Firebase

Bevor Sie das Fastlane-Plug-in verwenden können, müssen Sie sich zunächst bei Ihrem Firebase-Projekt authentifizieren. Es gibt drei Möglichkeiten, dies zu erreichen:

Schritt 3. Richten Sie Ihr Fastfile ein und verteilen Sie Ihre App

  1. In einer ./fastlane/Fastfile Spur, fügen Sie einen firebase_app_distribution Block. Verwenden Sie die folgenden Parameter, um die Verteilung zu konfigurieren:
    firebase_app_distribution-Parameter
    app

    Erforderlich: Ihre App Firebase App - ID. Sie können die App - ID in der Firebase - Konsole im finden Seite Allgemeine Einstellungen .

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    Ein Aktualisierungs - Token , dass gedruckt wird , wenn Sie das Plugin-Login Aktion ausführen (siehe Authentifizieren mit einem Google - Konto , oben), oder wenn Sie Ihre CI - Umgebung mit dem Firebase CLI (lesen Sie authentifizieren Verwenden der CLI mit CI - Systeme für weitere Informationen).

    service_credentials_file

    Der Pfad zur JSON-Datei Ihres Google-Dienstkontos. Siehe oben für , wie Anmeldeinformationen Dienstkonto zu authentifizieren .

    android_artifact_type

    Gibt den Android-Dateityp (APK oder AAB) an.

    android_artifact_path

    Ersetzt apk_path (veraltet). Absoluter Pfad zu der APK- oder AAB-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"

    Oder Sie können 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 Tester Gruppen , die Sie einladen möchten (siehe Tester verwalten ). Gruppen werden mit . angegeben Gruppenaliase , 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"

    Oder Sie können 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 diese Einstellung vornehmen , true ausführlichen 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

Schließlich, um die Build zur Verfügung Tester zu machen, führen Sie Ihre Spur:

fastlane <lane>

Sobald Sie Ihren Build verteilt haben, steht er 150 Tage (fünf Monate) im App-Verteilungs-Dashboard der Firebase-Konsole zur Verfügung. Wenn der Build 30 Tage vor dem Ablaufen liegt, wird sowohl in der Konsole als auch in der Build-Liste Ihres Testers auf seinem Testgerät eine Ablaufbenachrichtigung angezeigt.

Tester , die nicht eingeladen haben , um die Anwendung zu testen , erhalten E - Mail - Einladungen , um loszulegen, und bestehende Tester erhalten E - Mail - Benachrichtigungen , dass eine neue Build - Test (lesen Sie die bereit ist , Tester Set up Anleitung für Anweisungen, wie die Test - App installieren). Sie können den Status jedes Testers in der Firebase-Konsole überwachen – ob er die Einladung angenommen hat und ob er die App heruntergeladen hat.

Tester haben 30 Tage Zeit, um eine Einladung zum Testen der App anzunehmen, bevor sie abläuft. Wenn eine Einladung 5 Tage vor Ablauf abläuft, wird in der Firebase-Konsole neben dem Tester bei einer Version eine Ablaufbenachrichtigung angezeigt. Eine Einladung kann erneuert werden, indem sie über das Dropdown-Menü in der Testerzeile erneut gesendet wird.

Schritt 4 (optional). Tester für die Distribution verwalten

Sie können Tester aus Ihrer App Release , indem Sie Ihre hinzufügen oder entfernen Fastfile - Datei oder direkt ausgeführt fastlane Aktionen. Laufende Aktionen werden direkt die Werte außer Kraft gesetzt in Ihrem Fastfile .

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 für einen bestimmten Zeitraum Zugriff auf Ihre Releases.

Verwenden Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Führe Fastlane-Aktionen aus

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

Sie können auch angeben Tester mit --file="/path/to/testers.txt statt --emails .

Die firebase_app_distribution_add_testers und firebase_app_distribution_remove_testers Aufgaben übernehmen auch die folgenden Argumente:

  • project_name : Ihre Firebase Projektnummer.
  • service_credentials_file : Der Pfad zu Ihrer Google - Service Credentials - Datei.
  • firebase_cli_token : Auth - Token für Firebase CLI.

Die service_credentials_file und die firebase_cli_token sind die gleichen Argumente , die die Upload - Aktion verwendet.