В этом руководстве описывается, как распространять 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. Создайте свое приложение
Когда вы будете готовы распространить предварительную версию своего приложения среди тестировщиков, создайте AAB (инструкции см. в документации Android Studio ).
Шаг 2. Распространите свое приложение среди тестировщиков
Чтобы распространить приложение среди тестировщиков, загрузите файл приложения с помощью Firebase CLI:
- Установите или обновите 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
-
После того, как вы распространите свою сборку, она станет доступна на панели App Distribution консоли Firebase в течение 150 дней (пяти месяцев). Когда до истечения срока действия сборки останется 30 дней, уведомление об истечении срока действия появится как в консоли, так и в списке сборок вашего тестировщика на его тестовом устройстве.
Тестировщики, которые не были приглашены для тестирования приложения, получают приглашения по электронной почте для начала работы, а существующие тестировщики получают уведомления по электронной почте о том, что новая сборка готова к тестированию (прочитайте руководство по настройке тестировщика для получения инструкций по установке тестового приложения). Вы можете отслеживать статус каждого тестировщика — приняли ли они приглашение и загрузили ли они приложение — в консоли Firebase .
У тестировщиков есть 30 дней, чтобы принять приглашение на тестирование приложения, прежде чем истечет его срок действия. Когда до истечения срока действия приглашения остается 5 дней, в консоли Firebase рядом с тестировщиком в релизе появляется уведомление об истечении срока действия. Приглашение можно продлить, отправив его повторно с помощью раскрывающегося меню в строке тестировщика.
Следующие шаги
Реализуйте функцию обратной связи в приложении , чтобы тестировщикам было проще отправлять отзывы о вашем приложении (включая снимки экрана).
Узнайте, как отображать внутри приложения оповещения для тестировщиков о том, что новые сборки вашего приложения доступны для установки.
Изучите передовой опыт распространения приложений Android среди тестировщиков QA с использованием CI/CD .