Firebase App Distribution: βασικές έννοιες, διανομή APK και IPA και ρύθμιση

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-04-29 Χρόνος ανάγνωσης: 8 λεπ

Firebase App Distribution — είναι η υπηρεσία Google για τη διανομή προκαταρκτικών builds εφαρμογών κινητού μεταξύ δοκιμαστών και εσωτερικών ομάδων χωρίς να χρειάζεται να δημοσιεύονται στα καταστήματα εφαρμογών. Το App Distribution παρέχει μια ενοποιημένη διεπαφή για τη μεταφόρτωση APK και IPA, τη διαχείριση ομάδων δοκιμαστών και τη συλλογή σχολίων. Σύμφωνα με το Firebase Documentation, 2026, η υπηρεσία ειδοποιεί αυτόματα τους δοκιμαστές για νέες εκδόσεις μέσω email και push ειδοποιήσεων, και η ενσωμάτωση Fastlane επιτρέπει τη δημοσίευση builds απευθείας από τον αγωγό CI/CD χωρίς χειροκίνητες ενέργειες. Το App Distribution υποστηρίζει τόσο Android (AAB/APK) όσο και iOS (IPA), συμπεριλαμβανομένης της διανομής ad-hoc και enterprise.

Κύρια σημεία

  • App Distribution — υπηρεσία Firebase για διανομή beta εκδόσεων εφαρμογών μεταξύ δοκιμαστών χωρίς δημοσίευση στο Google Play και App Store.
  • Ομάδες δοκιμαστών — ευέλικτο σύστημα διαχείρισης πρόσβασης: δημιουργήστε ομάδες ανά ρόλους, έργα ή στάδια δοκιμής με διαφορετικά δικαιώματα για builds.
  • Αυτόματες ειδοποιήσεις — οι δοκιμαστές λαμβάνουν email και push ειδοποιήσεις σε κάθε νέο build με σύνδεσμο εγκατάστασης.
  • Fastlane + Gradle — πλήρης ενσωμάτωση με συστήματα CI/CD για αυτόματη δημοσίευση builds σε κάθε commit ή pull request.
  • Σχόλια — οι δοκιμαστές μπορούν να στέλνουν στιγμιότυπα οθόνης, αρχεία καταγραφής και σχόλια μέσω της ενσωματωμένης διεπαφής ή του Firebase Crashlytics.

Τι είναι το Firebase App Distribution

Firebase App Distribution — είναι η υπηρεσία Google για τη διανομή εκδόσεων προ-κυκλοφορίας εφαρμογών κινητού μεταξύ δοκιμαστών και ενδιαφερόμενων μερών. Σε αντίθεση με τη δημοσίευση σε καταστήματα εφαρμογών, το App Distribution επιτρέπει την άμεση παράδοση builds σε επιλεγμένους συμμετέχοντες χωρίς μακρά διαδικασία αναθεώρησης. Η υπηρεσία είναι ενσωματωμένη με το Firebase Crashlytics, επιτρέποντας στους προγραμματιστές να λαμβάνουν αναφορές σφαλμάτων απευθείας από τους δοκιμαστές και να διορθώνουν προβλήματα πριν από τη δημόσια κυκλοφορία.

Γιατί χρειάζεται το App Distribution

Η παραδοσιακή διαδικασία διανομής beta εκδόσεων περιλαμβάνει χειροκίνητη αποστολή APK/IPA μέσω email, μεταφόρτωση σε διακομιστές αρχείων τρίτων ή ρύθμιση δικού σας διακομιστή. Firebase App Distribution λύνει αυτά τα προβλήματα: ενοποιημένο αποθετήριο builds στο Google Cloud, αυτόματες ειδοποιήσεις δοκιμαστών, κεντρική διαχείριση πρόσβασης και ενσωματωμένα σχόλια μέσω Firebase Crashlytics. Η υπηρεσία είναι απαραίτητη για ομάδες που εφαρμόζουν CI/CD και τακτικές εκδόσεις: ένα νέο build είναι διαθέσιμο στους δοκιμαστές ένα λεπτό μετά τη μεταφόρτωση.

Υποστηριζόμενες μορφές builds

Το App Distribution υποστηρίζει όλες τις τυπικές μορφές builds για κινητές πλατφόρμες. Για Android — APK και Android App Bundle (AAB) με αυτόματη δημιουργία APK από AAB κατά την εγκατάσταση. Για iOS — αρχεία IPA για διανομή ad-hoc, development και enterprise. Κάθε build συνοδεύεται από σημειώσεις έκδοσης (release notes), αριθμό έκδοσης και κωδικό build για παρακολούθηση. Το μέγιστο μέγεθος αρχείου μεταφόρτωσης είναι 500 MB, η περίοδος αποθήκευσης builds είναι 150 ημέρες.

Μεταφόρτωση builds και διαχείριση εκδόσεων

Μεταφόρτωση builds στο Firebase App Distribution γίνεται μέσω Firebase Console, CLI (firebase appdistribution:distribute) ή αυτοματοποιημένων εργαλείων όπως Fastlane και Gradle. Κατά τη μεταφόρτωση καθορίζεται η έκδοση build, οι σημειώσεις έκδοσης και η λίστα των δοκιμαστών ή ομάδων που πρέπει να λάβουν ειδοποίηση. Το Firebase εκχωρεί αυτόματα ένα μοναδικό αναγνωριστικό στο build και το καθιστά διαθέσιμο για εγκατάσταση μέσω συνδέσμου.

Διαχείριση εκδόσεων μέσω Firebase Console

Το Firebase Console παρέχει μια διεπαφή ιστού για τη μεταφόρτωση builds και τη διαχείριση εκδόσεων. Στην κονσόλα εμφανίζεται το ιστορικό όλων των μεταφορτωμένων builds με ημερομηνία, έκδοση, κατάσταση και αριθμό εγκαταστάσεων. Ο προγραμματιστής μπορεί να απενεργοποιήσει μια συγκεκριμένη έκδοση εάν εντοπιστεί κρίσιμο σφάλμα — αυτό θα αποκλείσει τη δυνατότητα εγκατάστασης της έκδοσης για όλους τους δοκιμαστές. Η κονσόλα δείχνει επίσης ένα γράφημα εγκαταστάσεων ανά ημέρα, που βοηθά στην παρακολούθηση της δραστηριότητας δοκιμής.

Αυτόματη μεταφόρτωση μέσω Firebase CLI

Το Firebase CLI επιτρέπει τη μεταφόρτωση builds με μία εντολή, που είναι βολικό για ενσωμάτωση σε αγωγούς CI/CD. Η εντολή distribute δέχεται τη διαδρομή του αρχείου, το διακριτικό πρόσβασης έργου, τη λίστα ομάδων δοκιμαστών και προαιρετικές σημειώσεις έκδοσης. Για αυθεντικοποίηση χρησιμοποιείται λογαριασμός υπηρεσίας Firebase με ρόλο Firebase App Distribution Admin. Το CLI υποστηρίζει builds Android και iOS, προσδιορίζοντας αυτόματα την πλατφόρμα βάσει της επέκτασης αρχείου.

bash
# Μεταφόρτωση build μέσω 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, ομάδες μπορούν να δημιουργηθούν ανά ρόλους ή έργα, και διαφορετικά builds μπορούν να ανατεθούν σε διαφορετικές ομάδες. Κατά την προσθήκη νέου δοκιμαστή, το σύστημα του στέλνει ένα email πρόσκλησης με οδηγίες εγκατάστασης της εφαρμογής. Οι δοκιμαστές λαμβάνουν αυτόματες ειδοποιήσεις για κάθε νέο build που ανατίθεται στην ομάδα τους.

Δημιουργία ομάδων δοκιμαστών

Οι ομάδες επιτρέπουν την οργάνωση δοκιμαστών βάσει λειτουργικής αρχής. Παραδείγματα ομάδων: Ομάδα QA (πλήρης πρόσβαση σε όλα τα builds), Product Owners (πρόσβαση σε σταθερά builds), External Testers (περιορισμένη πρόσβαση για εξωτερικούς δοκιμαστές beta). Ένας δοκιμαστής μπορεί να είναι μέλος πολλών ομάδων. Κατά τη μεταφόρτωση ενός build, ο προγραμματιστής επιλέγει τις ομάδες-στόχους — μόνο τα μέλη των επιλεγμένων ομάδων λαμβάνουν ειδοποιήσεις, εξαλείφοντας τον θόρυβο πληροφοριών.

Προσθήκη δοκιμαστών μέσω API

Για προγραμματική προσθήκη δοκιμαστών χρησιμοποιείται το Firebase App Distribution API. Το API επιτρέπει τη δημιουργία δοκιμαστών, την προσθήκη τους σε ομάδες και τη διαγραφή τους όταν χρειάζεται. Αυτό είναι βολικό για ενσωμάτωση με εσωτερικά συστήματα διαχείρισης δοκιμών και ιχνηλάτες σφαλμάτων. Κατά την προσθήκη δοκιμαστή μέσω API, λαμβάνει επίσης ένα email πρόσκλησης με σύνδεσμο εγκατάστασης της πρώτης εφαρμογής.

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")

Διανομή builds Android

Διανομή builds Android μέσω Firebase App Distribution υποστηρίζει δύο μορφές: APK και Android App Bundle (AAB). Κατά τη μεταφόρτωση AAB, το Firebase δημιουργεί αυτόματα APK συμβατό με τη συσκευή του δοκιμαστή, χρησιμοποιώντας το Google Play App Signing. Οι δοκιμαστές εγκαθιστούν την εφαρμογή μέσω άμεσου συνδέσμου — δεν χρειάζονται πρόσβαση στο Google Play Console και δεν χρειάζεται να προστεθούν ως δοκιμαστές στο Play Console. Αυτό απλοποιεί σημαντικά τη διαδικασία δοκιμής beta για Android.

Απαιτήσεις για builds Android

Για εγκατάσταση μέσω App Distribution, οι δοκιμαστές πρέπει να ενεργοποιήσουν την εγκατάσταση από άγνωστες πηγές στη συσκευή. Το Firebase δημιουργεί αυτόματα έναν σύνδεσμο που οδηγεί σε μια ιστοσελίδα με κουμπί εγκατάστασης APK. Για μορφή AAB, η συσκευή πρέπει να υποστηρίζει το Play Core Library και να έχει εγκατεστημένο το Google Play Store. Η Firebase συνιστά τη χρήση AAB για τελικές εκδόσεις και APK για γρήγορες επαναλήψεις.

Ρύθμιση Gradle για App Distribution

Το πρόσθετο Firebase App Distribution για Gradle επιτρέπει την αποστολή builds απευθείας από μια εργασία 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 "Αυτόματο build"
}

Διανομή builds iOS

Διανομή builds 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 διαχειρίζεται πιστοποιητικά και προφίλ προμήθειας, και το 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: "Build από #\{Time.now.strftime
            ('%Y-%m-%d %H:%M')}"
    )
end

Ενσωμάτωση με CI/CD και Fastlane

Πλήρης ενσωμάτωση του Firebase App Distribution με CI/CD επιτρέπει την αυτόματη δημοσίευση νέων builds σε κάθε commit στο αποθετήριο. Ρυθμίζοντας τον αγωγό CI, η ομάδα λαμβάνει άμεσα σχόλια από τους δοκιμαστές μέσα σε λίγα λεπτά μετά την ώθηση κώδικα. Το App Distribution υποστηρίζει όλα τα δημοφιλή συστήματα CI: GitHub Actions, GitLab CI, Jenkins, Bitrise και CircleCI. Για κάθε πλατφόρμα απαιτείται δική της ρύθμιση, αλλά η γενική αρχή είναι η ίδια: δημιουργία → μεταφόρτωση → ειδοποίηση.

Ρύθμιση μέσω GitHub Actions

Το GitHub Actions επιτρέπει τη ρύθμιση αυτόματης διανομής builds κατά την ώθηση στον κλάδο develop ή τη δημιουργία pull request. Το workflow περιλαμβάνει εγκατάσταση Java/Flutter/Node.js, δημιουργία της εφαρμογής, αυθεντικοποίηση μέσω Firebase Service Account και εκτέλεση Firebase CLI με την εντολή distribute. Τα μυστικά (διακριτικά, λογαριασμοί υπηρεσίας) αποθηκεύονται στο GitHub Secrets και δεν αποκαλύπτονται στα αρχεία καταγραφής build. Για 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 συσχετίζει αυτόματα το σφάλμα με μια συγκεκριμένη έκδοση build και συσκευή, που βοηθά στον γρήγορο εντοπισμό και τη διόρθωση του προβλήματος. Οι δοκιμαστές μπορούν επίσης να στέλνουν στιγμιότυπα οθόνης και σχόλια μέσω της διεπαφής ιστού του App Distribution, λαμβάνοντας σύνδεσμο προς τη φόρμα σχολίων μετά την εγκατάσταση του build.

Συχνές ερωτήσεις

Σε τι διαφέρει το App Distribution από το TestFlight;

Firebase App Distribution — είναι μια cross-platform υπηρεσία (Android + iOS), σε αντίθεση με το TestFlight που λειτουργεί μόνο για iOS. Το App Distribution ενσωματώνεται επίσης με το Crashlytics και το Firebase Analytics, παρέχοντας ένα ενιαίο οικοσύστημα για δοκιμές beta και στις δύο πλατφόρμες.

Πόσο καιρό αποθηκεύονται τα builds στο App Distribution;

Τα builds αποθηκεύονται για 150 ημέρες από τη στιγμή της μεταφόρτωσης. Μετά από αυτό το διάστημα διαγράφονται αυτόματα. Συνιστάται η τακτική μεταφόρτωση νέων builds και η μη αυτόματη διαγραφή παλαιών μέσω του Firebase Console, ώστε οι δοκιμαστές να μην εγκαθιστούν παλιές εκδόσεις.

Πόσοι δοκιμαστές μπορούν να προστεθούν;

Δεν υπάρχει όριο στον αριθμό των δοκιμαστών στο Firebase App Distribution. Για τη διανομή ad-hoc iOS ισχύει το όριο της Apple των 100 συσκευών ανά λογαριασμό. Για Android και enterprise διανομή iOS δεν υπάρχουν περιορισμοί στον αριθμό των δοκιμαστών.

Μπορεί να μεταφορτωθεί 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 — υπηρεσία διανομής beta builds εφαρμογών κινητού με υποστήριξη Android (APK/AAB) και iOS (IPA) χωρίς δημοσίευση σε καταστήματα.
  • Διαχείριση δοκιμαστών — ευέλικτο σύστημα ομάδων με αυτόματες ειδοποιήσεις email και push σε κάθε νέο build.
  • Μεταφόρτωση builds γίνεται μέσω Firebase Console, CLI, πρόσθετου Gradle ή Fastlane με αυτόματη ειδοποίηση δοκιμαστών.
  • Builds Android υποστηρίζουν APK και AAB με αυτόματη δημιουργία APK από AAB, εγκατάσταση μέσω άμεσου συνδέσμου χωρίς Google Play Console.
  • Builds iOS απαιτούν πιστοποιητικό ad-hoc ή enterprise Apple, με υποστήριξη εγγραφής UDID και Fastlane για αυτοματοποίηση δημιουργίας IPA.
  • Ενσωμάτωση CI/CD — GitHub Actions, GitLab CI, Jenkins, Bitrise με Firebase CLI ή Fastlane για αυτόματη δημοσίευση σε κάθε ώθηση.
  • Δωρεάν έως 500 δοκιμαστές και 25.000 εγκαταστάσεις ανά μήνα, builds αποθηκεύονται 150 ημέρες, ενσωματωμένο με Firebase Crashlytics για συλλογή αναφορών σφαλμάτων.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης