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 конзоли и не морају бити додати као тестери у 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 програма. Тестери морају бити додати у 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 омогућава аутоматско објављивање нових билдова при сваком комиту у репозиторијум. Подешавањем 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 — је вишeплатформска услуга (Android + iOS), за разлику од TestFlight-а који ради само за iOS. App Distribution се такође интегрише са Crashlytics и Firebase Analytics, пружајући јединствени екосистем за бета тестирање на обe платформe.

Колико дуго се чувају билдови у 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. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође