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


В этом руководстве описано, как распространять APK-файлы среди тестировщиков с помощью Firebase CLI. Инструмент CLI позволяет указать тестировщиков и примечания к выпуску для сборки, а затем распространяет сборку соответствующим образом.

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

Если вы еще этого не сделали, добавьте Firebase в свой Android-проект .

If you aren't using any other Firebase products, you only have to create a project and register your app. However, if you decide to use additional products in the future, be sure to complete all of the steps on the page linked above.

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

Когда вы будете готовы распространить предварительную версию своего приложения среди тестировщиков, соберите APK-файл, используя обычный процесс. Вам необходимо подписать APK-файл с помощью ключа отладки или ключа подписи приложения.

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

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

  1. Установите или обновите Firebase CLI до последней версии (рекомендуется загрузить автономный исполняемый файл CLI, соответствующий вашей операционной системе). Убедитесь, что вы вошли в систему и проверили доступ к своим проектам.
  2. Выполните команду appdistribution:distribute , чтобы загрузить ваше приложение и распространить его среди тестировщиков. Используйте следующие параметры для настройки распространения:

    appdistribution:distribute options
    --app

    Required : Your app's Firebase App ID. You can find the App ID in the Firebase console, on the General Settings page .

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    A refresh token that's printed when you authenticate your CI environment with the Firebase CLI (read Use the CLI with CI systems for more information).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    Примечания к выпуску этой сборки.

    You can either specify the release notes directly:

    --release-notes "Text of release notes"

    Или укажите путь к текстовому файлу:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    The email addresses of the testers you want to invite.

    You can specify the testers as a comma-separated list of email addresses:

    --testers "ali@example.com, bri@example.com, cal@example.com"

    Или же вы можете указать путь к текстовому файлу, содержащему список адресов электронной почты, разделенных запятыми:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    The tester groups you want to invite (refer to Manage testers ). Groups are specified using псевдонимы групп , которую вы можете найти в консоли Firebase .

    You can specify the groups as a comma-separated list:

    --groups "qa-team, trusted-testers"

    Or, you can specify the path to a plain text file containing a comma-separated list of group names:

    --groups-file "/path/to/groups.txt"
    --debug

    A flag you can include to print verbose log output.

    --test-devices
    --test-devices-file

    The test devices you want to run App Testing agent tests on.

    You can specify the test devices as a semicolon-separated list of device specifications:

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait"

    Или же вы можете указать путь к текстовому файлу, содержащему список тестовых устройств, разделенных точкой с запятой:

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    The username for automatic login to be used during App Testing agent tests.

    --test-password
    --test-password-file

    The password for automatic login to be used during App Testing agent tests.

    Или же вы можете указать путь к текстовому файлу, содержащему пароль:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    Resource name for the username field for automatic login to be used during App Testing agent tests.

    --test-password-resource

    Resource name for the password field for automatic login to be used during App Testing agent tests.

    --test-non-blocking

    Если этот флаг установлен при запуске тестов агента App Testing , команда запустит тесты и немедленно вернет управление, не дожидаясь их завершения. Чтобы просмотреть результаты тестов, перейдите в консоль Firebase. Если этот флаг не установлен, команда будет блокироваться до завершения тестов и завершится с кодом ошибки, если какой-либо из тестов завершится неудачей.

    Например:

    firebase appdistribution:distribute test.apk  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    The Firebase CLI outputs the following links after the release upload. These links help you manage binaries and ensure that testers and other developers have the right release:

    • firebase_console_uri — ссылка на консоль Firebase , отображающую отдельный релиз. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.
    • testing_uri — ссылка на релиз в среде тестирования (нативное приложение Android), позволяющая тестировщикам просматривать примечания к релизу и устанавливать приложение на свое устройство. Для использования ссылки тестировщику необходим доступ к релизу.
    • binary_download_uri - A signed link that directly downloads and installs the app binary (APK or AAB file) . The link expires after one hour.

    Управление тестировщиками и группами.

    Помимо распространения релизов, вы также можете использовать 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

    Tester emails must be separated by a space. You can also specify testers using --file /path/to/testers.txt .

    Если у вас большое количество тестировщиков, вам следует рассмотреть возможность использования групп: вы можете использовать appdistribution:group:create и appdistribution:group:delete для создания или удаления групп в вашем проекте Firebase.

    Use --group-alias to specify a group for the appdistribution:testers:add and appdistribution:testers:remove commands.

    Например:

    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 рядом с именем тестировщика в релизе появляется уведомление об истечении срока действия. Приглашение можно продлить, отправив его повторно с помощью выпадающего меню в строке с именем тестировщика.

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