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

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

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

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

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

  • Протестируйте функции пакета приложений, такие как доставка функций Play и доставка ресурсов Play .

  • Уменьшите размер загрузок для ваших тестировщиков.

Требуемые разрешения

Чтобы загрузить 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 в систему распространения приложений firebaseappdistro.releases.update Одна из следующих ролей: ––

Прежде чем вы начнете

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

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

  2. Чтобы создать ссылку Firebase на Google Play и загрузить файлы AAB, убедитесь, что ваше приложение соответствует следующим требованиям:

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

    • Приложение в Google Play настраивается на панели приложения и распространяется на один из треков Google Play (Внутреннее тестирование, Закрытое тестирование, Открытое тестирование или Производство).

    • Проверка приложения в Google Play завершена и приложение опубликовано. Ваше приложение опубликовано, если в столбце Статус приложения отображается один из следующих статусов: Внутреннее тестирование (не черновое внутреннее тестирование), Закрытое тестирование, Открытое тестирование или Производство.

  3. Свяжите свое Android-приложение Firebase со своей учетной записью разработчика Google Play:

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

    2. На карточке Google Play нажмите «Ссылка» .
      Если у вас уже есть ссылки на Google Play, вместо этого нажмите «Управление» .

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

    Узнайте больше о привязке к Google Play .

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

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

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

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

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

    appdistribution: параметры распространения
    --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.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
    

Как только вы распространите свою сборку, она станет доступна на панели распространения приложений консоли Firebase на 150 дней (пять месяцев). Когда до истечения срока действия сборки остается 30 дней, уведомление об истечении срока действия появляется как на консоли, так и в списке сборок вашего тестировщика на его тестовом устройстве.

Тестировщики, которых не пригласили протестировать приложение, получают по электронной почте приглашения начать работу, а существующие тестировщики получают уведомления по электронной почте о том, что новая сборка готова к тестированию (инструкции по установке тестового приложения см. в руководстве по настройке тестировщика ). Вы можете отслеживать статус каждого тестировщика — приняли ли они приглашение и загрузили ли приложение — в консоли Firebase.

У тестировщиков есть 30 дней, чтобы принять приглашение протестировать приложение до истечения срока его действия. Когда до истечения срока действия приглашения остается 5 дней, в консоли Firebase рядом с тестером в выпуске появляется уведомление об истечении срока действия. Приглашение можно продлить, отправив его повторно с помощью раскрывающегося меню в строке тестера.

Следующие шаги