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


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

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

  • Запускать оптимизированные APK-файлы (предоставляемые Google Play), которые оптимизированы для устройств тестировщиков.

  • Выявляйте и устраняйте проблемы, связанные с определенными устройствами.

  • Тестируйте функции наборов App Bundle, например Play Feature Delivery и Play Asset Delivery.

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

Требуемые права доступа

Чтобы загружать наборы AAB в App Distribution, необходимо связать приложение Firebase с приложением в Google Play. Для выполнения этих действий у вас должен быть необходимый уровень доступа.

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

В таблице ниже указаны требования для связывания приложения Firebase с приложением в Google Play, а также для загрузки наборов AAB.

Действие в консоли Firebase Требуемое разрешение IAM Роли IAM, которые по умолчанию включают необходимые разрешения Дополнительные роли
Как связать приложение Firebase с приложением в Google Play firebase.playLinks.update Одна из следующих ролей: Доступ к аккаунту разработчика Google Play с правами администратора.
Загрузите наборы App Bundle в App Distribution firebaseappdistro.releases.update Одна из следующих ролей: ––

Подготовка

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

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

  2. Откройте страницу App Distribution в консоли Firebase. Выберите проект Firebase, затем выберите приложение с помощью переключателя приложений и нажмите Начать.

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

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

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

    • Приложение должно пройти проверку в Google Play и быть опубликовано, то есть в столбце Статус приложения должен отображаться статус "Внутреннее тестирование" (не "Проект"), "Закрытое тестирование", "Открытое тестирование" или "Рабочая версия".

  4. Свяжите приложение Android в Firebase с аккаунтом разработчика Google Play.

    1. В консоли Firebase перейдите в раздел Настройки проекта и откройте вкладку Интеграции.

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

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

    Подробнее о связывании с Google Play…

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

Когда вы будете готовы распространить предварительную версию приложения среди тестировщиков, создайте набор Android App Bundle (инструкции можно найти в документации Android Studio).

Шаг 2. Как распространять приложение среди тестировщиков

Чтобы распространить приложение среди тестировщиков, загрузите его файл с помощью интерфейса командной строки Firebase:

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

    appdistribution:distribute options
    --app

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

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

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

    --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

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

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

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

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

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

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

    --test-password-resource

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

    --test-non-blocking

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

    --results-bucket

    Специальный сегмент Google Cloud Storage (GCS), в котором хранятся результаты тестирования. Если оставить поле пустым, будет использоваться сегмент по умолчанию. Сегмент должен принадлежать проекту, для которого включена оплата. При указании сегмента взимается плата за используемое хранилище.

    Пример:

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

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

    • firebase_console_uri – ссылка на консоль Firebase, в которой показан один выпуск. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.
    • testing_uri – ссылка на выпуск в интерфейсе тестировщика (встроенное приложение Android), которая позволяет тестировщикам просматривать примечания к выпуску и устанавливать приложение на свои устройства. Чтобы воспользоваться ссылкой, тестировщику нужен доступ к выпуску.
    • binary_download_uri – подписанная ссылка, которая напрямую скачивает и устанавливает исполняемый файл приложения (APK или AAB). Ссылка действительна в течение часа.

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

    Помимо распространения выпусков, вы также можете использовать 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 дней. За пять дней до истечения срока действия приглашения в консоли Firebase рядом с именем тестировщика появляется уведомление. Чтобы продлить приглашение, отправьте его повторно, используя раскрывающееся меню в строке тестировщика.

Дальнейшие действия