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


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

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

  • Run optimized APKs (served by Google Play) that are optimized to your testers' devices.

  • Выявление и устранение проблем, специфичных для конкретного устройства.

  • Test app bundle features like Play Feature Delivery and Play Asset Delivery .

  • Уменьшите размер загружаемых файлов для ваших тестировщиков.

Необходимые разрешения

To upload AABs to App Distribution , you must link your Firebase app to an app in Google Play . You must have the required level of access to perform these actions.

Если у вас нет необходимого доступа к Firebase, вы можете попросить владельца проекта Firebase назначить вам соответствующую роль через настройки IAM в консоли Firebase . Если у вас есть вопросы о доступе к вашему проекту Firebase, включая поиск или назначение владельца, ознакомьтесь с разделом часто задаваемых вопросов «Разрешения и доступ к проектам Firebase» .

The following table applies to linking a Firebase app to an app in Google Play , as well as uploading AABs.

Действие в консоли Firebase Требуются разрешения IAM. IAM role(s) that include required permissions by default Дополнительные необходимые роли
Свяжите приложение Firebase с приложением в Google Play firebase.playLinks.update Одна из следующих ролей: Access to a Google Play developer account as Admin
Загрузите AAB в App Distribution firebaseappdistro.releases.update Одна из следующих ролей: ––

Прежде чем начать

  1. If you haven't already, add Firebase to your Android project . At the end of this workflow, you'll have a Firebase Android App in your Firebase project.

    Если вы не используете другие продукты Firebase, вам нужно только создать проект и зарегистрировать приложение. Если вы решите использовать дополнительные продукты, обязательно выполните все шаги, описанные в разделе «Добавление Firebase в ваш проект Android» .

  2. To create a Firebase link to Google Play and to upload AABs, make sure that your app meets the following requirements:

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

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

    • Проверка приложения в Google Play завершена, и приложение опубликовано. Ваше приложение опубликовано, если в столбце «Статус приложения» отображается один из следующих статусов: Внутреннее тестирование (не черновик внутреннего тестирования), Закрытое тестирование, Открытое тестирование или Производственная версия.

  3. Link your Firebase Android App to your Google Play developer account:

    1. В консоли Firebase перейдите в свой Project settings , then select the Integrations tab.

    2. На карточке Google Play нажмите «Ссылка» .
      If you already have links to Google Play, click Manage instead.

    3. Follow the on-screen instructions to enable the App Distribution integration and select which Firebase Android Apps to link to Google Play.

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

Шаг 1. Создайте свое приложение.

When you're ready to distribute a pre-release version of your app to testers, build your AAB (visit the Android Studio documentation for instructions).

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

To distribute your app to testers, upload your app's file using the Firebase CLI:

  1. Установите или обновите Firebase CLI до последней версии (рекомендуется загрузить автономный исполняемый файл CLI, соответствующий вашей операционной системе). Убедитесь, что вы вошли в систему и проверили доступ к своим проектам.
  2. Выполните команду appdistribution:distribute , чтобы загрузить ваше приложение и распространить его среди тестировщиков. Используйте следующие параметры для настройки распространения:

    appdistribution:distribute options
    --app

    Обязательно : идентификатор приложения Firebase. Вы можете найти идентификатор приложения в консоли Firebase на странице «Общие настройки» .

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    Токен обновления, который выводится при аутентификации вашей среды CI с помощью Firebase CLI (подробнее см. в разделе «Использование CLI с системами CI» ).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

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

    Вы можете указать примечания к выпуску напрямую:

    --release-notes "Text of release notes"

    Или укажите путь к текстовому файлу:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

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

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

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

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

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

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

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

    --groups "qa-team, trusted-testers"

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

    --groups-file "/path/to/groups.txt"
    --debug

    Флаг, который можно указать для вывода подробного лога.

    --test-devices
    --test-devices-file

    Тестовые устройства, на которых вы хотите запустить тесты агента тестирования приложений .

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

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait"

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

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    Имя пользователя для автоматического входа в систему, используемое во время тестирования агентом App Testing .

    --test-password
    --test-password-file

    Пароль для автоматического входа в систему, используемый во время тестирования агентом приложения .

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

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    Имя ресурса для поля имени пользователя, используемого для автоматического входа в систему во время тестирования агентом App Testing.

    --test-password-resource

    Имя ресурса для поля пароля, используемого для автоматического входа в систему во время тестирования агентом App Testing.

    --test-non-blocking

    Если этот флаг установлен при запуске тестов агента App Testing , команда запустит тесты и немедленно вернет управление, не дожидаясь их завершения. Чтобы просмотреть результаты тестов, перейдите в консоль Firebase. Если этот флаг не установлен, команда будет блокироваться до завершения тестов и завершится с кодом ошибки, если какой-либо из тестов завершится неудачей.

    Например:

    firebase appdistribution:distribute test.aab  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

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

    • firebase_console_uri — ссылка на консоль Firebase , отображающую отдельный релиз. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.
    • testing_uri — ссылка на релиз в среде тестирования (нативное приложение Android), позволяющая тестировщикам просматривать примечания к релизу и устанавливать приложение на свое устройство. Для использования ссылки тестировщику необходим доступ к релизу.
    • binary_download_uri - A signed link that directly downloads and installs the app binary (APK or AAB file) . The link expires after one hour.

    Управление тестировщиками и группами.

    Помимо распространения релизов, вы также можете использовать appdistribution:testers:add и appdistribution:testers:remove для приглашения новых тестировщиков или удаления существующих из вашего проекта Firebase.

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

    Например:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com

    Адреса электронной почты тестировщиков должны быть разделены пробелом. Вы также можете указать тестировщиков с помощью --file /path/to/testers.txt .

    Если у вас большое количество тестировщиков, вам следует рассмотреть возможность использования групп: вы можете использовать appdistribution:group:create и appdistribution:group:delete для создания или удаления групп в вашем проекте Firebase.

    Используйте --group-alias для указания группы для команд appdistribution:testers:add и appdistribution:testers:remove .

    Например:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

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

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

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

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