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 файла, что позволяют настроить распределения для различных типов сборки и варианты вашего приложения.

В этом руководстве описывается, как распространять пакеты Android App Bundle (AAB) среди тестировщиков с помощью подключаемого модуля App Distribution Gradle.

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

О распространении наборов приложений Android

Распространение приложений интегрируется с внутренней службой совместного использования приложений Google Play для обработки загружаемых вами AAB и предоставления APK-файлов, оптимизированных для конфигураций устройств ваших тестировщиков. Распространяя AAB, вы можете:

  • Запускайте оптимизированные APK-файлы (обслуживаемые Google Play), оптимизированные для устройств ваших тестеров.
  • Выявление и отладка проблем, связанных с конкретным устройством.
  • Тест приложение расслоение функции , такие как Play Feature Доставка и Play активов Доставки
  • Уменьшите размер загрузок для ваших тестеров.

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

  1. Если вы еще не сделали, добавить Firebase в свой Android проекта . В конце этого рабочего процесса у вас будет приложение Firebase для Android в вашем проекте Firebase.

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

  2. Убедитесь, что ваше приложение соответствует следующим требованиям для создания ссылки Firebase на Google Play и для загрузки AAB:

    • Приложение, которое вы регистрируете в Google Play и Firebase, использует одно и то же имя пакета.

    • Приложение в Google Play является установка на приложение панели .

    • Приложение в Google Play имеет следующий статус :

      • Приложение находится в опубликованном состоянии, а это означает , что он не в проекте , и его рассмотрение завершено (столбец Состояние обновления в Google Play консоли пуста).

      • Приложение распространяется на одном из следующих треков Google Play: внутреннее тестирование, закрытое, открытое тестирование или производство.

  3. Свяжите свое приложение Firebase для Android с учетной записью разработчика Google Play:

    1. В Firebase консоли перейдите к вашим настройки проекта, затем выберите вкладку интеграций.

    2. На карте Google Play, нажмите ссылку.
      Если у вас уже есть ссылки на Google Play, нажмите кнопку Управление вместо.

    3. Следуйте инструкциям на экране, чтобы включить интеграцию распространения приложений, и выберите приложения Firebase для Android, которые нужно связать с Google Play.

    Узнайте больше о ссылках на Google Play .

Шаг 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="AAB"
                    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 bundleRelease appDistributionUploadRelease
    

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

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

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

      ./gradlew bundleDebug appDistributionUploadDebug
          -PappDistribution-artifactType="AAB"
      
    • Чтобы пригласить дополнительных тестировщиков или удалить существующих тестировщиков из вашего проекта 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 , чтобы узнать , как распространять приложения расслоение высвобождает шаг за шагом.