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


Z tego przewodnika dowiesz się, jak rozpowszechniać pakiety Android App Bundle (AAB) wśród testerów za pomocą interfejsu wiersza poleceń Firebase. Narzędzie CLI umożliwia określenie testerów i informacji o wersji kompilacji, a następnie odpowiednio ją rozpowszechnia.

Usługa App Distribution integruje się z usługą wewnętrznego udostępniania aplikacji Google Play, aby przetwarzać przesyłane przez Ciebie pakiety AAB i udostępniać pliki APK zoptymalizowane pod kątem konfiguracji urządzeń testerów. Dystrybucja pakietów AAB umożliwia:

  • uruchamiać zoptymalizowane pliki APK (udostępniane przez Google Play), które są dostosowane do urządzeń testerów;

  • wykrywać i rozwiązywać problemy związane z urządzeniami;

  • testować funkcje pakietu aplikacji, takie jak Play Feature Delivery i Play Asset Delivery;

  • Zmniejsz rozmiar plików do pobrania dla testerów.

Wymagane uprawnienia

Aby przesyłać pakiety aplikacji na Androida do usługi App Distribution, musisz połączyć aplikację w Firebase z aplikacją w usłudze Google Play. Aby wykonać te czynności, musisz mieć wymagany poziom dostępu.

Jeśli nie masz wymaganego dostępu do Firebase, możesz poprosić właściciela projektu w Firebase o przypisanie Ci odpowiedniej roli w ustawieniach uprawnień konsoli Firebase. Jeśli masz pytania dotyczące dostępu do projektu w Firebase, w tym znajdowania lub przypisywania właściciela, zapoznaj się z najczęstszymi pytaniami dotyczącymi uprawnień i dostępu do projektów w Firebase.

Poniższa tabela dotyczy łączenia aplikacji w Firebase z aplikacją w Google Play oraz przesyłania pakietów aplikacji na Androida.

Działanie w konsoli Firebase Wymagane uprawnienia Role uprawnień, które domyślnie obejmują wymagane uprawnienia Dodatkowe wymagane role
Połącz aplikację w Firebase z aplikacją w usłudze Google Play firebase.playLinks.update Jedna z tych ról: Dostęp do konta dewelopera Google Play jako administrator
Przesyłanie pakietów aplikacji na Androida do: App Distribution firebaseappdistro.releases.update Jedna z tych ról: ––

Zanim zaczniesz

  1. Dodaj Firebase do projektu aplikacji na Androida, jeśli nie korzystasz w nim jeszcze z tej usługi. Po zakończeniu tego procesu w projekcie Firebase będziesz mieć aplikację Firebase na Androida.

    Jeśli nie korzystasz z żadnych innych usług Firebase, musisz tylko utworzyć projekt i zarejestrować aplikację. Jeśli zdecydujesz się na korzystanie z dodatkowych usług, wykonaj wszystkie czynności opisane w artykule Dodawanie Firebase do projektu aplikacji na Androida.

  2. Otwórz stronę App Distribution w konsoli Firebase. Gdy pojawi się prośba, wybierz projekt w Firebase, a następnie wybierz aplikację za pomocą przełącznika aplikacji i kliknij Rozpocznij.

  3. Aby utworzyć połączenie z Firebase z Google Play i przesyłać pakiety aplikacji na Androida, sprawdź, czy Twoja aplikacja spełnia te wymagania:

    • Zarówno aplikacja w Google Play, jak i aplikacja Firebase na Androida zostały zarejestrowane przy użyciu tej samej nazwy pakietu.

    • Aplikacja w Google Play jest skonfigurowana w panelu aplikacji i rozpowszechniana na jednej ze ścieżek Google Play (test wewnętrzny, test zamknięty, test otwarty i produkcja).

    • Zakończono sprawdzanie aplikacji w Google Play i aplikacja została opublikowana. Aplikacja jest opublikowana, jeśli w kolumnie Stan aplikacji widoczny jest jeden z tych stanów: test wewnętrzny (nie test wewnętrzny wersji roboczej), test zamknięty, test otwarty lub produkcja.

  4. Połącz aplikację Firebase na Androida z kontem dewelopera w Google Play:

    1. W konsoli Firebase otwórz Ustawienia projektu, a następnie wybierz kartę Integracje.

    2. Na karcie Google Play kliknij Połącz.
      Jeśli masz już połączenia z Google Play, kliknij Zarządzaj.

    3. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby włączyć integrację z App Distribution i wybrać aplikacje Firebase na Androida, które chcesz połączyć z Google Play.

    Dowiedz się więcej o łączeniu z Google Play.

Krok 1. Tworzenie aplikacji

Gdy będziesz gotowy(-a) do udostępnienia testerom przedpremierowej wersji aplikacji, utwórz pakiet AAB (instrukcje znajdziesz w dokumentacji Android Studio).

Krok 2. Rozpowszechnianie aplikacji wśród testerów

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

  1. Zainstaluj lub zaktualizuj do najnowszej wersji interfejs wiersza poleceń Firebase (zalecamy pobranie samodzielnego pliku binarnego interfejsu wiersza poleceń 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

    Wymagane: identyfikator aplikacji w Firebase. Identyfikator aplikacji znajdziesz w konsoli Firebase 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 Korzystanie z interfejsu wiersza poleceń w systemach CI ).

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

    Informacje o wersji tej kompilacji.

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

    --release-notes "Text of release notes"

    Możesz też podać ścieżkę do pliku zwykłego tekstu:

    --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ć 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 zwykłego pliku tekstowego zawierającego listę adresów e-mail rozdzielonych przecinkami:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    grupy testerów, których chcesz zaprosić (patrz Zarządzanie testerami); Grupy są określane za pomocą aliasów grup, które możesz sprawdzić w konsoli Firebase.

    Możesz podać grupy jako listę rozdzieloną przecinkami:

    --groups "qa-team, trusted-testers"

    Możesz też podać ścieżkę do pliku tekstowego zawierającego listę nazw grup rozdzielonych przecinkami:

    --groups-file "/path/to/groups.txt"
    --debug

    Flaga, którą możesz dołączyć, aby wyświetlić szczegółowe dane wyjściowe logu.

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

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

    Urządzenia testowe możesz określić 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 zwykłego tekstu 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 zwykłego tekstu 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óre ma być używane podczas testów agenta testowania aplikacji.

    --test-non-blocking

    Jeśli ustawisz tę opcję podczas uruchamiania testów 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 ta flaga nie jest ustawiona, polecenie będzie blokowane do momentu zakończenia testów i zakończy się kodem błędu, jeśli którykolwiek z testów się nie powiedzie.

    --results-bucket

    Niestandardowy zasobnik Google Cloud Storage (GCS), w którym przechowywane są wyniki testów. Jeśli pozostawisz to pole puste, zostanie użyty domyślny zasobnik. Zasobnik musi należeć do projektu z włączonymi płatnościami, a określenie zasobnika powoduje naliczenie opłat za wykorzystane miejsce na dane.

    Przykład:

    firebase appdistribution:distribute test.aab  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    Po przesłaniu wersji interfejs wiersza poleceń Firebase wyświetla te linki. Te linki pomagają zarządzać plikami binarnymi i zapewniają testerom oraz innym deweloperom dostęp do odpowiedniej wersji:

    • firebase_console_uri – link do konsoli Firebase wyświetlającej pojedynczą wersję. Możesz udostępnić ten link innym deweloperom w organizacji.
    • testing_uri – link do wersji w interfejsie testera (wbudowana 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ć appdistribution:testers:add i appdistribution:testers:remove, aby zapraszać nowych testerów lub usuwać dotychczasowych z projektu w Firebase.

    Po dodaniu testera do projektu w Firebase możesz go dodać do poszczególnych wersji. Po usunięciu tester nie będzie już mieć dostępu do wersji w projekcie. Pamiętaj, że testerzy, którzy zostali niedawno usunięci, mogą przez pewien czas nadal mieć dostęp do Twoich wersji.

    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ą. Testerów możesz też określić za pomocą --file /path/to/testers.txt.

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

    Użyj --group-alias, aby określić grupę dla poleceń appdistribution:testers:add i appdistribution: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 w panelu App Distribution w konsoli Firebase przez 150 dni (5 miesięcy). Na 30 dni przed wygaśnięciem kompilacji 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 dotychczasowi testerzy otrzymają e-maile z powiadomieniem, że nowa kompilacja jest gotowa do testowania (instrukcje instalowania aplikacji testowej znajdziesz w przewodniku po konfiguracji dla testerów). W konsoli Firebase możesz sprawdzać stan każdego testera – czy zaakceptował zaproszenie i czy pobrał aplikację.

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

Dalsze kroki