Z tego przewodnika dowiesz się, jak rozpowszechniać pliki APK wśród testerów za pomocą interfejsu wiersza poleceń Firebase. Narzędzie w wersji CLI umożliwia określenie testerów i notatek dotyczących kompilacji, a następnie rozprowadzanie kompilacji.
Zanim zaczniesz
Jeśli nie zostało to jeszcze zrobione, dodaj Firebase do projektu na Androida.
Jeśli nie używasz żadnych innych usług Firebase, musisz tylko utworzyć projekt i zarejestrować aplikację. Jeśli jednak w przyszłości zdecydujesz się na korzystanie z dodatkowych usług, wykonaj wszystkie czynności opisane na stronie, do której link znajduje się powyżej.
Krok 1. Tworzenie aplikacji
Gdy będziesz gotowy do rozpowszechniania przedpremierowej wersji aplikacji do testów, skompiluj plik APK w ramach zwykłego procesu. Plik APK musi być podpisany kluczem debugowania lub kluczem podpisywania aplikacji.
Krok 2. Udostępnianie aplikacji testerom
Aby rozpowszechnić aplikację wśród testerów, prześlij plik aplikacji za pomocą interfejsu wiersza poleceń Firebase:
- Zainstaluj najnowszą wersję interfejsu wiersza poleceń Firebase lub zaktualizuj go do tej wersji (zalecamy pobranie samodzielnego pliku binarnego dla interfejsu wiersza poleceń odpowiedniego dla Twojego systemu operacyjnego). Zaloguj się i sprawdź, czy masz dostęp do swoich projektów. .
- Na stronie App Distribution konsoli Firebase wybierz aplikację, którą chcesz rozpowszechniać, a potem kliknij Rozpocznij.
-
Uruchom polecenie
appdistribution:distribute
, aby przesłać aplikację i rozpowszechnić ją wśród testerów. Aby skonfigurować dystrybucję, użyj tych parametrów:appdistribution:distribute options --app
Wymagane: identyfikator aplikacji Firebase Twojej aplikacji. Identyfikator aplikacji znajdziesz w konsoli Firebase na stronie Ogólne ustawienia.
--app 1:1234567890:android:0a1b2c3d4e5f67890
--token
token odświeżania wydrukowany podczas uwierzytelniania środowiska CI za pomocą wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Używanie wiersza poleceń w systemach CI ).
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-file
Informacje o tej kompilacji.
Możesz podać informacje o wersji bezpośrednio:
--release-notes "Text of release notes"
Możesz też podać ścieżkę do 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 wskazać jako listę adresów e-mail rozdzielonych przecinkami:
--testers "ali@example.com, bri@example.com, cal@example.com"
Możesz też podać ścieżkę do pliku tekstowego zawierającego listę adresów e-mail rozdzielonych przecinkami:
--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ą
aliasów grup , które możesz sprawdzić w konsoli Firebase.Grupy możesz określić jako listę oddzieloną przecinkami:
--groups "qa-team, trusted-testers"
Możesz też podać ścieżkę do pliku tekstowego zawierającego rozdzieloną przecinkami listę nazw grup:
--groups-file "/path/to/groups.txt"
--debug
Flaga, którą możesz dołączyć, aby wydrukować szczegółowy dziennik.
--test-devices
--test-devices-file
Te typy dystrybucji są częścią funkcji testowania automatycznego w wersji beta.
Urządzenia testowe, na które chcesz rozpowszechnić kompilacje (patrz Automatyczne testy).
Testerów możesz wskazać jako listę adresów e-mail rozdzielonych przecinkami:
--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 listę urządzeń testowych rozdzielonych średnikami:
--test-devices-file: "/path/to/test-devices.txt"
--test-username
Nazwa użytkownika do automatycznego logowania, która ma być używana podczas testów zautomatyzowanych.
--test-password
--test-password-file
Hasło do automatycznego logowania, które będzie używane podczas testów zautomatyzowanych.
Możesz też określić ścieżkę do pliku tekstowego zawierającego hasło:
--test-password-file: "/path/to/test-password.txt"
--test-username-resource
Nazwa zasobu dla pola nazwy użytkownika do automatycznego logowania, które ma być używane podczas testów zautomatyzowanych.
--test-password-resource
Nazwa zasobu dla pola hasła do automatycznego logowania, które ma być używane podczas testów zautomatyzowanych.
--test-non-blocking
asynchronicznie przeprowadzać testy automatyczne; Wyniki automatycznego testu znajdziesz w konsoli Firebase.
Przykład:
firebase appdistribution:distribute test.apk \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
Po przesłaniu wersji wiersz poleceń Firebase wyświetla te linki: Te linki pomogą Ci zarządzać plikami binarnymi i zadbać o to, aby testerzy i inni deweloperzy mieli odpowiednią wersję:
firebase_console_uri
– link do konsoli Firebase, na której wyświetla się pojedynczy film. Możesz udostępnić ten link innym programistom w organizacji.testing_uri
– link do wersji w interfejsie testera (natywnej aplikacji na Androida), która umożliwia wyświetlanie notatek dotyczących wersji i instalowanie aplikacji na urządzeniu. Aby użyć linku, tester musi mieć dostęp do wersji.binary_download_uri
– podpisany link, który bezpośrednio pobiera i instaluje binarną aplikację (plik APK lub AAB). Link wygasa po 1 godzinie.
Zarządzanie testerami i grupami
Oprócz rozpowszechniania wersji możesz też używać opcji
appdistribution:testers:add
iappdistribution:testers:remove
, aby zapraszać nowych testerów lub usuwać dotychczasowych testerów z projektu Firebase.Po dodaniu testera do projektu Firebase możesz go dodawać do poszczególnych wersji. Po usunięciu testera nie będzie on już mieć dostępu do wersji w Twoim projekcie. Pamiętaj, że testerzy, którzy zostali niedawno usunięci, mogą nadal mieć dostęp do Twoich wersji przez pewien czas.
Przykład:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
Adresy e-mail testerów muszą być oddzielone spacjami. Testerów możesz też określić za pomocą parametru
--file /path/to/testers.txt
.Jeśli masz dużą liczbę testerów, rozważ użycie grup: możesz użyć poleceń
appdistribution:group:create
iappdistribution:group:delete
, aby utworzyć lub usunąć grupy w projekcie Firebase.Użyj parametru
--group-alias
, aby określić grupę dla poleceńappdistribution:testers:add
iappdistribution:testers:remove
.Przykład:
firebase appdistribution:group:create "QA team" qa-team
firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
firebase appdistribution:group:delete qa-team
Po rozpowszechnieniu wersji kompilacji będzie ona dostępna w panelu App Distribution konsoli Firebase przez 150 dni (5 miesięcy). Gdy do wygaśnięcia wersji pozostało 30 dni, w konsoli i na liście wersji na urządzeniu testowym testera pojawi się powiadomienie o wygaśnięciu.
Testerzy, którzy nie zostali zaproszeni do testowania aplikacji, otrzymują e-maile z zaproszeniem do rozpoczęcia testów, a obecni testerzy otrzymują e-maile z powiadomieniem, że nowa wersja jest gotowa do testowania (instrukcje instalacji testowej wersji aplikacji znajdziesz w przewodniku po konfiguracji testów). Stan każdego testującego (czy zaakceptował zaproszenie i czy pobrał aplikację) możesz sprawdzać w konsoli Firebase.
Testerzy mają 30 dni na zaakceptowanie zaproszenia do przetestowania aplikacji, zanim utraci ono ważność. Gdy do wygaśnięcia zaproszenia pozostaną 5 dni, w konsoli Firebase obok testera w ramach danej wersji pojawi się powiadomienie o wygaśnięciu. Zaproszenie można odnowić, wysyłając je ponownie za pomocą menu w wierszu testującego.
Dalsze kroki
Wprowadź opinie w aplikacji, aby ułatwić testerom przesyłanie opinii na temat aplikacji (w tym zrzutów ekranu).
Dowiedz się, jak wyświetlać alerty w aplikacji testerom, gdy nowe kompilacje aplikacji są dostępne do zainstalowania.
Poznaj sprawdzone metody rozpowszechniania aplikacji na Androida wśród testerów kontroli jakości za pomocą CI/CD.