Dystrybuuj aplikacje na Androida wśród testerów za pomocą Fastlane

W tym dokumencie opisano, jak dystrybuować kompilacje APK do testerów za pomocą fastlane , platformy typu open source, która automatyzuje tworzenie i wydawanie aplikacji na iOS i Androida. Ten dokument jest zgodny z instrukcjami zdefiniowanymi w pliku Fastfile . Po skonfigurowaniu Fastlane i Fastfile możesz zintegrować Dystrybucję aplikacji z konfiguracją Fastlane.

Zanim zaczniesz

Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase do swojego projektu na Androida .

Jeśli nie używasz żadnych innych produktów Firebase, wystarczy utworzyć projekt i zarejestrować swoją aplikację. Jeśli jednak zdecydujesz się w przyszłości korzystać z dodatkowych produktów, pamiętaj o wykonaniu wszystkich kroków na stronie, do której prowadzi link powyżej.

Krok 1. Skonfiguruj fastlane

  1. Zainstaluj i skonfiguruj fastlane .

  2. Aby dodać Dystrybucję aplikacji do konfiguracji Fastlane, uruchom następujące polecenie z katalogu głównego projektu Android:

    fastlane add_plugin firebase_app_distribution

    Jeśli polecenie wyświetli monit z opcją, wybierz Option 3: RubyGems.org .

Krok 2. Uwierzytelnij w Firebase

Zanim będziesz mógł użyć wtyczki fastlane, musisz najpierw uwierzytelnić się w swoim projekcie Firebase na jeden z poniższych sposobów. Domyślnie wtyczka fastlane szuka poświadczeń z Firebase CLI, jeśli nie jest używana żadna inna metoda uwierzytelniania.

Krok 3. Skonfiguruj Fastfile i rozpowszechnij swoją aplikację

  1. Na linii ./fastlane/Fastfile dodaj blok firebase_app_distribution . Użyj następujących parametrów, aby skonfigurować dystrybucję:
    parametry firebase_app_distribution
    app

    Wymagane : Identyfikator aplikacji Firebase Twojej aplikacji. Identyfikator aplikacji można znaleźć w konsoli Firebase na stronie Ustawienia ogólne .

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

    Token odświeżania, który jest drukowany podczas uwierzytelniania środowiska CI za pomocą Firebase CLI (więcej informacji można znaleźć w artykule Korzystanie z interfejsu CLI w systemach CI ).

    service_credentials_file

    Ścieżka do pliku json konta usługi Google. Zobacz powyżej, jak uwierzytelnić się przy użyciu poświadczeń konta usługi .

    android_artifact_type

    Określa typ pliku systemu Android (APK lub AAB).

    android_artifact_path

    Zastępuje apk_path (przestarzałe). Ścieżka bezwzględna do pliku APK lub AAB, który chcesz przesłać. Jeśli nie jest określony, fastlane określa lokalizację pliku na podstawie toru, w którym plik został wygenerowany.

    release_notes
    release_notes_file

    Informacje o wersji dla tej kompilacji.

    Możesz bezpośrednio określić informacje o wersji:

    release_notes: "Text of release notes"

    Lub podaj ścieżkę do zwykłego pliku tekstowego:

    release_notes_file: "/path/to/release-notes.txt"
    testers
    testers_file

    Adresy e-mail testerów, których chcesz zaprosić.

    Możesz określić testerów jako listę adresów e-mail oddzielonych przecinkami:

    testers: "ali@example.com, bri@example.com, cal@example.com"

    Możesz też określić ścieżkę do zwykłego pliku tekstowego zawierającego oddzieloną przecinkami listę adresów e-mail:

    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    Grupy testerów, które chcesz zaprosić (patrz Zarządzanie testerami ). Grupy są określane za pomocą pseudonimy grupowe , które możesz wyszukać w konsoli Firebase.

    Możesz określić grupy jako listę oddzieloną przecinkami:

    groups: "qa-team, trusted-testers"

    Lub możesz określić ścieżkę do zwykłego pliku tekstowego zawierającego oddzieloną przecinkami listę nazw grup:

    groups_file: "/path/to/groups.txt"
    debug

    Flaga logiczna. Możesz ustawić to na true aby wydrukować szczegółowe dane wyjściowe debugowania.

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(...)
        # build_android_app is a built-in fastlane action.
        release = 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

Aby udostępnić kompilację testerom, uruchom linię:

fastlane <lane>

Wartość zwracana przez akcję to hash reprezentujący przesłane wydanie. Ten skrót jest również dostępny przy użyciu lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE] . Aby uzyskać więcej informacji na temat dostępnych pól w tym mieszaniu, zapoznaj się z dokumentacją interfejsu API REST .

Wtyczka fastlane wyświetla następujące linki po przesłaniu wersji. Te łącza pomagają zarządzać plikami binarnymi i zapewniają, że testerzy i inni programiści mają odpowiednią wersję:

  • Łącze do konsoli Firebase wyświetlającej jedną wersję. Możesz udostępnić ten link innym programistom w swojej organizacji.
  • Link do wersji w środowisku testera (natywna aplikacja na Androida), który umożliwia testerom przeglądanie informacji o wersji i instalowanie aplikacji na swoim urządzeniu. Tester musi mieć dostęp do wersji, aby użyć łącza.
  • Podpisany link, który bezpośrednio pobiera i instaluje plik binarny aplikacji (plik APK lub AAB). Link wygasa po godzinie.

Po rozpowszechnieniu kompilacji jest ona dostępna w panelu dystrybucji aplikacji w konsoli Firebase przez 150 dni. Gdy kompilacja wygaśnie za 30 dni, w konsoli i na liście kompilacji testera na jego urządzeniu testowym pojawi się powiadomienie o wygaśnięciu.

Testerzy, którzy nie zostali wcześniej zaproszeni do testowania aplikacji, otrzymują zaproszenia e-mail, aby rozpocząć. Istniejący testerzy otrzymują powiadomienia e-mail, że nowa kompilacja jest gotowa do przetestowania. Aby dowiedzieć się, jak zainstalować aplikację testową, zobacz przewodnik konfiguracji testera . Możesz monitorować stan każdego testera, aby określić, czy zaakceptował zaproszenie i czy pobrał aplikację w konsoli Firebase.

(Opcjonalnie) Aby automatycznie zwiększać numer kompilacji za każdym razem, gdy tworzysz nową wersję w dystrybucji aplikacji, możesz użyć akcji firebase_app_distribution_get_latest_release i na przykład wtyczki increment_version_code fastlane . Poniższy kod zawiera przykład automatycznego zwiększania numeru kompilacji:

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end

Aby dowiedzieć się więcej o akcji firebase_app_distribution_get_latest_release , zobacz Uzyskiwanie informacji o najnowszej wersji aplikacji .

Krok 4 (opcjonalnie). Zarządzanie testerami dystrybucji

Możesz dodawać i usuwać testerów ze swojego projektu lub grupy, korzystając z pliku Fastfile lub bezpośrednio uruchamiając akcje Fastlane. Uruchamiane akcje bezpośrednio zastępują wartości ustawione w Fastfile .

Po dodaniu testera do projektu Firebase możesz dodać go do poszczególnych wersji. Testerzy, którzy zostali usunięci z Twojego projektu Firebase, nie mają już dostępu do wersji w Twoim projekcie, ale mogą zachować dostęp do Twoich wersji przez pewien czas.

Jeśli masz dużą liczbę testerów, powinieneś rozważyć użycie grup.

Użyj Fastfile

# Use lanes to add or remove testers from a project.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
    group_alias: "qa-team" # (Optional) add testers to this group
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
    group_alias: "qa-team" # (Optional) remove testers from this group only
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Uruchom akcje fastlane

fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"

Możesz także określić testerów za pomocą --file="/path/to/testers.txt zamiast --emails .

Zadania firebase_app_distribution_add_testers i firebase_app_distribution_remove_testers akceptują również następujące argumenty:

  • project_name : Twój numer projektu Firebase.
  • group_alias (opcjonalne): Jeśli określono, testerzy są dodawani (lub usuwani z) określonej grupy.
  • service_credentials_file : Ścieżka do pliku danych logowania do usługi Google.
  • firebase_cli_token : Token autoryzacji dla Firebase CLI.

Plik service_credentials_file i firebase_cli_token to te same argumenty, które są używane w akcji przesyłania.

Krok 5 (opcjonalnie). Uzyskaj informacje o najnowszej wersji swojej aplikacji

Możesz użyć akcji firebase_app_distribution_get_latest_release , aby pobrać informacje o najnowszej wersji swojej aplikacji w dystrybucji aplikacji, w tym informacje o wersji aplikacji, informacje o wersji i czas utworzenia. Przypadki użycia obejmują automatyczne zwiększanie wersji i przenoszenie informacji o wersji z poprzedniej wersji.

Wartością zwracaną przez akcję jest skrót reprezentujący najnowszą wersję. Ten skrót jest również dostępny przy użyciu lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] . Aby uzyskać więcej informacji na temat dostępnych pól w tym mieszaniu, zapoznaj się z dokumentacją interfejsu API REST .

Parametry

parametry firebase_app_distribution_get_latest_release
app

Wymagane : Identyfikator aplikacji Firebase Twojej aplikacji. Identyfikator aplikacji można znaleźć w konsoli Firebase na stronie Ustawienia ogólne .

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

Token odświeżania, który jest drukowany podczas uwierzytelniania środowiska CI za pomocą Firebase CLI (więcej informacji można znaleźć w artykule Korzystanie z interfejsu CLI w systemach CI ).

service_credentials_file

Ścieżka do pliku json konta usługi Google. Zobacz powyżej, jak uwierzytelnić się przy użyciu poświadczeń konta usługi .

debug

Flaga logiczna. Możesz ustawić to na true aby wydrukować szczegółowe dane wyjściowe debugowania.

Następne kroki