Firebase App Distribution: ключевые понятия, распространение APK и IPA и настройка

Автор: IT Sectr Опубликовано: 2026-04-29 Время чтения: 8 мин

Firebase App Distribution — это сервис Google для распространения предварительных сборок мобильных приложений среди тестировщиков и внутренних команд без необходимости публиковать их в магазинах приложений. App Distribution предоставляет единый интерфейс для загрузки APK и IPA, управления группами тестировщиков и сбора обратной связи. По данным Firebase Documentation, 2026, сервис автоматически уведомляет тестировщиков о новых версиях через email и push-уведомления, а Fastlane-интеграция позволяет публиковать сборки прямо из CI/CD пайплайна без ручных действий. App Distribution поддерживает как Android (AAB/APK), так и iOS (IPA), включая ad-hoc и enterprise-распространение.

Главное

  • App Distribution — сервис Firebase для распространения бета-версий приложений среди тестировщиков без публикации в Google Play и App Store.
  • Группы тестировщиков — гибкая система управления доступом: создавайте группы по ролям, проектам или этапам тестирования с разными правами на сборки.
  • Авто-уведомления — тестировщики получают email и push-уведомления при каждой новой сборке с ссылкой на установку.
  • Fastlane + Gradle — полная интеграция с CI/CD системами для автоматической публикации сборок при каждом коммите или pull request.
  • Обратная связь — тестировщики могут отправлять скриншоты, логи и комментарии через встроенный интерфейс или Firebase Crashlytics.

Что такое Firebase App Distribution

Firebase App Distribution — это сервис Google для распространения предрелизных версий мобильных приложений среди тестировщиков и заинтересованных сторон. В отличие от публикации в магазинах приложений, App Distribution позволяет доставлять сборки выбранным участникам мгновенно, без длительного процесса ревью. Сервис интегрирован с Firebase Crashlytics, что позволяет разработчикам получать отчёты о крашах непосредственно от тестировщиков и исправлять проблемы до публичного релиза.

Зачем нужен App Distribution

Традиционный процесс распространения бета-версий включает ручную рассылку APK/IPA по email, загрузку на сторонние файлообменники или настройку собственного сервера. Firebase App Distribution решает эти проблемы: единое хранилище сборок на Google Cloud, автоматические уведомления тестировщиков, централизованное управление доступом и встроенная обратная связь через Firebase Crashlytics. Сервис незаменим для команд, практикующих CI/CD и регулярные релизы: новая сборка доступна тестировщикам через минуту после загрузки.

Поддерживаемые форматы сборок

App Distribution поддерживает все стандартные форматы сборок для мобильных платформ. Для Android — APK и Android App Bundle (AAB) с автоматической генерацией APK из AAB при установке. Для iOS — IPA-файлы для ad-hoc, development и enterprise-распространения. Каждая сборка сопровождается релиз-нотами (release notes), номером версии и кодом сборки для отслеживания. Максимальный размер загружаемого файла — 500 MB, срок хранения сборок — 150 дней.

Загрузка сборок и управление версиями

Загрузка сборок в Firebase App Distribution выполняется через Firebase Console, CLI (firebase appdistribution:distribute) или автоматизированные инструменты вроде Fastlane и Gradle. При загрузке указывается версия сборки, релиз-ноты и список тестировщиков или групп, которые должны получить уведомление. Firebase автоматически присваивает сборке уникальный идентификатор и делает её доступной для установки по ссылке.

Управление версиями через Firebase Console

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

Автоматическая загрузка через Firebase CLI

Firebase CLI позволяет загружать сборки одной командой, что удобно для интеграции в CI/CD пайплайны. Команда distribute принимает путь к файлу, токен доступа проекта, список групп тестировщиков и опциональные релиз-ноты. Для аутентификации используется сервисный аккаунт Firebase с ролью Firebase App Distribution Admin. CLI поддерживает как Android, так и iOS сборки, автоматически определяя платформу по расширению файла.

bash
# Загрузка сборки через Firebase CLI
firebase appdistribution:distribute \
    app-release.apk \
    --app 1:123456789:android:abc123def456 \
    --groups "qa-team,product-owners" \
    --release-notes "Исправлен баг с авторизацией" \
    --token "FIREBASE_TOKEN"

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

Firebase App Distribution предоставляет гибкую систему управления тестировщиками: можно добавлять участников по email, создавать группы по ролям или проектам и назначать разные сборки разным группам. При добавлении нового тестировщика система отправляет ему пригласительное письмо с инструкцией по установке приложения. Тестировщики получают автоматические уведомления о каждой новой сборке, назначенной на их группу.

Создание групп тестировщиков

Группы позволяют организовать тестировщиков по функциональному принципу. Примеры групп: QA-команда (полный доступ ко всем сборкам), Product Owners (доступ к стабильным билдам), External Testers (ограниченный доступ для внешних бета-тестеров). Один тестировщик может входить в несколько групп. При загрузке сборки разработчик выбирает целевые группы — уведомления получат только участники выбранных групп, что исключает информационный шум.

Добавление тестировщиков через API

Для добавления тестировщиков программно используется Firebase App Distribution API. API позволяет создавать тестировщиков, добавлять их в группы, а также удалять при необходимости. Это удобно при интеграции с внутренними системами управления тестированием и баг-трекерами. При добавлении тестировщика через API он также получает пригласительное письмо с ссылкой на установку первого приложения.

js
const admin = require("firebase-admin")

const serviceAccount = require("./serviceAccountKey.json")
admin.initializeApp({ credential: admin.credential.cert(serviceAccount) })

async function addTestersToGroup(email, groupAlias) {
    try {
        await admin.appDistribution().addTesters(email, [groupAlias])
        console.log("Тестировщик добавлен в группу")
    } catch (error) {
        console.error("Ошибка:", error)
    }
}

addTestersToGroup("tester@example.com", "qa-team")

Распространение Android-сборок

Распространение Android-сборок через Firebase App Distribution поддерживает два формата: APK и Android App Bundle (AAB). При загрузке AAB Firebase автоматически генерирует APK, совместимый с устройством тестировщика, используя Google Play App Signing. Тестировщики устанавливают приложение по прямой ссылке — им не нужен доступ к Google Play Console, они не должны быть добавлены как тестировщики в Play Console. Это существенно упрощает процесс бета-тестирования для Android.

Требования к Android-сборкам

Для установки через App Distribution тестировщики должны включить установку из неизвестных источников на устройстве. Firebase автоматически генерирует ссылку, ведущую на веб-страницу с кнопкой установки APK. Для AAB-формата требуется, чтобы устройство поддерживало Play Core Library и имело установленный Google Play Store. Firebase рекомендует использовать AAB для финальных версий и APK для быстрых итераций.

Настройка Gradle для App Distribution

Плагин Firebase App Distribution для Gradle позволяет отправлять сборки прямо из задачи Gradle. Настройка включает добавление плагина com.google.firebase.appdistribution, настройку сервисного аккаунта и конфигурацию групп назначения. После настройки задача assembleDistRelease будет собирать приложение и загружать его в Firebase App Distribution одной командой.

groovy
// build.gradle (module: app)
plugins {
    id 'com.android.application'
    id 'com.google.firebase.appdistribution'
}

android { // standard config }

firebaseAppDistribution {
    appId "1:123456789:android:abc123def456"
    serviceCredentialsFile "firebase-sa.json"
    groups "qa-team"
    releaseNotes "Автоматическая сборка"
}

Распространение iOS-сборок

Распространение iOS-сборок через Firebase App Distribution требует дополнительной настройки, так как Apple ограничивает установку приложений вне App Store. Для распространения iOS-приложений необходимо использовать ad-hoc или enterprise-сертификаты Apple Developer Program. Тестировщики должны быть добавлены в Apple Developer Portal как устройства для ad-hoc распространения, либо использовать enterprise-распространение без ограничения по устройствам.

Настройка ad-hoc распространения

Для ad-hoc распространения необходимо собрать UDID всех устройств тестировщиков и добавить их в Apple Developer Portal. Firebase App Distribution показывает тестировщикам инструкцию по поиску UDID и автоматически сохраняет зарегистрированные устройства. После добавления UDID в provisioning profile и сборки IPA тестировщики получают ссылку на установку. Firebase рекомендует использовать enterprise-сертификат для проектов с большим количеством тестировщиков, так как ad-hoc ограничен 100 устройствами на аккаунт.

Сборка IPA через Fastlane

Fastlane — рекомендуемый инструмент для автоматизации сборки iOS-приложений. Lane match управляет сертификатами и provisioning profiles, а lane sigh создаёт IPA для распространения. Firebase App Distribution интегрируется с Fastlane через плагин firebase_app_distribution, который загружает IPA и уведомляет тестировщиков. Fastlane также поддерживает управление версиями и релиз-нотами через дополнительные плагины.

ruby
# Fastfile
lane :beta do
    match(type: :adhoc)
    gym(scheme: "MyApp", export_method: "ad-hoc")
    firebase_app_distribution(
        app: "1:123456789:ios:abc123def456",
        groups: "qa-team",
        release_notes: "Билд от #\{Time.now.strftime
            ('%Y-%m-%d %H:%M')}"
    )
end

Интеграция с CI/CD и Fastlane

Полная интеграция Firebase App Distribution с CI/CD позволяет автоматически публиковать новые сборки при каждом коммите в репозиторий. Настроив CI-пайплайн, команда получает мгновенную обратную связь от тестировщиков через несколько минут после пуша кода. App Distribution поддерживает все популярные CI-системы: GitHub Actions, GitLab CI, Jenkins, Bitrise и CircleCI. Для каждой платформы требуется своя конфигурация, но общий принцип одинаков: сборка → загрузка → уведомление.

Настройка через GitHub Actions

GitHub Actions позволяет настроить автоматическое распространение сборок при пуше в ветку develop или создании pull request. Workflow включает установку Java/Flutter/Node.js, сборку приложения, аутентификацию через Firebase Service Account и запуск Firebase CLI с командой distribute. Секреты (токены, сервисные аккаунты) хранятся в GitHub Secrets и не раскрываются в логах сборки. Для iOS дополнительно требуется настройка Xcode и установка Fastlane в workflow.

yaml
# .github/workflows/distribute.yml
name: Distribute to Firebase
on:
  push: { branches: [ develop ] }
jobs:
  build-and-distribute:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Java
        uses: actions/setup-java@v3
        with: { distribution: "temurin", java-version: "17" }
      - name: Build APK
        run: ./gradlew assembleDebug
      - name: Upload to Firebase
        uses: wzieba/Firebase-Distribution-GitHub-Action@v1
        with:
          appId: "${{ secrets.FIREBASE_APP_ID }}"
          serviceCredentialsFileContent: "${{ secrets.FIREBASE_SA_KEY }}"
          groups: qa-team
          file: app/build/outputs/apk/debug/app-debug.apk

Сбор обратной связи

Firebase App Distribution интегрируется с Firebase Crashlytics для автоматического сбора отчётов о крашах от тестировщиков. Crashlytics автоматически привязывает краш к конкретной версии сборки и устройству, что помогает быстро локализовать и исправить проблему. Тестировщики также могут отправлять скриншоты и комментарии через веб-интерфейс App Distribution, получая ссылку на форму обратной связи после установки сборки.

Часто задаваемые вопросы

Чем App Distribution отличается от TestFlight?

Firebase App Distribution — кроссплатформенный сервис (Android + iOS), в отличие от TestFlight, который работает только для iOS. App Distribution также интегрируется с Crashlytics и Firebase Analytics, предоставляя единую экосистему для бета-тестирования на обеих платформах.

Как долго хранятся сборки в App Distribution?

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

Сколько тестировщиков можно добавить?

Ограничения нет на количество тестировщиков в Firebase App Distribution. Для iOS ad-hoc распространения действует лимит Apple в 100 устройств на аккаунт. Для Android и iOS enterprise-распространения ограничений по количеству тестировщиков нет.

Можно ли загружать AAB вместо APK для Android?

Да, App Distribution поддерживает AAB (Android App Bundle). Firebase автоматически генерирует APK из AAB для каждого устройства тестировщика с помощью Google Play App Signing. Это особенно удобно для тестирования перед публикацией в Play Store.

Бесплатен ли Firebase App Distribution?

Да, App Distribution входит в бесплатный Spark-план Firebase. Ограничения Spark: до 500 тестировщиков и 25 000 установок в месяц на проект. Blaze-план снимает эти ограничения и добавляет приоритетную поддержку.

Итоги

  • Firebase App Distribution — сервис для распространения бета-сборок мобильных приложений с поддержкой Android (APK/AAB) и iOS (IPA) без публикации в магазинах.
  • Управление тестировщиками — гибкая система групп с автоматическими уведомлениями по email и push при каждой новой сборке.
  • Загрузка сборок выполняется через Firebase Console, CLI, Gradle-плагин или Fastlane с автоматическим уведомлением тестировщиков.
  • Android-сборки поддерживают APK и AAB с автоматической генерацией APK из AAB, установка по прямой ссылке без Google Play Console.
  • iOS-сборки требуют ad-hoc или enterprise-сертификата Apple, с поддержкой UDID-регистрации и Fastlane для автоматизации сборки IPA.
  • CI/CD интеграция — GitHub Actions, GitLab CI, Jenkins, Bitrise с Firebase CLI или Fastlane для автоматической публикации при каждом пуше.
  • Бесплатно до 500 тестировщиков и 25 000 установок в месяц, сборки хранятся 150 дней, интегрирован с Firebase Crashlytics для сбора отчётов о крашах.

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также