Udostępnianie aplikacji na Androida testerom za pomocą interfejsu wiersza poleceń Firebase


Z tego przewodnika dowiesz się, jak rozpowszechniać pliki APK wśród testerów za pomocą interfejsu wiersza poleceń Firebase. To narzędzie umożliwia określanie testerów i informacji o wersji, a następnie rozpowszechnianie kompilacji.

Zanim zaczniesz

Dodaj Firebase do projektu aplikacji na Androida, jeśli nie korzystasz w nim jeszcze z tej usługi.

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ę używać dodatkowych usług, wykonaj wszystkie czynności opisane na stronie, do której link znajdziesz powyżej.

Krok 1. Tworzenie aplikacji

Gdy będziesz gotowy(-a) do udostępnienia testerom wersji przedpremierowej aplikacji, utwórz plik APK w zwykły sposób. Musisz podpisać go kluczem debugowania lub kluczem podpisywania aplikacji.

Krok 2. Udostępnianie aplikacji testerom

Aby udostępnić aplikację testerom, prześlij plik aplikacji za pomocą interfejsu wiersza poleceń Firebase CLI:

  1. Zainstaluj najnowszą wersję Firebase CLI lub zaktualizuj ją do tej wersji (zalecamy pobranie samodzielnego pliku binarnego interfejsu wiersza poleceń odpowiedniego dla Twojego systemu operacyjnego). Zaloguj się i sprawdź, czy masz dostęp do swoich projektów. .
  2. Uruchom polecenie appdistribution:distribute, aby przesłać aplikację i udostępnić ją testerom. Aby skonfigurować dystrybucję, użyj tych parametrów:

    appdistribution:distribute options
    --app

    Wymagany: identyfikator aplikacji Firebase. Znajdziesz go w Firebase konsoli na stronie Ustawienia ogólne.

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    Token odświeżania, który jest wyświetlany podczas uwierzytelniania środowiska CI za pomocą interfejsu wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Używanie interfejsu wiersza poleceń w systemach CI ).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    Informacje o wersji tej kompilacji.

    Możesz bezpośrednio podać informacje o wersji:

    --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ć.

    Możesz podać testerów 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 znaleźć w konsoli Firebase.

    Możesz określić grupy jako listę rozdzieloną 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 uwzględnić, aby wydrukować szczegółowe dane logu.

    --test-devices
    --test-devices-file

    Urządzenia testowe, na których chcesz uruchomić testy agenta testowania aplikacji.

    Urządzenia testowe możesz podać jako listę specyfikacji urządzeń rozdzielonych średnikami:

    --test-devices: "model=shiba,version=34,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 będzie używana podczas testów agenta testowania aplikacji.

    --test-password
    --test-password-file

    Hasło do automatycznego logowania, które będzie używane podczas testów agenta testowania aplikacji.

    Możesz też podać ścieżkę do pliku tekstowego zawierającego hasło:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    Nazwa zasobu pola nazwy użytkownika do automatycznego logowania, która będzie używana podczas testów agenta testowania aplikacji.

    --test-password-resource

    Nazwa zasobu pola hasła do automatycznego logowania, która będzie używana podczas testów agenta testowania aplikacji.

    --test-non-blocking

    Jeśli to ustawienie jest włączone podczas przeprowadzania testów za pomocą agenta testowania aplikacji, polecenie rozpocznie testy, a następnie natychmiast zwróci wynik, zamiast czekać na ich zakończenie. Aby zobaczyć wyniki testu, otwórz konsolę Firebase. Jeśli ten flag nie jest ustawiony, polecenie będzie blokowane do czasu zakończenia testów i zakończy się kodem błędu, jeśli którykolwiek z testów się nie powiedzie.

    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 narzędzie wiersza poleceń Firebase wyświetla te linki: Te linki pomagają zarządzać plikami binarnymi i zapewniają testerom oraz innym programistom dostęp do odpowiedniej wersji:

    • firebase_console_uri – link do Firebasekonsoli wyświetlającej jedną wersję. Możesz udostępnić ten link innym programistom w organizacji.
    • testing_uri – link do wersji w wersji dla testerów (natywna aplikacja na Androida), który umożliwia testerom wyświetlanie informacji o 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 plik binarny aplikacji (plik APK lub AAB). Link wygasa po godzinie.

    Zarządzanie testerami i grupami

    Oprócz rozpowszechniania wersji możesz też używać przyciskówappdistribution:testers:add iappdistribution:testers:remove, aby zapraszać nowych testerów lub usuwać dotychczasowych testerów z projektu w Firebase.

    Po dodaniu testera do projektu w Firebase możesz dodać go do poszczególnych wersji. Po usunięciu testera nie będzie on już miał 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 spacją. Możesz też określić testerów za pomocą elementu --file /path/to/testers.txt.

    Jeśli masz wielu testerów, rozważ użycie grup: Możesz użyć appdistribution:group:createappdistribution:group:delete, aby utworzyć lub usunąć grupy w projekcie Firebase.

    Użyj --group-alias, aby określić grupę dla poleceń appdistribution:testers:addappdistribution: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 kompilacja będzie dostępna na App DistributionpaneluFirebase konsoli przez 150 dni (5 miesięcy). Gdy do wygaśnięcia kompilacji pozostanie 30 dni, w konsoli i na liście kompilacji testera na urządzeniu testowym pojawi się powiadomienie o wygaśnięciu.

Testerzy, którzy nie zostali zaproszeni do testowania aplikacji, otrzymają e-maile z zaproszeniem do rozpoczęcia testów, a obecni testerzy otrzymają e-maile z powiadomieniem o tym, że nowa wersja jest gotowa do testowania (instrukcje instalacji wersji testowej aplikacji znajdziesz w przewodniku konfiguracji dla testerów). Stan każdego testera – czy zaakceptował zaproszenie i czy pobrał aplikację – możesz monitorować w konsoli Firebase.

Testerzy mają 30 dni na zaakceptowanie zaproszenia do testowania aplikacji, zanim wygaśnie. Gdy do wygaśnięcia zaproszenia pozostanie 5 dni, w Firebasekonsoli obok testera w wersji pojawi się powiadomienie o wygaśnięciu. Zaproszenie można odnowić, wysyłając je ponownie za pomocą menu na wierszu testera.

Dalsze kroki