Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Распространяйте приложения Android среди тестировщиков с помощью Gradle

Вы можете интегрировать распространение приложений в процесс сборки Android с помощью подключаемого модуля App Distribution Gradle. Плагин позволяет определить ваши тестеры и примечание к выпуску в вашем приложении build.gradle файла, что позволяют настроить распределения для различных типов сборки и варианты вашего приложения.

В этом руководстве описывается, как распространять APK-файлы тестировщикам с помощью подключаемого модуля App Distribution Gradle.

Прежде чем вы начнете

Если вы еще не сделали, добавить Firebase в свой Android проекта .

Если вы не используете какие-либо другие продукты Firebase, вам нужно только создать проект и зарегистрировать приложение. Однако, если вы решите использовать дополнительные продукты в будущем, обязательно выполните все шаги на странице, указанной выше.

Шаг 1. Настройте свой Android-проект.

  1. В вашем уровне проекта Gradle файл (обычно android/build.gradle ), добавьте App плагина распространения как 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:2.2.0'
        }
    }
    
  2. В вашем приложении уровень Gradle файл ( как правило , android/app/build.gradle ), включает в себя App плагин распространения ниже Android плагина:

    apply plugin: 'com.android.application'
    // ...
    
    // Apply the App Distribution Gradle plugin
    apply plugin: 'com.google.firebase.appdistribution'
    // ...
    
  3. Если вы находитесь за корпоративный прокси - сервер или брандмауэр, добавьте следующий Java системное свойство , которое позволяет App Distribution загружать распределяла Firebase:

    -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
    

Шаг 2. Выполните аутентификацию с помощью Firebase

Прежде чем вы сможете использовать плагин Gradle, вы должны сначала пройти аутентификацию в своем проекте Firebase. Этого можно добиться тремя способами:

Шаг 3. Настройте свойства вашего дистрибутива.

  1. В вашем app/build.gradle файл, сконфигурируйте App распределения путем добавления по меньшей мере , один firebaseAppDistribution раздел. Например, для распределения release сборки для тестеров:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    artifactType="APK"
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    
  2. App Распределение может быть сконфигурировано для типов сборки и вкусов продукции . Например, для распространения debug и release строит в «демо» и «полные» вкусов продукции:

    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. Используйте следующие параметры для настройки раздачи:

Параметры сборки распространения приложений
appId

Идентификатор приложения Firebase для вашего приложения. Требуется, только если у вас не установлен плагин Google Services Gradle. Вы можете найти идентификатор приложения в google-services.json файл или в консоли Firebase на странице Общих настроек . Значение в вашем build.gradle файл перекрывает выходное значение от google-services плагинов.

appId="1:1234567890:android:321abc456def7890"
serviceCredentialsFile

Путь к файлу JSON с секретным ключом вашей служебной учетной записи. Требуется, только если вы используете аутентификацию учетной записи службы.

artifactType

Указывает тип файла вашего приложения. Может быть установлен в положение "AAB" или "APK" .

apkPath

Этот параметр устарел. Используйте artifactPath вместо этого.

artifactPath

Абсолютный путь к файлу APK или AAB, который вы хотите загрузить.

releaseNotes или releaseNotesFile

Примечания к выпуску для этой сборки.

Вы можете либо указать примечания к выпуску напрямую, либо путь к текстовому файлу.

testers или testersFile

Адреса электронной почты тестировщиков, которым вы хотите распространять сборки.

Вы можете указать тестировщиков в виде списка адресов электронной почты, разделенных запятыми:

testers="ali@example.com, bri@example.com, cal@example.com"

Или вы можете указать путь к файлу, содержащему список адресов электронной почты, разделенных запятыми:

testersFile="/path/to/testers.txt"
groups или groupsFile

Тестер группы вы хотите распространять строит (см Управление тестеры ). Группы указываются с помощью групповые псевдонимы , Которые вы можете найти на вкладке тестировщиков в консоли распределения Firebase App.

Вы можете указать группы в виде списка псевдонимов групп, разделенных запятыми:

groups="qa-team, android-testers"

Или вы можете указать путь к файлу, содержащему список групповых псевдонимов, разделенных запятыми:

groupsFile="/path/to/tester-groups.txt"
stacktrace

Распечатывает трассировку стека для пользовательских исключений. Это полезно при отладке проблем.

Шаг 4. Распространите свое приложение среди тестировщиков.

  1. И, наконец, упаковать тестовое приложение и пригласить тестеры, строить цели BUILD-VARIANT и appDistributionUpload BUILD-VARIANT с Gradle оберткой вашего проекта, где BUILD-VARIANT является дополнительным аромат продукта и сборка типа вы настроили в предыдущем шаге. Для получения более подробной информации о продукции вкусах см варианта Настройки сборки .

    Например, чтобы распространять свое приложение , используя release вариант сборки, выполните следующую команду:

    ./gradlew assembleRelease appDistributionUploadRelease
    

    Или, если вы проверку подлинности с помощью аккаунта Google и не предоставляет учетные данные в вашем Gradle файле сборки, включают FIREBASE_TOKEN переменную:

    export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
    ./gradlew --stop // Only needed for environment variable changes
    ./gradlew assembleRelease appDistributionUploadRelease
    
  2. Вы также можете переопределить значения , установленные в вашем build.gradle файл путем передачи аргументов командной строки в виде -PappDistribution-<property-name>=<property-value> . Например:

    • Чтобы загрузить отладочную сборку в App Distribution:

      ./gradlew bundleDebug appDistributionUploadDebug
          -PappDistribution-artifactType="APK"
      
    • Чтобы пригласить дополнительных тестировщиков или удалить существующих тестировщиков из вашего проекта Firebase:

      ./gradlew bundleDebug appDistributionAddTesters
          --emails="anothertester@email.com, moretesters@email.com"
       ./gradlew appDistributionRemoveTesters
           --emails="anothertester@email.com, moretesters@email.com"
      

      После того, как тестировщик был добавлен в ваш проект Firebase, вы можете добавлять его в отдельные выпуски. Удаленные тестировщики больше не будут иметь доступа к выпускам в вашем проекте, но могут по-прежнему сохранять доступ к вашим выпускам в течение определенного периода времени.

    Можно также указать тестеры с помощью --file="/path/to/testers.txt" вместо --emails .

    В appDistributionAddTesters и appDistributionRemoveTesters задачи также принимает следующие аргументы:

    • projectNumber : Ваш Firebase номер проекта.

    • serviceCredentialsFile : Путь к файлу мандатной службы Google. Это тот же аргумент, который используется при загрузке.

После распространения сборки она становится доступной на панели управления распространением приложений консоли Firebase в течение 150 дней (пяти месяцев). Когда срок действия сборки истекает через 30 дней, уведомление об истечении срока действия появляется как в консоли, так и в списке сборок вашего тестировщика на их тестовом устройстве.

Тестеры , которые не были приглашены , чтобы проверить приложение получать приглашения по электронной почте , чтобы начать работу, а существующие тестеры получать уведомления по электронной почте о том , что новая сборка готова к испытанию (прочитать комплект тестера до руководства для получения инструкций о том , как установить приложение тестов). Вы можете отслеживать статус каждого тестировщика - приняли ли они приглашение и загрузили ли приложение - в консоли Firebase.

У тестировщиков есть 30 дней, чтобы принять приглашение протестировать приложение до истечения срока его действия. Когда срок действия приглашения истекает через 5 дней, уведомление об истечении срока действия появляется в консоли Firebase рядом с тестером выпуска. Приглашение можно продлить, повторно отправив его с помощью раскрывающегося меню в строке тестера.

Следующий шаг

Посетите codelab Android App Bundle , чтобы узнать , как распространять приложения расслоение высвобождает шаг за шагом.