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

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

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

Основни точки

  • App Distribution — услуга на Firebase за разпространение на бета версии на приложения сред тестери без публикуване в Google Play и App Store.
  • Групи от тестери — гъвкава система за управление на достъпа: създавайте групи по роли, проекти или етапи на тестване с различни права за сборки.
  • Автоматични известия — тестерите получават имейл и push известия при всяка нова сборка с линк за инсталиране.
  • Fastlane + Gradle — пълна интеграция с CI/CD системи за автоматично публикуване на сборки при всеки commit или 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 разпространение. Всяка сборка е придружена от бележки към изданието (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 предоставя гъвкава система за управление на тестери: участниците могат да се добавят чрез имейл, групи могат да се създават по роли или проекти и различни сборки могат да се присвояват на различни групи. При добавяне на нов тестер системата му изпраща покана по имейл с инструкции за инсталиране на приложението. Тестерите получават автоматични известия за всяка нова сборка, присвоена на тяхната група.

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

Групите позволяват организиране на тестери по функционален принцип. Примери за групи: 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 profile-и, а 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 позволява автоматично публикуване на нови сборки при всеки commit в хранилището. Чрез настройване на 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) без публикуване в магазини.
  • Управление на тестери — гъвкава система от групи с автоматични имейл и 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 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също