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

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 aplikacji na Androida (AAB) wśród testerów za pomocą wtyczki App Distribution Gradle.

Aby postępować zgodnie z tym przewodnikiem, musisz spełnić następujące wymagania wstępne: dostęp do projektu Firebase ( Właściciel lub Administrator Firebase ), dostęp do konta programisty Google Play ( Właściciel lub Administrator ) oraz aplikacja, która jest opublikowana w Google Play.

Informacje o dystrybucji pakietów aplikacji na Androida

Dystrybucja aplikacji integruje się z wewnętrzną usługą udostępniania aplikacji Google Play, aby przetwarzać przesłane pliki AAB i udostępniać pakiety APK zoptymalizowane pod kątem konfiguracji urządzeń testerów. Dystrybuując AAB, możesz:

  • Uruchamiaj zoptymalizowane pakiety APK (serwowane przez Google Play), które są zoptymalizowane pod kątem urządzeń Twoich testerów.
  • Odkrywaj i debuguj problemy specyficzne dla urządzenia.
  • Testuj funkcje pakietu aplikacji, takie jak Play Feature Delivery i Play Asset Delivery
  • Zmniejsz rozmiar plików do pobrania dla testerów.

Zanim zaczniesz

  1. Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase do swojego projektu na Androida . Pod koniec tego przepływu pracy będziesz mieć aplikację Firebase na Androida w swoim projekcie Firebase.

    Jeśli nie używasz żadnych innych produktów Firebase, wystarczy, że utworzysz projekt i zarejestrujesz swoją aplikację. Jeśli zdecydujesz się na korzystanie z dodatkowych produktów, wykonaj wszystkie czynności opisane w sekcji Dodaj Firebase do swojego projektu na Androida .

  2. Aby utworzyć link Firebase do Google Play i przesłać pliki AAB, upewnij się, że Twoja aplikacja spełnia następujące wymagania:

    • Aplikacja w Google Play i aplikacja Firebase na Androida są zarejestrowane przy użyciu tej samej nazwy pakietu.

    • Aplikacja w Google Play jest konfigurowana w panelu aplikacji i jest dystrybuowana do jednej ze ścieżek Google Play (testy wewnętrzne, testy zamknięte, testy otwarte lub produkcja).

    • Przegląd aplikacji w Google Play został zakończony i aplikacja została opublikowana. Twoja aplikacja zostanie opublikowana, jeśli kolumna Stan aplikacji wyświetla jeden z następujących stanów: Testy wewnętrzne (nie Wersja robocza testów wewnętrznych), Testy zamknięte, Testy otwarte lub Produkcja.

  3. Połącz aplikację Firebase na Androida z kontem programisty Google Play:

    1. W konsoli Firebase przejdź do projektu , a następnie wybierz kartę Integracje .

    2. Na karcie Google Play kliknij Połącz .
      Jeśli masz już linki do Google Play, kliknij Zarządzaj .

    3. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby włączyć integrację aplikacji App Distribution i wybrać, które aplikacje Firebase na Androida mają zostać połączone z Google Play.

    Dowiedz się więcej o łączeniu z Google Play .

Krok 1. Skonfiguruj swój projekt na Androida

  1. 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.2'
        }
    }
    
  2. 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'
    // ...
    
  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

Zanim zaczniesz korzystać z wtyczki Gradle, musisz najpierw uwierzytelnić się w swoim projekcie Firebase. Można to osiągnąć na trzy sposoby:

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="AAB"
                    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 bundleRelease 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 bundleRelease 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="AAB"
      
    • 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.