Dystrybucję aplikacji można zintegrować z procesem tworzenia systemu Android za pomocą wtyczki App Distribution Gradle. Wtyczka umożliwia określenie testerów i informacji o wersji w pliku build.gradle
aplikacji, umożliwiając konfigurowanie dystrybucji dla różnych typów kompilacji i wariantów aplikacji.
W tym przewodniku opisano, jak rozpowszechniać pakiety APK wśród testerów za pomocą wtyczki App Distribution Gradle.
Zanim zaczniesz
Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase do swojego projektu na Androida .
Jeśli nie używasz żadnych innych produktów Firebase, wystarczy, że utworzysz projekt i zarejestrujesz swoją aplikację. Jeśli jednak zdecydujesz się na korzystanie z dodatkowych produktów w przyszłości, pamiętaj o wykonaniu wszystkich kroków na stronie, do której prowadzi link powyżej.
Krok 1. Skonfiguruj swój projekt na Androida
W pliku Gradle na poziomie projektu (zwykle
android/build.gradle
) dodaj wtyczkę App Distribution jako zależność buildscript:buildscript { repositories { // Check that you have Google's Maven repository (if not, add it). google() jcenter() } dependencies { // Add the App Distribution Gradle plugin classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.1' } }
W pliku Gradle na poziomie aplikacji (zwykle
android/app/build.gradle
) umieść wtyczkę App Distribution poniżej wtyczki Android:apply plugin: 'com.android.application' // ... // Apply the App Distribution Gradle plugin apply plugin: 'com.google.firebase.appdistribution' // ...
Jeśli korzystasz z firmowego serwera proxy lub zapory sieciowej, dodaj następującą właściwość systemową Java, która umożliwia aplikacji App Distribution przesyłanie Twoich dystrybucji do Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
Krok 2. Uwierzytelnij się w Firebase
Zanim zaczniesz korzystać z wtyczki Gradle, musisz najpierw uwierzytelnić się w swoim projekcie Firebase. Można to osiągnąć na trzy sposoby:
- Uruchom następujące polecenie:
./gradlew appDistributionLogin
Polecenie drukuje łącze uwierzytelniające. Otwórz link w przeglądarce.
Po wyświetleniu monitu zaloguj się na swoje konto Google i przyznaj uprawnienia dostępu do projektu Firebase. Polecenie Gradle drukuje token odświeżania, którego wtyczka App Distribution używa do uwierzytelniania w Firebase.
- Ustaw zmienną środowiskową
FIREBASE_TOKEN
na token z poprzedniego kroku:export FIREBASE_TOKEN=token
Uwierzytelnianie za pomocą konta usługi umożliwia elastyczne korzystanie z wtyczki z systemem ciągłej integracji (CI). Istnieją dwa sposoby podania poświadczeń konta usługi:
- Przekaż plik klucza konta usługi do
build.gradle
. Ta metoda może być wygodna, jeśli masz już plik klucza konta usługi w środowisku kompilacji. - Ustaw zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALS
tak, aby wskazywała plik klucza konta usługi. Możesz preferować tę metodę, jeśli masz już domyślne poświadczenia aplikacji (ADC) skonfigurowane dla innej usługi Google (np. Google Cloud).
Aby uwierzytelnić się przy użyciu poświadczeń konta usługi:
- W Google Cloud Console wybierz swój projekt i utwórz nowe konto usługi.
- Dodaj rolę administratora dystrybucji aplikacji Firebase .
- Utwórz prywatny klucz json i przenieś go do lokalizacji dostępnej dla Twojego środowiska kompilacji. Pamiętaj, aby przechowywać ten plik w bezpiecznym miejscu , ponieważ zapewnia on dostęp administratora do dystrybucji aplikacji w Twoim projekcie Firebase.
- Pomiń ten krok, jeśli aplikacja została utworzona po 20 września 2019 r.: w konsoli interfejsów Google API włącz interfejs Firebase App Distribution API. Po wyświetleniu monitu wybierz projekt o tej samej nazwie, co Twój projekt Firebase.
Podaj lub zlokalizuj dane logowania do konta usługi:
- Aby przekazać Gradle klucz konta usługi, w pliku
build.gradle
ustaw właściwośćserviceCredentialsFile
na plik JSON klucza prywatnego. Aby zlokalizować swoje dane uwierzytelniające za pomocą ADC, ustaw zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALS
na ścieżkę do pliku JSON z kluczem prywatnym. Na przykład:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą ADC, przeczytaj Dostarczanie poświadczeń do aplikacji.
- Aby przekazać Gradle klucz konta usługi, w pliku
Zobacz Logowanie za pomocą interfejsu Firebase CLI , aby uzyskać instrukcje dotyczące uwierzytelniania projektu.
Krok 3. Skonfiguruj właściwości dystrybucji
W pliku
app/build.gradle
skonfiguruj dystrybucję aplikacji, dodając co najmniej jedną sekcjęfirebaseAppDistribution
. Na przykład, aby dystrybuować kompilacjęrelease
do testerów:android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Dystrybucję aplikacji można skonfigurować pod kątem typów kompilacji i smaków produktów . Na przykład, aby rozpowszechniać kompilacje
debug
irelease
w wersjach „demo” i „pełna”:android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
Użyj następujących parametrów, aby skonfigurować dystrybucję:
Parametry kompilacji dystrybucji aplikacji | |
---|---|
appId | Identyfikator aplikacji Firebase Twojej aplikacji. Wymagane tylko wtedy, gdy nie masz zainstalowanej wtyczki Google Services Gradle. Identyfikator aplikacji znajdziesz w pliku appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | Ścieżka do pliku JSON z kluczem prywatnym konta usługi. Wymagane tylko w przypadku korzystania z uwierzytelniania konta usługi. |
artifactType | Określa typ pliku aplikacji. Można ustawić na |
artifactPath | Bezwzględna ścieżka do pliku APK lub AAB, który chcesz przesłać. |
releaseNotes lub releaseNotesFile | Informacje o wersji dla tej kompilacji. Uwagi do wydania można określić bezpośrednio lub ścieżkę do zwykłego pliku tekstowego. |
testers lub testersFile | Adresy e-mail testerów, którym chcesz dystrybuować kompilacje. Możesz określić testerów jako listę adresów e-mail oddzielonych przecinkami: testers="ali@example.com, bri@example.com, cal@example.com" Możesz też podać ścieżkę do pliku zawierającego rozdzieloną przecinkami listę adresów e-mail: testersFile="/path/to/testers.txt" |
groups lub groupsFile | Grupy testerów, do których chcesz dystrybuować kompilacje (zobacz Zarządzanie testerami ). Grupy są określone za pomocą Możesz określić grupy jako listę oddzielonych przecinkami aliasów grup: groups="qa-team, android-testers" Możesz też określić ścieżkę do pliku zawierającego listę aliasów grup oddzielonych przecinkami: groupsFile="/path/to/tester-groups.txt" |
stacktrace | Drukuje ślad stosu dla wyjątków użytkownika. Jest to pomocne podczas debugowania problemów. |
Krok 4. Rozpowszechnij swoją aplikację wśród testerów
Na koniec, aby spakować aplikację testową i zaprosić testerów, skompiluj cele
BUILD-VARIANT
iappDistributionUpload BUILD-VARIANT
za pomocą Gradle wrapper twojego projektu, gdzie BUILD-VARIANT jest opcjonalnym smakiem produktu i typem kompilacji skonfigurowanym w poprzednim kroku. Aby uzyskać więcej informacji o wariantach produktów, zobacz Konfigurowanie wariantów kompilacji .Na przykład, aby rozpowszechniać swoją aplikację przy użyciu wariantu kompilacji
release
, uruchom następujące polecenie:./gradlew assembleRelease appDistributionUploadRelease
Lub, jeśli uwierzytelniłeś się za pomocą swojego konta Google i nie podałeś danych logowania w pliku kompilacji Gradle, dołącz zmienną
FIREBASE_TOKEN
:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
Możesz również zastąpić wartości ustawione w pliku
build.gradle
, przekazując argumenty wiersza polecenia w postaci--<property-name>=<property-value>
. Na przykład:Aby przesłać kompilację debugowania do dystrybucji aplikacji:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
Aby zaprosić dodatkowych testerów lub usunąć istniejących testerów z projektu Firebase:
./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
Po dodaniu testera do projektu Firebase możesz dodać go do poszczególnych wersji. Usunięci testerzy nie będą już mieli dostępu do wydań w Twoim projekcie, ale mogą zachować dostęp do wydań przez pewien czas.
Możesz również określić testerów za pomocą
--file="/path/to/testers.txt"
zamiast--emails
.Zadania
appDistributionAddTesters
iappDistributionRemoveTesters
również akceptują następujące argumenty:projectNumber
: numer Twojego projektu Firebase.serviceCredentialsFile
: ścieżka do pliku danych logowania usługi Google. Jest to ten sam argument, którego używa akcja przesyłania.
Po rozesłaniu kompilacji staje się ona dostępna w panelu dystrybucji aplikacji konsoli Firebase przez 150 dni (pięć miesięcy). Gdy kompilacja minie 30 dni od wygaśnięcia, powiadomienie o wygaśnięciu pojawi się zarówno w konsoli, jak i na liście kompilacji testera na urządzeniu testowym.
Testerzy, którzy nie zostali zaproszeni do testowania aplikacji, otrzymują zaproszenia e-mail, aby rozpocząć, a dotychczasowi testerzy otrzymują powiadomienia e-mail, że nowa kompilacja jest gotowa do testowania (przeczytaj przewodnik konfiguracji testera, aby uzyskać instrukcje dotyczące instalowania aplikacji testowej). Możesz monitorować stan każdego testera – czy przyjął zaproszenie i czy pobrał aplikację – w konsoli Firebase.
Testerzy mają 30 dni na zaakceptowanie zaproszenia do przetestowania aplikacji przed jej wygaśnięciem. Po upływie 5 dni od wygaśnięcia zaproszenia w konsoli Firebase obok testera wersji pojawia się informacja o wygaśnięciu. Zaproszenie można odnowić, wysyłając je ponownie za pomocą menu rozwijanego w wierszu testera.
Następny krok
Odwiedź laboratorium kodowania Android App Bundle, aby dowiedzieć się, jak krok po kroku rozpowszechniać wersje pakietów aplikacji.