В этом руководстве описывается, как распространять Android App Bundles (AAB) среди тестировщиков с помощью Firebase CLI. Инструмент CLI позволяет вам указывать тестировщиков и заметки о выпуске для сборки, а затем распространять сборку соответствующим образом.
App Distribution интегрируется с внутренней службой обмена приложениями Google Play для обработки загружаемых вами AAB и предоставления APK, оптимизированных для конфигураций устройств ваших тестировщиков. Распространение AAB позволяет вам делать следующее:
Запускайте оптимизированные APK-файлы (обслуживаемые Google Play), которые оптимизированы для устройств ваших тестировщиков.
Выявляйте и устраняйте неполадки, характерные для конкретного устройства.
Тестируйте функции пакета приложений, такие как Play Feature Delivery и Play Asset Delivery .
Уменьшите размер загрузок для ваших тестировщиков.
Требуемые разрешения
Чтобы загрузить AAB в App Distribution , необходимо связать приложение Firebase с приложением в Google Play . Для выполнения этих действий у вас должен быть необходимый уровень доступа.
Если у вас нет необходимого доступа к Firebase, вы можете попросить владельца проекта Firebase назначить вам соответствующую роль через настройки IAM консоли Firebase . Если у вас есть вопросы о доступе к вашему проекту Firebase, включая поиск или назначение владельца, ознакомьтесь с часто задаваемыми вопросами «Разрешения и доступ к проектам Firebase» .
Следующая таблица применима к связыванию приложения Firebase с приложением в Google Play , а также к загрузке AAB-файлов.
Действие в консоли Firebase | Требуется разрешение IAM | Роли IAM, включающие требуемые разрешения по умолчанию | Дополнительные требуемые роли |
---|---|---|---|
Свяжите приложение Firebase с приложением в Google Play | firebase.playLinks.update | Одна из следующих ролей: | Доступ к учетной записи разработчика Google Play в качестве администратора |
Загрузите AAB в App Distribution | firebaseappdistro.releases.update | Одна из следующих ролей: | –– |
Прежде чем начать
Если вы еще этого не сделали, добавьте Firebase в свой проект Android . В конце этого рабочего процесса у вас будет приложение Firebase Android в вашем проекте Firebase.
Если вы не используете другие продукты Firebase, вам нужно только создать проект и зарегистрировать свое приложение. Если вы решили использовать дополнительные продукты, обязательно выполните все шаги в разделе Добавить Firebase в свой проект Android .
Чтобы создать ссылку Firebase на Google Play и загрузить AAB, убедитесь, что ваше приложение соответствует следующим требованиям:
Приложение в Google Play и приложение Firebase для Android зарегистрированы с использованием одного и того же имени пакета.
Приложение в Google Play настраивается на панели управления приложением и распространяется по одному из направлений Google Play (внутреннее тестирование, закрытое тестирование, открытое тестирование или производство).
Обзор приложения в Google Play завершен, и приложение опубликовано. Ваше приложение опубликовано, если в столбце «Статус приложения» отображается один из следующих статусов: «Внутреннее тестирование» (не «Черновик внутреннего тестирования»), «Закрытое тестирование», «Открытое тестирование» или «Производство».
Свяжите свое приложение Firebase Android с учетной записью разработчика Google Play:
В консоли Firebase перейдите в свой
На карточке Google Play нажмите ссылку .
Если у вас уже есть ссылки на Google Play, нажмите «Управление» .Следуйте инструкциям на экране, чтобы включить интеграцию App Distribution и выбрать приложения Firebase Android, которые следует связать с Google Play.
Подробнее о привязке к Google Play .
Шаг 1. Создайте свое приложение
Шаг 2. Распространите свое приложение среди тестировщиков
Установите или обновите Firebase CLI до последней версии (мы рекомендуем загрузить автономный двоичный файл для CLI, соответствующий вашей ОС). Обязательно войдите в систему и проверьте, можете ли вы получить доступ к своим проектам. Запустите команду appdistribution:distribute
, чтобы загрузить свое приложение и распространить его среди тестировщиков. Используйте следующие параметры для настройки распространения:appdistribution:параметры распространения --app
Требуется : Firebase App ID вашего приложения. Вы можете найти App ID в консоли Firebase на странице General Settings .
--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.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
- Подписанная ссылка, которая напрямую загружает и устанавливает двоичный файл приложения (файл 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
-
Следующие шаги
Реализуйте функцию обратной связи в приложении , чтобы тестировщикам было проще отправлять отзывы о вашем приложении (включая снимки экрана). Узнайте, как отображать внутри приложения оповещения для тестировщиков о том, что новые сборки вашего приложения доступны для установки. Изучите передовой опыт распространения приложений Android среди тестировщиков QA с использованием CI/CD .