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


В этом руководстве описывается, как распространять пакеты Android App Bundles (AAB) среди тестировщиков с помощью Firebase 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 Одна из следующих ролей: ––

Прежде чем начать

  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. Свяжите свое приложение Firebase для Android с учетной записью разработчика Google Play:

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

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

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

    Подробнее о привязке к Google Play .

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

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

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

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

  1. Установите или обновите Firebase CLI до последней версии (рекомендуем загрузить отдельный исполняемый файл CLI для вашей ОС). Убедитесь, что вы вошли в систему и проверили доступ к своим проектам.
  2. Выполните команду 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 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 рядом с именем тестировщика в релизе появляется уведомление об истечении срока действия. Приглашение можно продлить, отправив его повторно с помощью раскрывающегося меню в строке тестировщика.

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