Firebase App Distribution: kluczowe pojęcia, dystrybucja APK i IPA oraz konfiguracja

Autor: IT Sectr Opublikowano: 2026-04-29 Czas czytania: 8 min

Firebase App Distribution — to usługa Google do dystrybucji wstępnych kompilacji aplikacji mobilnych wśród testerów i zespołów wewnętrznych bez konieczności publikowania ich w sklepach z aplikacjami. App Distribution zapewnia jednolity interfejs do przesyłania APK i IPA, zarządzania grupami testerów i zbierania opinii. Według Firebase Documentation, 2026, usługa automatycznie powiadamia testerów o nowych wersjach przez e-mail i powiadomienia push, a integracja Fastlane umożliwia publikowanie kompilacji bezpośrednio z potoku CI/CD bez ręcznych działań. App Distribution obsługuje zarówno Android (AAB/APK), jak i iOS (IPA), w tym dystrybucję ad-hoc i enterprise.

Najważniejsze

  • App Distribution — usługa Firebase do dystrybucji wersji beta aplikacji wśród testerów bez publikowania w Google Play i App Store.
  • Grupy testerów — elastyczny system zarządzania dostępem: twórz grupy według ról, projektów lub etapów testowania z różnymi uprawnieniami do kompilacji.
  • Automatyczne powiadomienia — testerzy otrzymują e-mail i powiadomienia push przy każdej nowej kompilacji z linkiem do instalacji.
  • Fastlane + Gradle — pełna integracja z systemami CI/CD do automatycznej publikacji kompilacji przy każdym commicie lub pull requeście.
  • Opinie — testerzy mogą przesyłać zrzuty ekranu, logi i komentarze przez wbudowany interfejs lub Firebase Crashlytics.

Czym jest Firebase App Distribution

Firebase App Distribution — to usługa Google do dystrybucji przedpremierowych wersji aplikacji mobilnych wśród testerów i zainteresowanych stron. W przeciwieństwie do publikacji w sklepach z aplikacjami, App Distribution umożliwia dostarczanie kompilacji wybranym uczestnikom natychmiast, bez długotrwałego procesu recenzji. Usługa jest zintegrowana z Firebase Crashlytics, co pozwala programistom otrzymywać raporty o awariach bezpośrednio od testerów i naprawiać problemy przed publicznym wydaniem.

Po co potrzebny jest App Distribution

Tradycyjny proces dystrybucji wersji beta obejmuje ręczne rozsyłanie APK/IPA e-mailem, przesyłanie na zewnętrzne serwery plików lub konfigurację własnego serwera. Firebase App Distribution rozwiązuje te problemy: centralne repozytorium kompilacji w Google Cloud, automatyczne powiadomienia testerów, scentralizowane zarządzanie dostępem i wbudowana informacja zwrotna przez Firebase Crashlytics. Usługa jest niezbędna dla zespołów praktykujących CI/CD i regularne wydania: nowa kompilacja jest dostępna dla testerów w minutę po przesłaniu.

Obsługiwane formaty kompilacji

App Distribution obsługuje wszystkie standardowe formaty kompilacji dla platform mobilnych. Dla Androida — APK i Android App Bundle (AAB) z automatycznym generowaniem APK z AAB podczas instalacji. Dla iOS — pliki IPA do dystrybucji ad-hoc, development i enterprise. Każdej kompilacji towarzyszą notatki wydania (release notes), numer wersji i kod kompilacji do śledzenia. Maksymalny rozmiar przesyłanego pliku to 500 MB, okres przechowywania kompilacji — 150 dni.

Przesyłanie kompilacji i zarządzanie wersjami

Przesyłanie kompilacji do Firebase App Distribution odbywa się przez Firebase Console, CLI (firebase appdistribution:distribute) lub zautomatyzowane narzędzia takie jak Fastlane i Gradle. Podczas przesyłania podaje się wersję kompilacji, notatki wydania oraz listę testerów lub grup, które powinny otrzymać powiadomienie. Firebase automatycznie przypisuje kompilacji unikalny identyfikator i udostępnia ją do instalacji pod linkiem.

Zarządzanie wersjami przez Firebase Console

Firebase Console udostępnia interfejs webowy do przesyłania kompilacji i zarządzania wersjami. W konsoli wyświetlana jest historia wszystkich przesłanych kompilacji z datą, wersją, statusem i liczbą instalacji. Programista może wyłączyć konkretną wersję, jeśli wykryto w niej krytyczny błąd — zablokuje to możliwość instalacji wersji dla wszystkich testerów. Konsola pokazuje również wykres instalacji według dni, co pomaga śledzić aktywność testowania.

Automatyczne przesyłanie przez Firebase CLI

Firebase CLI umożliwia przesyłanie kompilacji jednym poleceniem, co jest wygodne do integracji z potokami CI/CD. Polecenie distribute przyjmuje ścieżkę do pliku, token dostępu projektu, listę grup testerów i opcjonalne notatki wydania. Do uwierzytelniania używane jest konto usługowe Firebase z rolą Firebase App Distribution Admin. CLI obsługuje zarówno kompilacje Androida, jak i iOS, automatycznie określając platformę na podstawie rozszerzenia pliku.

bash
# Przesyłanie kompilacji przez Firebase CLI
firebase appdistribution:distribute \
    app-release.apk \
    --app 1:123456789:android:abc123def456 \
    --groups "qa-team,product-owners" \
    --release-notes "Naprawiono błąd autoryzacji" \
    --token "FIREBASE_TOKEN"

Zarządzanie testerami i grupami

Firebase App Distribution zapewnia elastyczny system zarządzania testerami: można dodawać uczestników e-mailem, tworzyć grupy według ról lub projektów oraz przypisywać różne kompilacje do różnych grup. Po dodaniu nowego testera system wysyła mu e-mail z zaproszeniem i instrukcją instalacji aplikacji. Testerzy otrzymują automatyczne powiadomienia o każdej nowej kompilacji przypisanej do ich grupy.

Tworzenie grup testerów

Grupy pozwalają zorganizować testerów według zasady funkcjonalnej. Przykłady grup: Zespół QA (pełny dostęp do wszystkich kompilacji), Product Owners (dostęp do stabilnych kompilacji), External Testers (ograniczony dostęp dla zewnętrznych beta-testerów). Jeden tester może należeć do wielu grup. Podczas przesyłania kompilacji programista wybiera grupy docelowe — powiadomienia otrzymają tylko członkowie wybranych grup, co eliminuje szum informacyjny.

Dodawanie testerów przez API

Do programowego dodawania testerów używane jest Firebase App Distribution API. API umożliwia tworzenie testerów, dodawanie ich do grup oraz usuwanie w razie potrzeby. Jest to wygodne przy integracji z wewnętrznymi systemami zarządzania testowaniem i bug trackerami. Po dodaniu testera przez API otrzymuje on również e-mail z zaproszeniem i linkiem do instalacji pierwszej aplikacji.

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("Tester dodany do grupy")
    } catch (error) {
        console.error("Błąd:", error)
    }
}

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

Dystrybucja kompilacji Androida

Dystrybucja kompilacji Androida przez Firebase App Distribution obsługuje dwa formaty: APK i Android App Bundle (AAB). Podczas przesyłania AAB Firebase automatycznie generuje APK zgodny z urządzeniem testera, używając Google Play App Signing. Testerzy instalują aplikację przez bezpośredni link — nie potrzebują dostępu do Google Play Console ani nie muszą być dodani jako testerzy w Play Console. To znacznie upraszcza proces beta-testowania dla Androida.

Wymagania dla kompilacji Androida

Do instalacji przez App Distribution testerzy muszą włączyć instalację z nieznanych źródeł na urządzeniu. Firebase automatycznie generuje link prowadzący do strony internetowej z przyciskiem instalacji APK. Dla formatu AAB wymagane jest, aby urządzenie obsługiwało Play Core Library i miało zainstalowany Google Play Store. Firebase zaleca używanie AAB dla wersji końcowych i APK dla szybkich iteracji.

Konfiguracja Gradle dla App Distribution

Wtyczka Firebase App Distribution dla Gradle umożliwia wysyłanie kompilacji bezpośrednio z zadania Gradle. Konfiguracja obejmuje dodanie wtyczki com.google.firebase.appdistribution, konfigurację konta usługowego i ustawienie grup docelowych. Po konfiguracji zadanie assembleDistRelease będzie budować aplikację i przesyłać ją do Firebase App Distribution jednym poleceniem.

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 "Automatyczna kompilacja"
}

Dystrybucja kompilacji iOS

Dystrybucja kompilacji iOS przez Firebase App Distribution wymaga dodatkowej konfiguracji, ponieważ Apple ogranicza instalację aplikacji poza App Store. Do dystrybucji aplikacji iOS konieczne jest użycie certyfikatów ad-hoc lub enterprise z programu Apple Developer Program. Testerzy muszą być dodani w Apple Developer Portal jako urządzenia do dystrybucji ad-hoc lub korzystać z dystrybucji enterprise bez ograniczeń co do urządzeń.

Konfiguracja dystrybucji ad-hoc

Do dystrybucji ad-hoc należy zebrać UDID wszystkich urządzeń testerów i dodać je do Apple Developer Portal. Firebase App Distribution pokazuje testerom instrukcję znajdowania UDID i automatycznie zapisuje zarejestrowane urządzenia. Po dodaniu UDID do profilu inicjującego (provisioning profile) i zbudowaniu IPA testerzy otrzymują link do instalacji. Firebase zaleca używanie certyfikatu enterprise dla projektów z dużą liczbą testerów, ponieważ ad-hoc jest ograniczony do 100 urządzeń na konto.

Budowanie IPA przez Fastlane

Fastlane — zalecane narzędzie do automatyzacji budowania aplikacji iOS. Lane match zarządza certyfikatami i profilami inicjującymi, a lane sigh tworzy IPA do dystrybucji. Firebase App Distribution integruje się z Fastlane przez wtyczkę firebase_app_distribution, która przesyła IPA i powiadamia testerów. Fastlane obsługuje również zarządzanie wersjami i notatkami wydania przez dodatkowe wtyczki.

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: "Build z #\{Time.now.strftime
            ('%Y-%m-%d %H:%M')}"
    )
end

Integracja z CI/CD i Fastlane

Pełna integracja Firebase App Distribution z CI/CD umożliwia automatyczne publikowanie nowych kompilacji przy każdym commicie w repozytorium. Konfigurując potok CI, zespół otrzymuje natychmiastową informację zwrotną od testerów w ciągu kilku minut po wypchnięciu kodu. App Distribution obsługuje wszystkie popularne systemy CI: GitHub Actions, GitLab CI, Jenkins, Bitrise i CircleCI. Dla każdej platformy wymagana jest własna konfiguracja, ale ogólna zasada jest taka sama: kompilacja → przesłanie → powiadomienie.

Konfiguracja przez GitHub Actions

GitHub Actions umożliwia skonfigurowanie automatycznej dystrybucji kompilacji przy wypchnięciu do gałęzi develop lub utworzeniu pull requesta. Workflow obejmuje instalację Java/Flutter/Node.js, budowanie aplikacji, uwierzytelnienie przez konto usługowe Firebase i uruchomienie Firebase CLI z poleceniem distribute. Sekrety (tokeny, konta usługowe) przechowywane są w GitHub Secrets i nie są ujawniane w logach kompilacji. Dla iOS dodatkowo wymagana jest konfiguracja Xcode i instalacja Fastlane w 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

Zbieranie opinii

Firebase App Distribution integruje się z Firebase Crashlytics do automatycznego zbierania raportów o awariach od testerów. Crashlytics automatycznie przypisuje awarię do konkretnej wersji kompilacji i urządzenia, co pomaga szybko zlokalizować i naprawić problem. Testerzy mogą również przesyłać zrzuty ekranu i komentarze przez interfejs webowy App Distribution, otrzymując link do formularza opinii po instalacji kompilacji.

Często zadawane pytania

Czym App Distribution różni się od TestFlight?

Firebase App Distribution — to usługa wieloplatformowa (Android + iOS), w przeciwieństwie do TestFlight, który działa tylko dla iOS. App Distribution integruje się również z Crashlytics i Firebase Analytics, zapewniając jednolity ekosystem do beta-testowania na obu platformach.

Jak długo przechowywane są kompilacje w App Distribution?

Kompilacje są przechowywane przez 150 dni od momentu przesłania. Po tym okresie są automatycznie usuwane. Zaleca się regularne przesyłanie nowych kompilacji i ręczne usuwanie nieaktualnych przez Firebase Console, aby testerzy nie instalowali przestarzałych wersji.

Ilu testerów można dodać?

Nie ma ograniczenia liczby testerów w Firebase App Distribution. Dla dystrybucji ad-hoc iOS obowiązuje limit Apple wynoszący 100 urządzeń na konto. Dla Androida i dystrybucji enterprise iOS nie ma ograniczeń co do liczby testerów.

Czy można przesyłać AAB zamiast APK dla Androida?

Tak, App Distribution obsługuje AAB (Android App Bundle). Firebase automatycznie generuje APK z AAB dla każdego urządzenia testera za pomocą Google Play App Signing. Jest to szczególnie wygodne do testowania przed publikacją w Play Store.

Czy Firebase App Distribution jest bezpłatny?

Tak, App Distribution wchodzi w skład bezpłatnego planu Spark Firebase. Ograniczenia Spark: do 500 testerów i 25 000 instalacji miesięcznie na projekt. Plan Blaze znosi te ograniczenia i dodaje priorytetowe wsparcie.

Podsumowanie

  • Firebase App Distribution — usługa do dystrybucji kompilacji beta aplikacji mobilnych z obsługą Android (APK/AAB) i iOS (IPA) bez publikacji w sklepach.
  • Zarządzanie testerami — elastyczny system grup z automatycznymi powiadomieniami e-mail i push przy każdej nowej kompilacji.
  • Przesyłanie kompilacji odbywa się przez Firebase Console, CLI, wtyczkę Gradle lub Fastlane z automatycznym powiadamianiem testerów.
  • Kompilacje Androida obsługują APK i AAB z automatycznym generowaniem APK z AAB, instalacja przez bezpośredni link bez Google Play Console.
  • Kompilacje iOS wymagają certyfikatu ad-hoc lub enterprise Apple, z obsługą rejestracji UDID i Fastlane do automatyzacji budowania IPA.
  • Integracja CI/CD — GitHub Actions, GitLab CI, Jenkins, Bitrise z Firebase CLI lub Fastlane do automatycznej publikacji przy każdym wypchnięciu.
  • Bezpłatnie do 500 testerów i 25 000 instalacji miesięcznie, kompilacje przechowywane 150 dni, zintegrowany z Firebase Crashlytics do zbierania raportów o awariach.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również