В этом руководстве описывается, как распространять APK-файлы среди тестировщиков с помощью Firebase CLI. Инструмент CLI позволяет указать тестировщиков и примечания к выпуску для сборки, а затем распространить ее соответствующим образом.
Подготовка
Если вы ещё этого не сделали, добавьте Firebase в проект Android.
Если вы не используете другие продукты Firebase, вам нужно только создать проект и зарегистрировать приложение. Однако если вы решите использовать дополнительные продукты в будущем, обязательно выполните все шаги, описанные на странице по ссылке выше.
Откройте страницу App Distribution в консоли Firebase. Выберите проект Firebase, затем выберите приложение в переключателе приложений и нажмите Начать.
1. Создайте приложение
Когда вы будете готовы распространить предварительный выпуск приложения среди тестировщиков, создайте APK-файл обычным способом. Подпишите APK-файл ключом отладки или ключом подписи приложения.
Шаг 2. Как распространить приложение среди тестировщиков
Чтобы распространить приложение среди тестировщиков, загрузите его файл с помощью интерфейса командной строки Firebase:
- Установите или обновите до последней версии Firebase CLI (рекомендуем скачать автономный двоичный файл для CLI, соответствующий вашей ОС). Войдите в аккаунт и убедитесь, что у вас есть доступ к проектам.
-
Выполните команду
appdistribution:distribute, чтобы загрузить приложение и распространить его среди тестировщиков. Для настройки распределения используйте следующие параметры:appdistribution:distribute options --appОбязательно. Идентификатор приложения Firebase. Идентификатор приложения можно найти в консоли Firebase на странице General Settings (Общие настройки).
--app 1:1234567890:android:0a1b2c3d4e5f67890
--tokenТокен обновления, который выводится при аутентификации среды непрерывной интеграции с помощью интерфейса командной строки Firebase. Подробнее о том, как использовать интерфейс командной строки с системами непрерывной интеграции …
--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.apk \ --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.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comАдреса электронной почты тестировщиков должны быть разделены пробелом. Вы также можете указать тестировщиков с помощью
--file /path/to/testers.txt.Если у вас много тестировщиков, рекомендуем использовать группы. Вы можете создавать и удалять группы в проекте Firebase с помощью
appdistribution:group:createиappdistribution:group:delete.Используйте
--group-alias, чтобы указать группу для командappdistribution:testers:addиappdistribution:testers:remove.Пример:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
После распространения сборка будет доступна на панели управления App Distribution в консоли Firebase в течение 150 дней (пяти месяцев). За 30 дней до истечения срока действия сборки в консоли и в списке сборок на тестовом устройстве появится уведомление.
Тестировщики, которые ещё не были приглашены, получат приглашения по электронной почте. Тестировщики, которые уже участвуют в тестировании, получат уведомления о том, что новая сборка готова к тестированию. Инструкции по установке тестового приложения можно найти в руководстве по настройке для тестировщиков. В консоли Firebase можно отслеживать статус каждого тестировщика: принял ли он приглашение и скачал ли приложение.
У тестировщиков есть 30 дней, чтобы принять приглашение. За пять дней до истечения срока действия приглашения в консоли Firebase рядом с именем тестировщика появляется уведомление. Чтобы продлить приглашение, отправьте его повторно, используя раскрывающееся меню в строке тестировщика.
Дальнейшие действия
Добавьте в приложение форму обратной связи, чтобы тестировщики могли отправлять вам отзывы и скриншоты.
Узнайте, как показывать тестировщикам оповещения в приложении, когда доступны новые сборки.
Ознакомьтесь с рекомендациями по распространению приложений Android среди тестировщиков с помощью CI/CD.