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

Это руководство описывает , как распределить AAB строит тестеры с использованием FastLane , платформы с открытым кодом , которая автоматизирует и строит рилизинг IOS и Android приложений. Из этого следует , простые инструкции , определенные в Fastfile . После того, как вы создали FastLane и ваш Fastfile , вы можете интегрировать App Distribution с FastLane конфигурации.

Для того, чтобы следовать этому руководству, вам нужно следующие условия: доступ к проекту Firebase ( Владелец или Firebase Администратор ), доступ к учетной записи Google Play для разработчиков ( владелец или администратор ), и приложение , которое в опубликованном состоянии в Google Play.

О распространении наборов приложений Android

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

  • Запускайте оптимизированные APK-файлы (обслуживаемые Google Play), оптимизированные для устройств ваших тестировщиков.
  • Выявление и отладка проблем, связанных с конкретным устройством.
  • Тест приложение расслоение функции , такие как Play Feature Доставка и Play активов Доставки
  • Уменьшите размер загрузок для ваших тестеров.

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

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

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

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

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

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

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

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

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

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

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

    Узнайте больше о ссылках на Google Play .

Шаг 1. Настройте fastlane

  1. Установка и настройка FastLane .

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

    fastlane add_plugin firebase_app_distribution

    Если команда предложит вам вариант, выберите Option 3: RubyGems.org .

Шаг 2. Выполните аутентификацию с помощью Firebase

Прежде чем вы сможете использовать плагин Fastlane, вы должны сначала пройти аутентификацию в своем проекте Firebase. Этого можно добиться тремя способами:

Шаг 3. Настройте Fastfile и распространите приложение.

  1. В ./fastlane/Fastfile полосу, добавить firebase_app_distribution блок. Используйте следующие параметры для настройки раздачи:
    параметры firebase_app_distribution
    app

    Требуется: Ваше приложение в Firebase App ID. Вы можете найти идентификатор приложения в Firebase консоли, на странице Общих настроек .

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    Освежать маркер , который печатается при запуске входа в действие плагина (см Аутентифицировать с помощью учетной записи Google , выше), или при аутентификации среды CI с Firebase CLI (прочитанной Используйте CLI с системами CI для получения дополнительной информации).

    service_credentials_file

    Путь к json-файлу вашей учетной записи службы Google. Смотрите выше , как проверить подлинность с помощью учетных записей служб .

    android_artifact_type

    Указывает тип файла Android (APK или AAB).

    android_artifact_path

    Взамен apk_path (устаревшее). Абсолютный путь к файлу APK или AAB, который вы хотите загрузить. Если не указано иное, fastlane определяет местоположение файла по полосе, в которой файл был сгенерирован.

    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

    Логический флаг. Вы можете установить это true для печати многословной отладочного вывода.

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(task: "bundle", ...)
        # build_android_app is a built-in fastlane action.
        firebase_app_distribution(
            app: "1:123456789:android:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!",
            android_artifact_type: "AAB"
        )
    end
end

Для того, чтобы сделать сборку доступной для тестировщиков, запустить полосу:

fastlane <lane>

После распространения сборки она будет доступна на панели управления распространением приложений консоли Firebase в течение 150 дней. Когда срок действия сборки истекает через 30 дней, в консоли и в списке сборок тестировщика на их тестовом устройстве отображается уведомление об истечении срока действия.

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

(Необязательно) Чтобы автоматически увеличивать свой номер сборки каждый раз , когда вы создаете новый выпуск в App Distribution, вы можете использовать firebase_app_distribution_get_latest_release действие и, например, increment_version_code Fastlane плагин . Следующий код представляет собой пример того, как автоматически увеличивать номер сборки:

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end

Чтобы узнать больше о firebase_app_distribution_get_latest_release действия см Получить информацию о последней версии вашего приложения .

Шаг 4 (необязательно). Управление тестировщиками для распространения

Вы можете добавлять и удалять тестировщик из вашего выпуска приложения с помощью Fastfile файла или непосредственно работает FastLane действия. Выполнение действий непосредственно переопределяет значения , установленные в вашем Fastfile .

Как только тестировщик добавлен в ваш проект Firebase, вы можете добавлять его в отдельные выпуски. Тестировщики, удаленные из вашего проекта Firebase, больше не имеют доступа к выпускам в вашем проекте, но они могут сохранить доступ к вашим выпускам в течение определенного периода времени.

Использование Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Выполняйте действия на скоростной полосе

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

Можно также указать тестеры с помощью --file="/path/to/testers.txt вместо --emails .

В firebase_app_distribution_add_testers и firebase_app_distribution_remove_testers задачи также принимает следующие аргументы:

  • project_name : Ваш Firebase номер проекта.
  • service_credentials_file : Путь к файлу мандатной службы Google.
  • firebase_cli_token : Auth маркер для Firebase CLI.

service_credentials_file и firebase_cli_token являются одними и теми же аргументами , используемых действиями загрузки.

Шаг 5 (необязательно). Получите информацию о последней версии вашего приложения

Вы можете использовать firebase_app_distribution_get_latest_release действие для извлечения информации о последней версии вашего приложения в App Distribution, включая информацию версии приложения, примечание к выпуску, и время создания. Сценарии использования включают автоматическое увеличение версии и перенос примечаний к выпуску из предыдущего выпуска.

Возвращаемое значение действия - это хэш, представляющий последнюю версию. Этот хэш также доступны с помощью lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] . Для получения дополнительной информации о доступных полей в этом хэше см документации по API REST .

Параметры

параметры firebase_app_distribution_get_latest_release
app

Требуется: Ваше приложение в Firebase App ID. Вы можете найти идентификатор приложения в Firebase консоли, на странице Общих настроек .

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

Освежать маркер , который печатается при запуске входа в действие плагина (см Аутентифицировать с помощью учетной записи Google , выше), или при аутентификации среды CI с Firebase CLI (прочитанной Используйте CLI с системами CI для получения дополнительной информации).

service_credentials_file

Путь к json-файлу вашей учетной записи службы Google. Смотрите выше , как проверить подлинность с помощью учетных записей служб .

debug

Логический флаг. Вы можете установить это true для печати многословной отладочного вывода.