Możesz zintegrować aplikację App Distribution z procesem kompilacji Androida za pomocą Wtyczka do obsługi Gradle App Distribution. Wtyczka umożliwia określenie testerów informacji o wersji w pliku Gradle aplikacji, które umożliwiają konfigurowanie dystrybucji do różnych typów kompilacji i wariantów aplikacji.
Z tego przewodnika dowiesz się, jak udostępniać testerom pakiety Android App Bundle za pomocą wtyczki do obsługi Gradle App Distribution.
Usługa App Distribution integruje się z usługą wewnętrznego udostępniania aplikacji Google Play, aby przetwarzania przesłanych pakietów aplikacji na Androida i udostępniania plików APK zoptymalizowanych pod kątem konfiguracji urządzeń. Dystrybucja pakietów aplikacji na Androida umożliwia:
Uruchamiaj zoptymalizowane pliki APK (udostępniane przez Google Play), które są zoptymalizowane pod kątem dla testerów urządzenia.
Wykrywanie i debugowanie problemów związanych z urządzeniami.
Przetestuj funkcje pakietu aplikacji, takie jak Play Feature Delivery i Play Asset Delivery.
Zmniejsz rozmiar pobieranych plików przeznaczonych dla testerów.
Wymagane uprawnienia
Aby przesłać pakiety aplikacji na Androida do usługi App Distribution, musisz połączyć z nią swoją aplikację Firebase w aplikacji Google Play. Musisz mieć wymagany poziom dostępu do wykonania tych czynności.
Jeśli nie masz odpowiedniego dostępu do Firebase, możesz poprosić o projekt Firebase. właściciela, aby przypisać Ci odpowiednią rolę w Firebase ustawień uprawnień konsoli. Jeśli masz pytania dotyczące dostępu do projektu Firebase, w tym znaleźć lub przypisać właściciela, zapoznaj się z „Uprawnienia i dostęp do projektów Firebase” Najczęstsze pytania.
Poniższa tabela dotyczy łączenia aplikacji Firebase z aplikacją w Google Play, a także przesyłać pakiety aplikacji na Androida.
Działanie w konsoli Firebase | Wymagane uprawnienia | Role, które obejmują wymagane uprawnienia przyznane przez domyślny | Dodatkowe wymagane role |
---|---|---|---|
Połącz aplikację Firebase z aplikacją w usłudze Google Play | firebase.playLinks.update
|
Jedna z tych ról: | Dostęp do konta dewelopera w usłudze Google Play jako Administracja |
Prześlij pakiety aplikacji na Androida do App Distribution | firebaseappdistro.releases.update
|
Jedna z tych ról: | –– |
Zanim zaczniesz
Dodaj Firebase do swojego urządzenia z Androidem, chyba że masz to już za sobą projekt. Na koniec tego procesu mieć aplikację Firebase na Androida w swoim projekcie Firebase.
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 Dodaj Firebase do swojego projektu na Androida.
Aby utworzyć połączenie Firebase z Google Play i przesyłać pakiety aplikacji na Androida, sprawdź, czy aplikacja spełnia te wymagania:
Aplikacja w Google Play i aplikacja Firebase na Androida są zarejestrowane. o tej samej nazwie pakietu.
aplikacja w Google Play została skonfigurowana w aplikacji, panel i jest rozpowszechniana na jednej ze ścieżek Google Play (testy wewnętrzne, (test zamknięty, otwarty lub wersja produkcyjna).
Zakończono sprawdzanie aplikacji w Google Play i aplikacja została opublikowana. Aplikacja jest opublikowana, jeśli w kolumnie Stan aplikacji wyświetla się jeden z te stany: Test wewnętrzny (nie Test wewnętrzny wersji roboczej), Test zamknięty, otwarty lub wersja produkcyjna.
Połącz aplikację Firebase na Androida z kontem dewelopera w Google Play:
W konsoli Firebase otwórz
, a następnie wybierz kartę Integracje. Ustawienia projektu Na karcie Google Play kliknij Połącz.
Jeśli masz już połączenia z Google Play, kliknij ZarządzajPostępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby włączyć App Distribution. i wybierz aplikacje Firebase na Androida, które chcesz połączyć z Google Graj.
Więcej informacji o łączeniu konta z Google Play.
Krok 1. Skonfiguruj projekt na Androida
w pliku Gradle na poziomie głównym (na poziomie projektu); (
<project>/build.gradle.kts
lub<project>/build.gradle
), dodaj Wtyczka App Distribution do Gradle jako zależność:Kotlin
plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "5.0.0" apply false }
Groovy
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '5.0.0' apply false }
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
), dodaj wtyczkę do Gradle App Distribution:Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' }
Jeśli korzystasz z firmowego serwera proxy lub zapory sieciowej, dodaj: Właściwość systemowa Java który umożliwia usłudze App Distribution przesyłanie danych o wersjach do Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
Krok 2. Uwierzytelnij za pomocą Firebase
Zanim użyjesz wtyczki Gradle, musisz najpierw uwierzytelnić się projektu Firebase na jeden z poniższych sposobów. Domyślnie wtyczka Gradle szuka danych logowania z interfejsu wiersza poleceń Firebase, jeśli nie ma żadnego innego uwierzytelniania .
Krok 3. Skonfiguruj właściwości dystrybucji
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub
<project>/<app-module>/build.gradle
), skonfiguruj App Distribution, dodając na stronie
co najmniej jedną sekcję firebaseAppDistribution
.
Aby na przykład udostępnić testerom kompilację release
, postępuj zgodnie z tymi instrukcjami
instrukcje:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "AAB" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Groovy
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Możesz skonfigurować App Distribution dla typy kompilacji i smaki produktów.
Aby na przykład rozpowszechniać kompilacje debug
i release
w grupie „demo” i „pełny”
postępuj zgodnie z instrukcjami:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
Groovy
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" } } } // ... }
Aby skonfigurować dystrybucję, użyj tych parametrów:
Parametry kompilacji App Distribution | |
---|---|
appId
|
Identyfikator aplikacji Firebase Twojej aplikacji. Wymagane tylko wtedy, gdy nie masz
Wtyczka do obsługi Gradle usług Google została zainstalowana. Identyfikator aplikacji znajdziesz tutaj:
w pliku appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile
|
Ścieżka do pliku JSON klucza prywatnego konta usługi. Tylko wymagane jeśli używasz uwierzytelniania za pomocą konta usługi. |
artifactType
|
Określa typ pliku aplikacji. Można ustawić na
|
artifactPath
|
Ścieżka bezwzględna do pliku APK lub pakietu AAB, który chcesz przesłać. |
releaseNotes lub releaseNotesFile |
Informacje o wersji tej kompilacji. Możesz podać informacje o wersji bezpośrednio lub ścieżki do zwykłego pliku tekstowego. |
testers lub testersFile |
Adresy e-mail testerów, którzy mają rozprowadzać kompilacje do. Możesz podać testerów jako listę adresów e-mail rozdzielonych przecinkami adresy: testers="ali@example.com, bri@example.com, cal@example.com" Możesz też podać ścieżkę do pliku zawierającego rozdzielone przecinkami lista adresów e-mail: testersFile="/path/to/testers.txt" |
groups lub groupsFile |
Grupy testerów, którym chcesz rozpowszechniać kompilacje (zobacz
Zarządzaj testerami).
Grupy określa się przy użyciu Możesz podać rozdzieloną przecinkami listę grup aliasy: groups="qa-team, android-testers" Możesz też podać ścieżkę do pliku zawierającego rozdzielone przecinkami lista aliasów grup: groupsFile="/path/to/tester-groups.txt" |
testDevices lub testDevicesFile |
Poniższe typy dystrybucji są częścią funkcji automatycznych testerów w wersji beta. Urządzenia testowe, na które chcesz rozpowszechniać kompilacje (patrz Testy automatyczne). Urządzenia testowe możesz podać w postaci listy wartości rozdzielonych średnikami dane techniczne urządzenia: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" Możesz też podać ścieżkę do pliku zawierającego rozdzielone średnikami lista specyfikacji urządzenia: testDevicesFile="/path/to/testDevices.txt" |
testUsername |
Nazwa użytkownika do automatycznego logowania się podczas testów automatycznych. |
testPassword lub testPasswordFile |
Hasło do automatycznego logowania używane podczas testów automatycznych. Możesz też podać ścieżkę do zwykłego pliku tekstowego zawierającego hasło: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource |
Nazwa zasobu w polu nazwy użytkownika na potrzeby automatycznego logowania, które jest używane podczas testów automatycznych. |
testPasswordResource |
Nazwa zasobu w polu hasła na potrzeby automatycznego logowania się podczas testów automatycznych. |
testNonBlocking |
asynchronicznie uruchamiać testy automatyczne, Otwórz konsolę Firebase, aby wyświetlić wyniki automatycznych testów. |
stacktrace
|
Drukuje zrzut stosu dla wyjątków dotyczących użytkowników. Jest to przydatne, gdy i debugowaniu. |
Krok 4. Udostępnianie aplikacji testerom
Na koniec, aby spakować aplikację testową i zaprosić testerów, utwórz cele
BUILD-VARIANT
iappDistributionUploadBUILD-VARIANT
z opakowanie Gradle projektu, gdzie BUILD-VARIANT jest opcjonalnym rodzaj usługi i typ kompilacji skonfigurowane w poprzednim kroku. Więcej informacji o smakach produktów znajdziesz na stronie Skonfiguruj warianty kompilacji.Aby np. dystrybuować aplikację przy użyciu wariantu kompilacji
release
, uruchom polecenie to polecenie:./gradlew bundleRelease appDistributionUploadRelease
lub uwierzytelnianie za pomocą konta Google i nie podano danych logowania w pliku kompilacji Gradle, dołącz Zmienna
FIREBASE_TOKEN
:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew bundleRelease appDistributionUploadRelease
Możesz też zastąpić wartości ustawione w pliku
build.gradle
, przekazując argumentów wiersza poleceń w postaci--<property-name>=<property-value>
Przykład:Aby przesłać kompilację do debugowania pod kątem środowiska App Distribution:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="AAB"
Aby zaprosić dodatkowych testerów lub usunąć istniejących testerów z Firebase projekt:
./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 go dodać do poszczególnych wersji. Usunięci testerzy utracą dostęp do: wersji w projekcie, ale nadal mogą zachować do nich dostęp w określonym przedziale czasu.
Możesz też zamiast tego użyć parametru
--file="/path/to/testers.txt"
--emails
Zadania
appDistributionAddTesters
iappDistributionRemoveTesters
możesz też zaakceptować następujące argumenty:projectNumber
: numer projektu Firebase.serviceCredentialsFile
: ścieżka do pliku danych logowania do usług Google. Jest to ten sam argument używany w działaniu przesyłania.
Po przesłaniu wersji wtyczka do Gradle generuje poniższe linki. Te aby ułatwić sobie zarządzanie plikami binarnymi i sprawdzać, czy testerzy i inni deweloperzy mają odpowiednią wersję:
firebase_console_uri
– link do konsoli Firebase z wyświetlonym premiery singla. Możesz udostępnić ten link innym deweloperom na swoim org.testing_uri
– link do wersji w interfejsie testera (aplikacja natywna na Androida), która umożliwia testerom wyświetlenie wersji notatki i zainstalować aplikację na urządzeniu. Tester potrzebuje dostępu do tych elementów: wydania, aby móc użyć linku.binary_download_uri
– podpisany link, który umożliwia bezpośrednie pobieranie i instaluje plik binarny aplikacji (plik APK lub AAB). Link wygasa po upływie 1 godz.
Gdy rozpowszechnisz kompilację, staje się ona dostępna w Panel App Distribution konsoli Firebase przez 150 dni (5 miesięcy). Jeśli upłynie 30 dni od wygaśnięcia kompilacji, w obu konsolę i listę kompilacji na urządzeniu testowym.
Testerzy, którzy nie zostali zaproszeni do testowania aplikacji, otrzymają e-maile z zaproszeniami a dotychczasowi testerzy otrzymają e-maile z powiadomieniami o nowej kompilacji. jest gotowy do testowania (przeczytaj przewodnik po konfiguracji dla testerów , aby dowiedzieć się, jak zainstalować test ). Możesz sprawdzać stan każdego testera – czy zaakceptował on oraz informację o pobraniu aplikacji w konsoli Firebase.
Testerzy mają 30 dni na zaakceptowanie zaproszenia do testowania aplikacji, zanim wygaśnie. Jeśli zaproszenie wygasa po 5 dniach, w sekcji Firebase konsola obok testera dotyczącej wersji. Zaproszenie można została odnowiona, wysyłając ją ponownie za pomocą menu w wierszu testera.
Dalsze kroki
wprowadzać opinie w aplikacji, , by ułatwić testerom przesyłanie opinii o aplikacji (w tym zrzuty ekranu).
Dowiedz się, jak wyświetlać alerty w aplikacji dla testerów, gdy nowe kompilacje Twojej aplikacji będą dostępne do zainstalowania.
Otwórz ćwiczenie z programowania związane z pakietem Android App Bundle. , by dowiedzieć się, jak krok po kroku rozpowszechniać wersje pakietów aplikacji.
Poznaj sprawdzone metody rozpowszechniania aplikacji na Androida testerom kontroli jakości za pomocą CI/CD.