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
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.
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.
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.
Połącz aplikację Firebase na Androida z kontem dewelopera w Google Play:
W konsoli Firebase otwórz
Ustawienia projektu , a następnie wybierz kartę Integracje.Na karcie Google Play kliknij Połącz.
Jeśli masz już połączenia z Google Play, kliknij Zarządzaj.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:
- 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.
-
Uruchom polecenie
appdistribution:distribute, aby przesłać aplikację i udostępnić ją testerom. Aby skonfigurować dystrybucję, użyj tych parametrów:appdistribution:distribute options --appWymagane: identyfikator aplikacji w Firebase. Identyfikator aplikacji znajdziesz w konsoli Firebase na stronie Ustawienia ogólne.
--app 1:1234567890:android:0a1b2c3d4e5f67890
--tokenToken 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-fileInformacje 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-fileAdresy 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-filegrupy 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"
--debugFlaga, którą możesz dołączyć, aby wyświetlić szczegółowe dane wyjściowe logu.
--test-devices
--test-devices-fileUrzą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-usernameNazwa użytkownika do automatycznego logowania, która będzie używana podczas testów agenta testowania aplikacji.
--test-password
--test-password-fileHasł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-resourceNazwa zasobu pola nazwy użytkownika do automatycznego logowania, która będzie używana podczas testów agenta testowania aplikacji.
--test-password-resourceNazwa zasobu pola hasła do automatycznego logowania, które ma być używane podczas testów agenta testowania aplikacji.
--test-non-blockingJeś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-bucketNiestandardowy 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.txtPo 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:addiappdistribution: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.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comAdresy 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:createiappdistribution:group:delete, aby utworzyć lub usunąć grupy w projekcie Firebase.Użyj
--group-alias, aby określić grupę dla poleceńappdistribution:testers:addiappdistribution:testers:remove.Przykład:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase 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
Wdróż opinie w aplikacji, aby zbierać od testerów opinie o aplikacji (w tym zrzuty ekranu).
Dowiedz się, jak wyświetlać testerom alerty w aplikacji, gdy dostępne są nowe kompilacje aplikacji do zainstalowania.
Poznaj sprawdzone metody rozpowszechniania aplikacji na Androida wśród testerów kontroli jakości za pomocą CI/CD.