Firebase App Distribution è un servizio Google per distribuire versioni di pre-rilascio di applicazioni mobili a tester e team interni senza doverle pubblicare negli store di applicazioni. App Distribution fornisce un'interfaccia unificata per il caricamento di file APK e IPA, la gestione di gruppi di tester e la raccolta di feedback. Secondo Firebase Documentation, 2026, il servizio notifica automaticamente i tester delle nuove versioni tramite email e notifiche push, e l'integrazione Fastlane consente di pubblicare build direttamente dalla pipeline CI/CD senza azioni manuali. App Distribution supporta sia Android (AAB/APK) che iOS (IPA), inclusa la distribuzione ad-hoc e enterprise.
Punti chiave
Firebase App Distribution è un servizio Google per distribuire versioni di pre-rilascio di applicazioni mobili a tester e parti interessate. A differenza della pubblicazione negli store di applicazioni, App Distribution consente di consegnare build a partecipanti selezionati istantaneamente, senza un lungo processo di revisione. Il servizio è integrato con Firebase Crashlytics, consentendo agli sviluppatori di ricevere rapporti di crash direttamente dai tester e correggere i problemi prima del rilascio pubblico.
Il processo tradizionale di distribuzione di versioni beta comporta l'invio manuale di file APK/IPA via email, il caricamento su servizi di condivisione file di terze parti o la configurazione di un server dedicato. Firebase App Distribution risolve questi problemi: un repository unificato di build su Google Cloud, notifiche automatiche ai tester, gestione centralizzata degli accessi e feedback integrato tramite Firebase Crashlytics. Il servizio è indispensabile per i team che praticano CI/CD e rilasci regolari: un nuovo build è disponibile per i tester entro un minuto dal caricamento.
App Distribution supporta tutti i formati di build standard per piattaforme mobili. Per Android — APK e Android App Bundle (AAB) con generazione automatica di APK da AAB durante l'installazione. Per iOS — file IPA per distribuzione ad-hoc, sviluppo e enterprise. Ogni build è accompagnata da note di rilascio, numero di versione e codice build per il tracciamento. La dimensione massima del file caricato è di 500 MB e i build vengono conservati per 150 giorni.
Il caricamento dei build in Firebase App Distribution viene effettuato tramite Firebase Console, CLI (firebase appdistribution:distribute) o strumenti automatizzati come Fastlane e Gradle. Durante il caricamento, si specifica la versione del build, le note di rilascio e l'elenco dei tester o dei gruppi che devono ricevere una notifica. Firebase assegna automaticamente un identificatore univoco al build e lo rende disponibile per l'installazione tramite un link.
Firebase Console fornisce un'interfaccia web per il caricamento dei build e la gestione delle versioni. La console mostra la cronologia di tutti i build caricati con data, versione, stato e numero di installazioni. Uno sviluppatore può disabilitare una versione specifica se viene trovato un bug critico — questo bloccherà l'installazione di quella versione per tutti i tester. La console mostra anche un grafico delle installazioni per giorno, aiutando a monitorare l'attività di test.
Firebase CLI consente di caricare build con un singolo comando, comodo per l'integrazione nelle pipeline CI/CD. Il comando distribute accetta un percorso file, un token di accesso al progetto, un elenco di gruppi di tester e note di rilascio opzionali. L'autenticazione utilizza un account di servizio Firebase con il ruolo di Amministratore Firebase App Distribution. La CLI supporta build sia Android che iOS, rilevando automaticamente la piattaforma dall'estensione del file.
# Caricamento di un build tramite Firebase CLI
firebase appdistribution:distribute \
app-release.apk \
--app 1:123456789:android:abc123def456 \
--groups "qa-team,product-owners" \
--release-notes "Bug di autorizzazione corretto" \
--token "FIREBASE_TOKEN"
Firebase App Distribution fornisce un sistema flessibile di gestione dei tester: puoi aggiungere partecipanti via email, creare gruppi per ruoli o progetti e assegnare build diversi a gruppi diversi. Quando un nuovo tester viene aggiunto, il sistema gli invia un'email di invito con le istruzioni per installare l'applicazione. I tester ricevono notifiche automatiche per ogni nuovo build assegnato al loro gruppo.
I gruppi consentono di organizzare i tester funzionalmente. Esempi di gruppi: Team QA (accesso completo a tutti i build), Product Owners (accesso ai build stabili), Tester Esterni (accesso limitato per beta tester esterni). Un singolo tester può appartenere a più gruppi. Durante il caricamento di un build, lo sviluppatore seleziona i gruppi target — solo i membri dei gruppi selezionati ricevono notifiche, eliminando il rumore informativo.
Per aggiungere tester tramite programmazione, viene utilizzata l'API Firebase App Distribution. L'API consente di creare tester, aggiungerli ai gruppi e cancellarli quando necessario. Questo è comodo per l'integrazione con sistemi interni di gestione dei test e tracker di bug. Quando un tester viene aggiunto tramite API, riceve anche un'email di invito con un link per installare la prima applicazione.
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 aggiunto al gruppo")
} catch (error) {
console.error("Errore:", error)
}
}
addTestersToGroup("tester@example.com", "qa-team")
La distribuzione dei build Android tramite Firebase App Distribution supporta due formati: APK e Android App Bundle (AAB). Quando si carica un AAB, Firebase genera automaticamente un APK compatibile con il dispositivo del tester utilizzando Google Play App Signing. I tester installano l'applicazione tramite un link diretto — non hanno bisogno di accedere a Google Play Console, né di essere aggiunti come tester in Play Console. Questo semplifica notevolmente il processo di beta testing per Android.
Per installare tramite App Distribution, i tester devono abilitare l'installazione da fonti sconosciute sul proprio dispositivo. Firebase genera automaticamente un link a una pagina web con un pulsante di installazione APK. Per il formato AAB, il dispositivo deve supportare Play Core Library e avere Google Play Store installato. Firebase raccomanda di utilizzare AAB per le versioni finali e APK per iterazioni rapide.
Il plugin Firebase App Distribution per Gradle consente di inviare build direttamente da un'attività Gradle. La configurazione include l'aggiunta del plugin com.google.firebase.appdistribution, la configurazione di un account di servizio e la definizione dei gruppi target. Dopo la configurazione, l'attività assembleDistRelease compilerà l'applicazione e la caricherà su Firebase App Distribution con un singolo comando.
// 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 "Build automatico"
}
La distribuzione dei build iOS tramite Firebase App Distribution richiede una configurazione aggiuntiva perché Apple limita l'installazione di applicazioni al di fuori dell'App Store. Per distribuire applicazioni iOS, è necessario utilizzare certificati ad-hoc o enterprise del programma Apple Developer. I tester devono essere aggiunti al Portale Sviluppatori Apple come dispositivi per la distribuzione ad-hoc, oppure utilizzare la distribuzione enterprise senza limiti di dispositivi.
Per la distribuzione ad-hoc, è necessario raccogliere gli UDID di tutti i dispositivi dei tester e aggiungerli al Portale Sviluppatori Apple. Firebase App Distribution mostra ai tester le istruzioni per trovare il proprio UDID e salva automaticamente i dispositivi registrati. Dopo aver aggiunto l'UDID al profilo di provisioning e compilato l'IPA, i tester ricevono un link di installazione. Firebase raccomanda di utilizzare un certificato enterprise per progetti con un grande numero di tester, poiché l'ad-hoc è limitato a 100 dispositivi per account.
Fastlane è lo strumento consigliato per automatizzare la compilazione di applicazioni iOS. La lane match gestisce i certificati e i profili di provisioning, mentre la lane sigh crea un IPA per la distribuzione. Firebase App Distribution si integra con Fastlane tramite il plugin firebase_app_distribution, che carica l'IPA e notifica i tester. Fastlane supporta anche la gestione delle versioni e le note di rilascio tramite plugin aggiuntivi.
# 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 del #\{Time.now.strftime
('%Y-%m-%d %H:%M')}"
)
end
L'integrazione completa di Firebase App Distribution con CI/CD consente di pubblicare automaticamente nuovi build a ogni commit nel repository. Configurando una pipeline CI, il team riceve feedback istantaneo dai tester pochi minuti dopo un push di codice. App Distribution supporta tutti i sistemi CI popolari: GitHub Actions, GitLab CI, Jenkins, Bitrise e CircleCI. Ogni piattaforma richiede la propria configurazione, ma il principio generale è lo stesso: compilare → caricare → notificare.
GitHub Actions consente di configurare la distribuzione automatica dei build al push sul ramo develop o alla creazione di una pull request. Il workflow include l'installazione di Java/Flutter/Node.js, la compilazione dell'applicazione, l'autenticazione tramite un account di servizio Firebase e l'esecuzione della Firebase CLI con il comando distribute. I segreti (token, account di servizio) sono memorizzati in GitHub Secrets e non vengono esposti nei log di build. Per iOS, sono ulteriormente richiesti la configurazione di Xcode e l'installazione di Fastlane nel 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 si integra con Firebase Crashlytics per la raccolta automatica di rapporti di crash dai tester. Crashlytics collega automaticamente un crash a una versione di build e un dispositivo specifici, aiutando a localizzare e correggere rapidamente il problema. I tester possono anche inviare screenshot e commenti tramite l'interfaccia web di App Distribution, ricevendo un link al modulo di feedback dopo l'installazione del build.
Domande frequenti
Firebase App Distribution è un servizio multipiattaforma (Android + iOS), a differenza di TestFlight che funziona solo per iOS. App Distribution si integra anche con Crashlytics e Firebase Analytics, fornendo un ecosistema unificato per il beta testing su entrambe le piattaforme.
I build vengono conservati per 150 giorni dalla data di caricamento. Dopo questo periodo, vengono eliminati automaticamente. Si consiglia di caricare regolarmente nuovi build ed eliminare manualmente quelli obsoleti tramite Firebase Console per evitare che i tester installino versioni vecchie.
Non c'è limite al numero di tester in Firebase App Distribution. Per la distribuzione ad-hoc iOS, si applica il limite Apple di 100 dispositivi per account. Per la distribuzione enterprise Android e iOS, non ci sono restrizioni sul numero di tester.
Sì, App Distribution supporta AAB (Android App Bundle). Firebase genera automaticamente un APK dall'AAB per ogni dispositivo del tester utilizzando Google Play App Signing. Questo è particolarmente comodo per testare prima della pubblicazione su Play Store.
Sì, App Distribution è incluso nel piano gratuito Spark di Firebase. Limiti del piano Spark: fino a 500 tester e 25.000 installazioni al mese per progetto. Il piano Blaze rimuove questi limiti e aggiunge supporto prioritario.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche