Ten przewodnik opisuje, jak rozpowszechniać pakiety Android App Bundle (AAB) wśród testerów za pomocą interfejsu wiersza poleceń Firebase. Narzędzie CLI umożliwia określanie testerów i informacji o wersji kompilacji, a następnie rozpowszechnianie kompilacji.
App Distribution jest zintegrowana 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:
- Uruchamiaj zoptymalizowane pliki APK (dostarczane przez Google Play), które są zoptymalizowane pod kątem urządzeń testerów. 
- Wykrywanie i debugowanie problemów z konkretnymi urządzeniami. 
- Testuj funkcje pakietu aplikacji, takie jak Play Feature Delivery i Play Asset Delivery. 
- Zmniejsz rozmiar pobierania dla testerów. 
Wymagane uprawnienia
Aby przesyłać pakiety AAB do App Distribution, musisz połączyć aplikację Firebase z aplikacją w Google Play. Aby wykonać te działania, musisz mieć odpowiedni poziom dostępu.
Jeśli nie masz odpowiedniego dostępu do Firebase, możesz poprosić właściciela projektu Firebase o przypisanie Ci odpowiedniej roli w Firebaseustawieniach uprawnień konsoli. Jeśli masz pytania dotyczące dostępu do projektu Firebase, w tym znajdowania lub przypisywania właściciela, zapoznaj się z odpowiedziami na najczęstsze pytania dotyczące uprawnień i dostępu do projektów Firebase.
Poniższa tabela dotyczy łączenia aplikacji Firebase z aplikacją w Google Play, a także przesyłania pakietów AAB.
| Działanie w konsoli Firebase | Wymagane uprawnienia IAM | Role uprawnień, które domyślnie obejmują wymagane uprawnienia | Dodatkowe wymagane role | 
|---|---|---|---|
| Łączenie aplikacji w Firebase z aplikacją w Google Play | firebase.playLinks.update | jedną z tych ról: | Dostęp do Google Playkonta dewelopera jako administrator. | 
| Przesyłanie pakietów AAB do App Distribution | firebaseappdistro.releases.update | jedną 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ędzie dostępna aplikacja Firebase na Androida. - Jeśli nie korzystasz z żadnych innych usług Firebase, wystarczy, że utworzysz projekt i zarejestrujesz aplikację. Jeśli zdecydujesz się używać dodatkowych usług, wykonaj wszystkie czynności opisane w artykule Dodawanie Firebase do projektu aplikacji na Androida. 
- Aby utworzyć połączenie 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 – wersja robocza), 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ę 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 rozpowszechniania przedpremierowej wersji aplikacji wśród testerów, utwórz pakiet AAB (instrukcje znajdziesz w dokumentacji Androida Studio).
.Krok 2. Udostępnianie aplikacji testerom
Aby udostępnić aplikację testerom, prześlij plik aplikacji za pomocą interfejsu wiersza poleceń Firebase CLI:
- 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. .
- 
  Uruchom polecenie appdistribution:distribute, aby przesłać aplikację i udostępnić ją testerom. Aby skonfigurować dystrybucję, użyj tych parametrów:appdistribution:distribute options --appWymagany: identyfikator Firebase Twojej aplikacji. Identyfikator aplikacji znajdziesz w Firebase konsoli 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 Używanie 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 zwykłego pliku tekstowego: --release-notes-file "/path/to/release-notes.txt" --testers
 --testers-fileAdresy 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-filegrupy 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" --debugFlaga, którą możesz dołączyć, aby wydrukować szczegółowe dane wyjściowe logu. --test-devices
 --test-devices-fileTe typy dystrybucji są częścią funkcji beta automatycznego testera. Urządzenia testowe, na które chcesz rozpowszechniać kompilacje (patrz Testy automatyczne). Możesz podać testerów 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-usernameNazwa użytkownika do automatycznego logowania, która będzie używana podczas zautomatyzowanych testów. --test-password
 --test-password-fileHasło do automatycznego logowania, które będzie używane podczas testów zautomatyzowanych. Możesz też podać ścieżkę do pliku tekstowego zawierającego hasło: --test-password-file: "/path/to/test-password.txt" --test-username-resourceNazwa zasobu pola nazwy użytkownika na potrzeby automatycznego logowania, która będzie używana podczas testów zautomatyzowanych. --test-password-resourceNazwa zasobu pola hasła do automatycznego logowania, która będzie używana podczas testów zautomatyzowanych. --test-non-blockingUruchamiaj testy automatyczne asynchronicznie. Wyniki testów automatycznych znajdziesz w konsoli Firebase. 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 wiersz 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 konsoliFirebase wyświetlającej pojedyncze wydanie. Możesz udostępnić ten link innym programistom w swojej organizacji.
- testing_uri– link do wersji w wersji dla testerów (natywna aplikacja na Androida) umożliwiający testerom wyświetlanie notatek 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 grupamiOprócz rozpowszechniania wersji możesz też używać opcji appdistribution:testers:addiappdistribution:testers:remove, aby zapraszać nowych testerów lub usuwać z projektu Firebase dotychczasowych testerów.Po dodaniu testera do projektu Firebase możesz dodać go 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.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comAdresy e-mail testerów muszą być oddzielone spacją. Możesz też określić testerów za pomocą parametru --file /path/to/testers.txt.Jeśli masz dużą liczbę 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 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 testowej wersji 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 utraci ono ważność. Gdy zaproszenie wygaśnie za 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 w wierszu testera.
Dalsze kroki
- Wdróż opinie w aplikacji, aby testerzy mogli łatwo przesyłać opinie o aplikacji (w tym zrzuty ekranu). 
- Dowiedz się, jak wyświetlać testerom alerty w aplikacji, gdy dostępne są nowe kompilacje aplikacji. 
- Poznaj sprawdzone metody rozpowszechniania aplikacji na Androida wśród testerów jakości za pomocą CI/CD.