W tym dokumencie opisujemy, jak rozpowszechniać kompilacje plików APK testerom, korzystając z fastlane – platformy typu open source, która automatyzuje tworzenie i publikowanie aplikacji na iOS i Androida. Ten dokument jest zgodny z instrukcjami opisanymi w dokumencie Fastfile
. Po skonfigurowaniu szybkiej linii i urządzenia Fastfile
możesz zintegrować Rozpowszechnianie aplikacji ze swoją konfiguracją najprostszej usługi.
Zanim zaczniesz
Dodaj Firebase do swojego projektu na Androida, chyba że masz to już za sobą.
Jeśli nie korzystasz z żadnych innych usług Firebase, musisz tylko utworzyć projekt i zarejestrować aplikację. Jeśli jednak w przyszłości zdecydujesz się używać dodatkowych usług, musisz wykonać wszystkie czynności na stronie, do której link znajdziesz powyżej.
Krok 1. Skonfiguruj szybki pas
Aby dodać Rozpowszechnianie aplikacji do konfiguracji fastline, uruchom to polecenie z poziomu głównego projektu na Androida:
fastlane add_plugin firebase_app_distribution
Jeśli w odpowiedzi pojawi się opcja, wybierz
Option 3: RubyGems.org
.
Krok 2. Uwierzytelnij za pomocą Firebase
Zanim użyjesz wtyczki fastlane, musisz najpierw uwierzytelnić się w projekcie Firebase na jeden z poniższych sposobów. Domyślnie wtyczka fastlane szuka danych uwierzytelniających w interfejsie wiersza poleceń Firebase, jeśli nie jest używana żadna inna metoda uwierzytelniania.
Krok 3. Konfigurowanie pliku Fastfile i rozpowszechnianie aplikacji
- Na pasie
./fastlane/Fastfile
dodaj blokfirebase_app_distribution
. Aby skonfigurować dystrybucję, użyj tych parametrów:Parametry firebase_app_distribution app
Wymagany: identyfikator aplikacji Firebase. Identyfikator aplikacji możesz znaleźć w konsoli Firebase na stronie ustawień ogólnych.
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
Token odświeżania, który jest drukowany podczas uwierzytelniania środowiska CI za pomocą interfejsu wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Używanie interfejsu wiersza poleceń w systemach CI).
service_credentials_file
Ścieżka do pliku json Twojego konta usługi Google. Powyżej znajdziesz informacje o uwierzytelnianie z użyciem danych logowania konta usługi.
android_artifact_type
Określa typ pliku Androida (APK lub AAB).
android_artifact_path
Zastępuje ustawienie
apk_path
(wycofane). Ścieżka bezwzględna do pliku APK lub pakietu AAB, który chcesz przesłać. Jeśli nie określono inaczej, fastlane określa lokalizację pliku na podstawie pasa, na którym został wygenerowany.release_notes
release_notes_file
Informacje o wersji tej kompilacji.
Informacje o wersji możesz podać bezpośrednio:
release_notes: "Text of release notes"
Możesz też podać ś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ć.
Testerów możesz podać w postaci listy oddzielonych przecinkami adresów e-mail:
testers: "ali@example.com, bri@example.com, cal@example.com"
Możesz też podać ścieżkę do pliku tekstowego zawierającego listę oddzielonych przecinkami adresów e-mail:
testers_file: "/path/to/testers.txt"
groups
groups_file
Grupy testerów, które chcesz zaprosić (więcej informacji znajdziesz w artykule Zarządzanie testerami). Grupy określa się za pomocą
aliasów grup , które możesz wyszukać w konsoli Firebase.Grupy możesz podać w postaci listy rozdzielanej przecinkami:
groups: "qa-team, trusted-testers"
Możesz też podać ścieżkę do pliku tekstowego zawierającego oddzieloną przecinkami listę nazw grup:
groups_file: "/path/to/groups.txt"
test_devices
test_devices_file
Poniższe typy dystrybucji są częścią funkcji automatycznych testerów w wersji beta.
Urządzenia testowe, na które chcesz rozpowszechniać kompilacje (patrz Testy automatyczne).
Możesz podać urządzenia testowe w postaci listy urządzeń testowych rozdzielonych średnikami:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
Możesz też podać ścieżkę do pliku tekstowego zawierającego rozdzielaną średnikami listę urządzeń testowych:
test_devices_file: "/path/to/test-devices.txt"
test_username
Nazwa użytkownika do automatycznego logowania się podczas testów automatycznych.
test_password
test_password_file
Hasło do automatycznego logowania używane podczas testów automatycznych.
Możesz też podać ścieżkę do zwykłego pliku tekstowego zawierającego hasło:
test_password_file: "/path/to/test-password.txt"
test_username_resource
Nazwa zasobu w polu nazwy użytkownika na potrzeby automatycznego logowania, które jest używane podczas testów automatycznych.
test_password_resource
Nazwa zasobu w polu hasła na potrzeby automatycznego logowania się podczas testów automatycznych.
test_non_blocking
asynchronicznie uruchamiać testy automatyczne, Otwórz konsolę Firebase, aby wyświetlić wyniki automatycznych testów.
debug
Flaga wartości logicznej. Aby wydrukować szczegółowe dane debugowania, możesz ustawić wartość
true
.
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, wyznacz tę ścieżkę:
fastlane <lane>
Wartość zwrotna tego działania to hasz, który reprezentuje przesłaną wersję.
Ten hasz jest też dostępny za pomocą funkcji lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
.
Więcej informacji o polach dostępnych w tym haszu znajdziesz w dokumentacji interfejsu API REST.
Wtyczka fastlane generuje poniższe linki po przesłaniu wersji. Te linki ułatwiają zarządzanie plikami binarnymi oraz sprawdzanie, czy testerzy i inni deweloperzy mają odpowiednią wersję:
- Link do konsoli Firebase z wyświetloną pojedynczą wersją. Możesz udostępnić ten link innym deweloperom w Twojej organizacji.
- Link do wersji w środowisku testowym (aplikacja natywna na Androida), który umożliwia testerom wyświetlenie informacji o wersji i instalowanie aplikacji na urządzeniach. Tester musi mieć dostęp do wersji, aby użyć linku.
- Podpisany link, który bezpośrednio pobiera i instaluje plik binarny aplikacji (plik APK lub AAB). Link wygasa po godzinie.
Rozpowszechniona kompilacja jest przez 150 dni dostępna w panelu Rozpowszechniania aplikacji w konsoli Firebase. Gdy upłynie 30 dni od wygaśnięcia kompilacji, w konsoli i na liście kompilacji na urządzeniu testowym pojawi się odpowiednie powiadomienie.
Testerzy, którzy nie zostali wcześniej zaproszeni do testowania aplikacji, otrzymają e-maile z zaproszeniem do testowania. Obecni testerzy otrzymują e-maile z powiadomieniami o tym, że nowa kompilacja jest gotowa do przetestowania. Aby dowiedzieć się, jak zainstalować aplikację testową, przeczytaj przewodnik po konfiguracji testerów. Możesz monitorować stan każdego testera, aby ustalić, 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 Rozpowszechnianiu aplikacji, możesz użyć działania firebase_app_distribution_get_latest_release
i na przykład wtyczki fastlane increment_version_code
.
Ten kod pokazuje, jak automatycznie zwiększać liczbę 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
Więcej informacji o działaniu firebase_app_distribution_get_latest_release
znajdziesz w artykule Uzyskiwanie informacji o najnowszej wersji aplikacji.
Krok 4 (opcjonalny). zarządzanie testerami na potrzeby dystrybucji,
Testerów możesz dodawać do projektu lub grupy i usuwać z niego za pomocą pliku Fastfile
lub bezpośrednio uruchamiając działania szybkiej linii. Działania wykonywane bezpośrednio zastępują wartości ustawione w polu Fastfile
.
Po dodaniu testera do projektu Firebase możesz dodać go do poszczególnych wersji. Testerzy usunięci z projektu Firebase nie mają już dostępu do wersji w tym projekcie, ale mogą zachować do nich dostęp przez pewien czas.
Jeśli masz dużą liczbę testerów, warto zastanowić się nad użyciem 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 działania szybkiego pasa
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 też zamiast --emails
określić testerów --file="/path/to/testers.txt
.
Zadania firebase_app_distribution_add_testers
i firebase_app_distribution_remove_testers
akceptują też te argumenty:
project_name
: numer projektu Firebase.group_alias
(opcjonalnie): testerzy są dodawani do wskazanej grupy (lub z niej usuwani).service_credentials_file
: ścieżka do pliku danych logowania do usług Google.firebase_cli_token
: token uwierzytelniania dla interfejsu wiersza poleceń Firebase.
service_credentials_file
i firebase_cli_token
to te same argumenty używane w działaniu przesyłania.
Krok 5 (opcjonalny). Uzyskiwanie informacji o najnowszej wersji aplikacji
Działanie firebase_app_distribution_get_latest_release
pozwala pobrać informacje o najnowszej wersji aplikacji w usłudze Rozpowszechnianie aplikacji, w tym informacje o wersji aplikacji, informacjach o wersji i czasie utworzenia. Przypadki użycia obejmują automatyczne zwiększanie wersji i przenoszenie informacji o wersji z poprzedniej wersji.
Zwracaną wartością działania jest hasz najnowszej wersji.
Ten hasz jest też dostępny za pomocą funkcji lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
.
Więcej informacji o polach dostępnych w tym haszu znajdziesz w dokumentacji interfejsu API REST.
Parametry
Parametry firebase_app_distribution_get_latest_release | |
---|---|
app
|
Wymagany: identyfikator aplikacji Firebase. Identyfikator aplikacji możesz znaleźć w konsoli Firebase na stronie ustawień ogólnych. app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token
|
Token odświeżania, który jest drukowany podczas uwierzytelniania środowiska CI za pomocą interfejsu wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Używanie interfejsu wiersza poleceń w systemach CI). |
service_credentials_file
|
Ścieżka do pliku json Twojego konta usługi Google. Powyżej znajdziesz informacje o uwierzytelnianie z użyciem danych logowania konta usługi. |
debug
|
Flaga wartości logicznej. Aby wydrukować szczegółowe dane debugowania, możesz ustawić wartość |
Dalsze kroki
Wdróż opinie w aplikacji, by ułatwić testerom przesyłanie opinii o aplikacji (w tym zrzutów ekranu).
Dowiedz się, jak wyświetlać testerom alerty w aplikacji o udostępnieniu do zainstalowania nowych kompilacji aplikacji.
Poznaj sprawdzone metody rozpowszechniania aplikacji na Androida testerom kontroli jakości za pomocą CI/CD.