Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Dystrybuuj aplikacje na Androida do testerów za pomocą Gradle

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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 testerom 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 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

  1. W pliku Gradle na poziomie głównym (na poziomie projektu) ( <project>/build.gradle ) dodaj wtyczkę App Distribution Gradle jako zależność buildscript:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the App Distribution Gradle plugin
            classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.3'
        }
    }
  2. W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle ) dodaj wtyczkę App Distribution Gradle:

    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'
        ...
    }
  3. 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

Aby móc korzystać z wtyczki Gradle, musisz najpierw uwierzytelnić się w projekcie Firebase na jeden z poniższych sposobów. Domyślnie wtyczka Gradle szuka danych logowania z interfejsu Firebase CLI, jeśli nie jest używana żadna inna metoda uwierzytelniania.

Krok 3. Skonfiguruj właściwości dystrybucji

  1. 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"
                }
            }
        }
    
        // ...
    }
    
  2. Dystrybucję aplikacji można skonfigurować pod kątem typów kompilacji i smaków produktów . Na przykład, aby rozpowszechniać kompilacje debug i release 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"
              }
          }
        }
    
        // ...
    }
    
  3. 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 google-services.json lub w konsoli Firebase na stronie Ustawienia ogólne . Wartość w pliku build.gradle zastępuje dane wyjściowe z wtyczki google-services .

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 "AAB" lub "APK" .

artifactPath

Bezwzględna ścieżka do pliku APK lub AAB, który chcesz przesłać.

releaseNotes lub releaseNotesFile

Informacje o wersji dla tej kompilacji.

Możesz określić informacje o wersji 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ż określić ś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ą aliasy grupowe , który można znaleźć w zakładce Testerzy w konsoli Firebase App Distribution.

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 oddzieloną przecinkami listę aliasów grup:

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

  1. Na koniec, aby spakować aplikację testową i zaprosić testerów, skompiluj cele BUILD-VARIANT i appDistributionUpload BUILD-VARIANT za pomocą Gradle wrapper 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ć 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
    
  2. 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 i appDistributionRemoveTesters 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 upłynie 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 zaakceptował 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.