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 електронною поштою, завантаження на сторонні файлообмінники або налаштування власного сервера. 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-поширення. Кожна збірка супроводжується реліз-нотами, номером версії та кодом збірки для відстеження. Максимальний розмір файлу, що завантажується — 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 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

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