В этом руководстве описано, как распространять APK-файлы среди тестировщиков с помощью Firebase CLI. Инструмент CLI позволяет указать тестировщиков и примечания к выпуску для сборки, а затем распространяет сборку соответствующим образом.
Прежде чем начать
Если вы еще этого не сделали, добавьте Firebase в свой Android-проект .
Если вы не используете другие продукты Firebase, вам нужно всего лишь создать проект и зарегистрировать приложение. Однако, если вы решите использовать дополнительные продукты в будущем, обязательно выполните все шаги, описанные на странице, ссылка на которую приведена выше.
Шаг 1. Создайте свое приложение.
Когда вы будете готовы распространить предварительную версию своего приложения среди тестировщиков, соберите APK-файл, используя обычный процесс. Вам необходимо подписать APK-файл с помощью ключа отладки или ключа подписи приложения.
Шаг 2. Распространите ваше приложение среди тестировщиков.
Чтобы распространить ваше приложение среди тестировщиков, загрузите файл приложения с помощью Firebase CLI:
- Установите или обновите Firebase CLI до последней версии (рекомендуется загрузить автономный исполняемый файл CLI, соответствующий вашей операционной системе). Убедитесь, что вы вошли в систему и проверили доступ к своим проектам.
Выполните команду
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;model=b0q,version=33,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.
Например:
firebase appdistribution:distribute test.apk \ --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— подписанная ссылка, которая напрямую загружает и устанавливает исполняемый файл приложения (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.Если у вас большое количество тестировщиков, вам следует рассмотреть возможность использования групп: вы можете использовать
appdistribution:group:createиappdistribution:group:deleteдля создания или удаления групп в вашем проекте Firebase.Используйте
--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 дней, чтобы принять приглашение на тестирование приложения, после чего оно истекает. За 5 дней до истечения срока действия приглашения в консоли Firebase рядом с именем тестировщика в релизе появляется уведомление об истечении срока действия. Приглашение можно продлить, отправив его повторно с помощью выпадающего меню в строке с именем тестировщика.
Следующие шаги
Внедрите функцию обратной связи внутри приложения , чтобы тестировщикам было легко отправлять отзывы о вашем приложении (включая скриншоты).
Узнайте, как отображать внутри приложения уведомления для тестировщиков о появлении новых сборок вашего приложения, доступных для установки.
Изучите лучшие практики распространения Android-приложений среди тестировщиков с использованием CI/CD .