Z tego przewodnika dowiesz się, jak udostępniać kompilacje AAB testerom za pomocą fastlane, czyli platformy typu open source, która automatyzuje tworzenie i publikowanie aplikacji na iOS i Androida. Wykonuje on proste instrukcje zdefiniowane w Fastfile
. Po skonfigurowaniu fastlane i Fastfile
możesz zintegrować App Distribution z konfiguracją fastlane.
App Distribution integruje się z usługą wewnętrznego udostępniania aplikacji w Google Play, aby przetwarzać przesyłane przez Ciebie pakiety AAB i przesyłać pliki APK zoptymalizowane pod kątem konfiguracji urządzeń testerów. Rozpowszechnianie aplikacji z uwzględnieniem AAB umożliwia:
Uruchamiaj zoptymalizowane pliki APK (udostępniane przez Google Play), które są zoptymalizowane pod kątem urządzeń testerów.
Wykrywanie i debugowanie problemów związanych z konkretnymi urządzeniami.
Testowanie funkcji pakietów aplikacji, takich jak Play Feature Delivery i Play Asset Delivery.
Zmniejsz rozmiar plików do pobrania dla testerów.
Wymagane uprawnienia
Aby przesłać pakiety aplikacji na Androida do usługi App Distribution, musisz połączyć swoją aplikację Firebase z aplikacją w usłudze Google Play. Aby wykonać te działania, musisz mieć wymagany poziom dostępu.
Jeśli nie masz wymaganego dostępu do Firebase, możesz poprosić właściciela projektu Firebase o przypisanie Ci odpowiedniej roli w ustawieniach uprawnień konsoli Firebase. Jeśli masz pytania dotyczące dostępu do projektu Firebase, w tym znajdowania lub przypisywania właściciela, zapoznaj się z artykułem „Uprawnienia i dostęp do projektów Firebase”.
Poniższa tabela dotyczy łączenia aplikacji 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 zawierają wymagane uprawnienia | Dodatkowe wymagane role |
---|---|---|---|
Połącz aplikację Firebase z aplikacją w Google Play | firebase.playLinks.update
|
jedną z tych ról: | dostęp do konta dewelopera Google Play w roli administratora, |
Przesyłanie pakietów AAB do usługi App Distribution | firebaseappdistro.releases.update
|
jedną z tych ról: | –– |
Zanim zaczniesz
Jeśli nie zostało to jeszcze zrobione, dodaj Firebase do projektu na Androida. Po zakończeniu tego procesu w Twoim projekcie Firebase będzie dostępna aplikacja Firebase na Androida.
Jeśli nie używasz innych usług Firebase, musisz tylko utworzyć projekt i zarejestrować aplikację. Jeśli zdecydujesz się używać dodatkowych usług, wykonaj wszystkie czynności opisane w artykule Dodawanie Firebase do projektu 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 wersja robocza testu wewnętrznego), Test zamknięty, Test otwarty lub Produkcja.
Połącz aplikację Firebase na Androida z kontem dewelopera w Google Play:
W konsoli Firebase otwórz
, a następnie kliknij kartę Integracje. Ustawienia projektu Na karcie Google Play kliknij Połącz.
Jeśli masz już połączenia z Google Play, kliknij Zarządzaj.Postępuj zgodnie z instrukcjami 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. Skonfiguruj szybki pas
Aby dodać interfejs App Distribution do konfiguracji fastlanej, uruchom to polecenie z poziomu głównego projektu na Androida:
fastlane add_plugin firebase_app_distribution
Jeśli polecenie wyświetli opcję, wybierz
Option 3: RubyGems.org
.
Krok 2. Uwierzytelnienie za pomocą Firebase
Aby móc korzystać z pluginu fastlane, musisz najpierw uwierzytelnić się w projekcie Firebase w jeden z tych 2 sposobów. Domyślnie wtyczka fastlane szuka danych logowania w CLI Firebase, jeśli nie jest używana żadna inna metoda uwierzytelniania.
Krok 3. Konfigurowanie Fastfile i rozpowszechnianie aplikacji
- Na pasie
./fastlane/Fastfile
dodaj blokfirebase_app_distribution
. Aby skonfigurować dystrybucję, użyj tych parametrów:Parametry firebase_app_distribution app
Wymagane: identyfikator aplikacji Firebase Twojej aplikacji. Identyfikator aplikacji znajdziesz w konsoli Firebase na stronie ustawień ogólnych.
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
token odświeżania wydrukowany podczas uwierzytelniania środowiska CI za pomocą interfejsu wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Używanie interfejsu wiersza poleceń w systemach CI).
service_credentials_file
Ścieżka do pliku JSON konta usługi Google. Aby dowiedzieć się, jak uwierzytelnić się przy użyciu danych logowania konta usługi, zapoznaj się z informacjami powyżej.
android_artifact_type
Określa typ pliku Androida (APK lub AAB).
android_artifact_path
Zastępuje ustawienie
apk_path
(wycofane). Ścieżka bezwzględna do pliku APK lub AAB, który chcesz przesłać. Jeśli nie jest określony, fastlane określa lokalizację pliku na podstawie kanału, w którym został wygenerowany.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 podać w postaci listy rozdzielanej 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"
test_devices
test_devices_file
Te typy dystrybucji są częścią funkcji testowania automatycznego w wersji beta.
Urządzenia testowe, na które chcesz rozpowszechniać kompilacje (patrz Testy automatyczne).
Urządzenia testowe możesz określić jako listę urządzeń testowych rozdzieloną średnikami:
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 używane podczas testów automatycznych.
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 w polu nazwy użytkownika na potrzeby automatycznego logowania, które jest używane podczas testów automatycznych.
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; Otwórz konsolę Firebase, aby wyświetlić wyniki automatycznych testów.
debug
Flaga wartości logicznej. Aby wydrukować szczegółowe dane debugowania, ustaw wartość
true
.
platform :android do desc "My awesome app" lane :distribute do build_android_app(task: "bundle", ...) # build_android_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:android:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!", android_artifact_type: "AAB" ) end end
Aby udostępnić wersję testerom, uruchom pas:
fastlane <lane>
Wartość zwrócona przez działanie to ciąg znaków reprezentujący przesłane wydanie.
Ten ciąg znaków jest też dostępny za pomocą funkcji lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
.
Więcej informacji o dostępnych polach w tym haśle znajdziesz w dokumentacji interfejsu API REST.
Wtyczka fastlane generuje poniższe linki po przesłaniu wersji. Te linki pomogą Ci zarządzać plikami binarnymi i zadbać o to, aby testerzy i inni deweloperzy mieli odpowiednią wersję:
- Link do konsoli Firebase wyświetlającej pojedynczą wersję. Możesz udostępnić ten link innym programistom w Twojej organizacji.
- link do wersji w wersji dla testerów (natywnej aplikacji na Androida), która umożliwia im wyświetlanie informacji o wersji i instalowanie aplikacji na urządzeniu; Aby użyć linku, tester musi mieć dostęp do wersji.
- Podpisany link, który bezpośrednio pobiera i instaluje plik binarny aplikacji (plik APK lub AAB). Link wygasa po 1 godzinie.
Po rozpowszechnieniu wersji kompilacji jest ona dostępna na pulpicie App Distribution konsoli Firebase przez 150 dni. 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 wcześniej zaproszeni do testowania aplikacji, otrzymają e-maile z zaproszeniem do testowania. Dotychczasowi testerzy otrzymują e-maile z powiadomieniami, że nowa wersja jest gotowa do testowania. Aby dowiedzieć się, jak zainstalować aplikację testową, przeczytaj przewodnik po konfigurowaniu testów. W konsoli Firebase możesz sprawdzać stan każdego testera, aby dowiedzieć się, czy zaakceptował on zaproszenie i czy pobrał aplikację.
(Opcjonalnie) Aby automatycznie zwiększać numer kompilacji za każdym razem, gdy tworzysz nową wersję w Usługach dystrybucji aplikacji, możesz użyć działania firebase_app_distribution_get_latest_release
i na przykład increment_version_code
wtyczki fastlane.
Ten kod pokazuje, jak automatycznie zwiększać numer wersji:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end
Więcej informacji o działaniu firebase_app_distribution_get_latest_release
znajdziesz w artykule Uzyskiwanie informacji o najnowszej wersji aplikacji.
Krok 4 (opcjonalny). zarządzanie testerami na potrzeby dystrybucji,
Testerów możesz dodawać i usuwać z projektu lub grupy za pomocą pliku Fastfile
lub bezpośrednio wykonując działania fastlane. Wykonywanie działań bezpośrednio zastępuje wartości ustawione w Fastfile
.
Po dodaniu testera do projektu Firebase możesz go dodawać do poszczególnych wersji. Testerzy usunięci z Twojego projektu Firebase nie mają już dostępu do wersji w tym projekcie, ale mogą zachować dostęp do wersji przez pewien czas.
Jeśli masz dużą liczbę testerów, rozważ użycie grup.
Użyj konta Fastfile
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers
Wykonywanie działań fastlane
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
Możesz też określić testerów za pomocą operatora --file="/path/to/testers.txt
zamiast --emails
.
Zadania firebase_app_distribution_add_testers
i firebase_app_distribution_remove_testers
akceptują też te argumenty:
project_name
: numer projektu Firebase.group_alias
(opcjonalnie): jeśli ta opcja jest zaznaczona, testerzy zostaną dodani do określonej grupy (lub z niej usunięci).service_credentials_file
: ścieżka do pliku z danymi logowania do usługi Google.firebase_cli_token
: token uwierzytelniania dla interfejsu wiersza poleceń Firebase.
Argumenty service_credentials_file
i firebase_cli_token
to te same argumenty, których używa działanie przesyłania.
Krok 5 (opcjonalny). Uzyskiwanie informacji o najnowszej wersji aplikacji
Możesz użyć działania firebase_app_distribution_get_latest_release
, aby pobrać informacje o najnowszej wersji aplikacji w Narzędziu do dystrybucji aplikacji, w tym informacje o wersji aplikacji, informacje o wersji i czas utworzenia. Przykłady zastosowań obejmują automatyczne zwiększanie wersji i przenoszenie notatek z poprzedniej wersji.
Wartość zwracana przez działanie to hasz, który reprezentuje najnowszą wersję.
Ten ciąg znaków jest też dostępny za pomocą funkcji lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
.
Więcej informacji o polach dostępnych w tym haszu znajdziesz w dokumentacji interfejsu API REST.
Parametry
Parametry firebase_app_distribution_get_latest_release | |
---|---|
app
|
Wymagane: identyfikator aplikacji Firebase Twojej aplikacji. Identyfikator aplikacji znajdziesz w konsoli Firebase na stronie Ustawienia ogólne. app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token
|
token odświeżania wydrukowany podczas uwierzytelniania środowiska CI za pomocą interfejsu wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Używanie interfejsu wiersza poleceń w systemach CI). |
service_credentials_file
|
Ścieżka do pliku json Twojego konta usługi Google. Powyżej znajdziesz informacje o uwierzytelnianie z użyciem danych logowania konta usługi. |
debug
|
Flaga wartości logicznej. Aby wydrukować obszerne dane debugowania, możesz ustawić tę wartość na |
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ć testerom alerty w aplikacji o udostępnieniu do zainstalowania nowych kompilacji aplikacji.
Poznaj sprawdzone metody rozpowszechniania aplikacji na Androida wśród testerów kontroli jakości za pomocą CI/CD.