Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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

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

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

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

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

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

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

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

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

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

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

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

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

В файле app/build.gradle настройте Распространение приложений, добавив хотя бы один раздел firebaseAppDistribution . Например, чтобы распространить сборку release среди тестировщиков:

```
android {

    // ...

    buildTypes {
        release {
            firebaseAppDistribution {
                artifactType="APK"
                releaseNotesFile="/path/to/releasenotes.txt"
                testers="ali@example.com, bri@example.com, cal@example.com"
            }
        }
    }

    // ...
}
```

Распространение приложений можно настроить для типов сборки и вкусов продуктов . Например, чтобы распространять 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"
          }
      }
    }

    // ...
}
```

Используйте следующие параметры для настройки раздачи:

Параметры сборки распространения приложений
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 или testers testersFile

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

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

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

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

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

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

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

groups="qa-team, android-testers"

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

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

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

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

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

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

./gradlew assembleRelease appDistributionUploadRelease

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

export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
./gradlew --stop // Only needed for environment variable changes
./gradlew assembleRelease appDistributionUploadRelease

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

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