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 aplikacji i przekazywać pliki APK zoptymalizowane pod kątem konfiguracji urządzeń testerów. Rozpowszechnianie aplikacji z uwzględnieniem AAB umożliwia:
Uruchom zoptymalizowane pliki APK (dostarczane 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 pakietu aplikacji, takich 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 App Distribution, musisz połączyć aplikację Firebase z aplikacją w 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 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 uprawnienie IAM | 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 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.
Aby połączyć 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. Konfigurowanie fastlane
Aby dodać App Distribution do konfiguracji fastlane, uruchom to polecenie w katalogu głównym projektu 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 wtyczki fastlane, musisz najpierw uwierzytelnić się w projekcie Firebase w jeden z podanych niżej 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 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 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 na Androida (APK lub AAB).
android_artifact_path
Zastępuje
apk_path
(wycofany). Ś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 określić jako listę oddzieloną 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 rozpowszechnić kompilacje (patrz Automatyczne testy).
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, które będzie używane podczas testów zautomatyzowanych.
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 dla pola nazwy użytkownika do automatycznego logowania, które ma być używane podczas testów zautomatyzowanych.
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; Wyniki automatycznego testu znajdziesz w konsoli Firebase.
debug
Flaga wartości logicznej. Aby wydrukować obszerne dane debugowania, możesz ustawić tę wartość na
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.
Po przesłaniu wersji wtyczka fastlane wygeneruje te linki. Te linki pomogą Ci zarządzać plikami binarnymi i zadbać o to, aby testerzy i inni deweloperzy mieli odpowiednią wersję:
- link do konsoli Firebase z informacjami o pojedynczej wersji; Możesz udostępnić ten link innym programistom w Twojej organizacji.
- Link do wersji w interfejsie testów (natywnej aplikacji 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.
- Podpisany link, który umożliwia bezpośrednie pobranie i zainstalowanie binarnego pliku aplikacji (plik APK lub AAB). Link wygasa po 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, otrzymują e-maile z zaproszeniem do rozpoczęcia 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 w przypadku 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 Twoich 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ć akcji firebase_app_distribution_get_latest_release
, aby pobrać informacje o najnowszej wersji aplikacji w sekcji Dystrybucja 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ścią zwracaną przez działanie jest hasz reprezentujący 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 dostępnych polach w tym haśle 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 konta usługi Google. Aby dowiedzieć się, jak uwierzytelnić się przy użyciu danych logowania konta usługi, zapoznaj się z informacjami powyżej. |
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ć alerty w aplikacji testerom, gdy nowe kompilacje aplikacji są dostępne do zainstalowania.
Poznaj sprawdzone metody rozpowszechniania aplikacji na Androida wśród testerów kontroli jakości za pomocą CI/CD.