Firebase App Distribution — je služba Google pro distribuci předběžných sestavení mobilních aplikací mezi testery a interní týmy bez nutnosti publikovat je v obchodech s aplikacemi. App Distribution poskytuje jednotné rozhraní pro nahrávání APK a IPA, správu skupin testerů a sběr zpětné vazby. Podle Firebase Documentation, 2026, služba automaticky upozorňuje testery na nové verze e-mailem a push notifikacemi, a integrace Fastlane umožňuje publikovat sestavení přímo z CI/CD pipeline bez ručních akcí. App Distribution podporuje Android (AAB/APK) i iOS (IPA), včetně ad-hoc a enterprise distribuce.
Hlavní body
Firebase App Distribution — je služba Google pro distribuci předvydáních verzí mobilních aplikací mezi testery a zainteresované strany. Na rozdíl od publikování v obchodech s aplikacemi, App Distribution umožňuje okamžité doručení sestavení vybraným účastníkům bez dlouhého procesu recenzování. Služba je integrována s Firebase Crashlytics, což vývojářům umožňuje přijímat zprávy o pádech přímo od testerů a opravovat problémy před veřejným vydáním.
Tradiční proces distribuce beta verzí zahrnuje ruční zasílání APK/IPA e-mailem, nahrávání na externí souborové servery nebo nastavení vlastního serveru. Firebase App Distribution řeší tyto problémy: jednotné úložiště sestavení v Google Cloud, automatická upozornění testerů, centralizovaná správa přístupu a vestavěná zpětná vazba přes Firebase Crashlytics. Služba je nepostradatelná pro týmy praktikující CI/CD a pravidelné vydávání: nové sestavení je testerům k dispozici minutu po nahrání.
App Distribution podporuje všechny standardní formáty sestavení pro mobilní platformy. Pro Android — APK a Android App Bundle (AAB) s automatickým generováním APK z AAB při instalaci. Pro iOS — IPA soubory pro ad-hoc, development a enterprise distribuci. Každé sestavení je doprovázeno poznámkami k vydání (release notes), číslem verze a kódem sestavení pro sledování. Maximální velikost nahrávaného souboru je 500 MB, doba uchovávání sestavení je 150 dní.
Nahrávání sestavení do Firebase App Distribution probíhá přes Firebase Console, CLI (firebase appdistribution:distribute) nebo automatizované nástroje jako Fastlane a Gradle. Při nahrávání se uvádí verze sestavení, poznámky k vydání a seznam testerů nebo skupin, které by měly dostat upozornění. Firebase automaticky přidělí sestavení jedinečný identifikátor a zpřístupní jej k instalaci přes odkaz.
Firebase Console poskytuje webové rozhraní pro nahrávání sestavení a správu verzí. V konzoli se zobrazuje historie všech nahraných sestavení s datem, verzí, stavem a počtem instalací. Vývojář může deaktivovat konkrétní verzi, pokud je v ní nalezena kritická chyba — tím se zablokuje možnost instalace verze pro všechny testery. Konzole také zobrazuje graf instalací podle dnů, což pomáhá sledovat aktivitu testování.
Firebase CLI umožňuje nahrávat sestavení jedním příkazem, což je vhodné pro integraci do CI/CD pipeline. Příkaz distribute přijímá cestu k souboru, token přístupu k projektu, seznam skupin testerů a volitelné poznámky k vydání. Pro autentizaci se používá servisní účet Firebase s rolí Firebase App Distribution Admin. CLI podporuje sestavení Android i iOS, automaticky určující platformu podle přípony souboru.
# Nahrání sestavení přes Firebase CLI
firebase appdistribution:distribute \
app-release.apk \
--app 1:123456789:android:abc123def456 \
--groups "qa-team,product-owners" \
--release-notes "Opravena chyba autorizace" \
--token "FIREBASE_TOKEN"
Firebase App Distribution poskytuje flexibilní systém správy testerů: účastníky lze přidávat e-mailem, vytvářet skupiny podle rolí nebo projektů a přiřazovat různá sestavení různým skupinám. Při přidání nového testera mu systém pošle pozvánku e-mailem s instrukcemi k instalaci aplikace. Testeři dostávají automatická upozornění o každém novém sestavení přiřazeném jejich skupině.
Skupiny umožňují organizovat testery podle funkčního principu. Příklady skupin: QA tým (plný přístup ke všem sestavením), Product Owners (přístup ke stabilním sestavením), External Testers (omezený přístup pro externí beta testery). Jeden tester může být členem více skupin. Při nahrávání sestavení vývojář vybere cílové skupiny — upozornění obdrží pouze členové vybraných skupin, což eliminuje informační šum.
Pro programové přidávání testerů se používá Firebase App Distribution API. API umožňuje vytvářet testery, přidávat je do skupin a v případě potřeby mazat. To je vhodné při integraci s interními systémy pro správu testování a bug trackery. Při přidání testera přes API také obdrží pozvánku e-mailem s odkazem na instalaci první aplikace.
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("Tester přidán do skupiny")
} catch (error) {
console.error("Chyba:", error)
}
}
addTestersToGroup("tester@example.com", "qa-team")
Distribuce sestavení Android přes Firebase App Distribution podporuje dva formáty: APK a Android App Bundle (AAB). Při nahrávání AAB Firebase automaticky generuje APK kompatibilní se zařízením testera pomocí Google Play App Signing. Testeři instalují aplikaci přes přímý odkaz — nepotřebují přístup do Google Play Console a nemusí být přidáni jako testeři v Play Console. To výrazně zjednodušuje proces beta testování pro Android.
Pro instalaci přes App Distribution musí testeři povolit instalaci z neznámých zdrojů na zařízení. Firebase automaticky generuje odkaz na webovou stránku s tlačítkem pro instalaci APK. Pro formát AAB musí zařízení podporovat Play Core Library a mít nainstalovaný Google Play Store. Firebase doporučuje používat AAB pro finální verze a APK pro rychlé iterace.
Plugin Firebase App Distribution pro Gradle umožňuje odesílat sestavení přímo z úlohy Gradle. Konfigurace zahrnuje přidání pluginu com.google.firebase.appdistribution, konfiguraci servisního účtu a nastavení cílových skupin. Po konfiguraci bude úloha assembleDistRelease sestavovat aplikaci a nahrávat ji do Firebase App Distribution jedním příkazem.
// 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 "Automatické sestavení"
}
Distribuce sestavení iOS přes Firebase App Distribution vyžaduje dodatečnou konfiguraci, protože Apple omezuje instalaci aplikací mimo App Store. Pro distribuci iOS aplikací je nutné použít ad-hoc nebo enterprise certifikáty z Apple Developer Programu. Testeři musí být přidáni do Apple Developer Portal jako zařízení pro ad-hoc distribuci nebo používat enterprise distribuci bez omezení na zařízení.
Pro ad-hoc distribuci je třeba shromáždit UDID všech zařízení testerů a přidat je do Apple Developer Portal. Firebase App Distribution zobrazuje testerům instrukce pro nalezení UDID a automaticky ukládá registrovaná zařízení. Po přidání UDID do provisioning profile a sestavení IPA obdrží testeři odkaz na instalaci. Firebase doporučuje používat enterprise certifikát pro projekty s velkým počtem testerů, protože ad-hoc je omezen na 100 zařízení na účet.
Fastlane — doporučený nástroj pro automatizaci sestavování iOS aplikací. Lane match spravuje certifikáty a provisioning profile, lane sigh vytváří IPA pro distribuci. Firebase App Distribution se integruje s Fastlane přes plugin firebase_app_distribution, který nahraje IPA a upozorní testery. Fastlane také podporuje správu verzí a poznámek k vydání pomocí dalších pluginů.
# 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: "Sestavení z #\{Time.now.strftime
('%Y-%m-%d %H:%M')}"
)
end
Plná integrace Firebase App Distribution s CI/CD umožňuje automatické publikování nových sestavení při každém commitu do repozitáře. Nastavením CI pipeline získává tým okamžitou zpětnou vazbu od testerů během několika minut po pushování kódu. App Distribution podporuje všechny populární CI systémy: GitHub Actions, GitLab CI, Jenkins, Bitrise a CircleCI. Pro každou platformu je vyžadována vlastní konfigurace, ale obecný princip je stejný: sestavení → nahrání → upozornění.
GitHub Actions umožňuje nastavit automatickou distribuci sestavení při pushi do větve develop nebo vytvoření pull requestu. Workflow zahrnuje instalaci Java/Flutter/Node.js, sestavení aplikace, autentizaci přes Firebase Service Account a spuštění Firebase CLI s příkazem distribute. Tajemství (tokeny, servisní účty) jsou uložena v GitHub Secrets a nejsou odhalena v logách sestavení. Pro iOS je navíc vyžadována konfigurace Xcode a instalace Fastlane ve workflow.
# .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 se integruje s Firebase Crashlytics pro automatický sběr zpráv o pádech od testerů. Crashlytics automaticky přiřazuje pád ke konkrétní verzi sestavení a zařízení, což pomáhá rychle lokalizovat a opravit problém. Testeři mohou také posílat snímky obrazovky a komentáře přes webové rozhraní App Distribution a po instalaci sestavení obdrží odkaz na formulář zpětné vazby.
Často kladené otázky
Firebase App Distribution — je multiplatformní služba (Android + iOS), na rozdíl od TestFlight, který funguje pouze pro iOS. App Distribution se také integruje s Crashlytics a Firebase Analytics a poskytuje jednotný ekosystém pro beta testování na obou platformách.
Sestavení se uchovávají 150 dní od okamžiku nahrání. Po této lhůtě jsou automaticky smazána. Doporučuje se pravidelně nahrávat nová sestavení a ručně mazat zastaralá přes Firebase Console, aby testeři neinstalovali staré verze.
Neexistuje omezení počtu testerů v Firebase App Distribution. Pro iOS ad-hoc distribuci platí Apple limit 100 zařízení na účet. Pro Android a iOS enterprise distribuci neexistují omezení počtu testerů.
Ano, App Distribution podporuje AAB (Android App Bundle). Firebase automaticky generuje APK z AAB pro každé zařízení testera pomocí Google Play App Signing. To je obzvláště vhodné pro testování před publikováním v Play Store.
Ano, App Distribution je součástí bezplatného Spark plánu Firebase. Omezení Spark: až 500 testerů a 25 000 instalací měsíčně na projekt. Blaze plán tato omezení odstraňuje a přidává prioritní podporu.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také