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.
Κύρια σημεία
Firebase App Distribution — είναι η υπηρεσία Google για τη διανομή εκδόσεων προ-κυκλοφορίας εφαρμογών κινητού μεταξύ δοκιμαστών και ενδιαφερόμενων μερών. Σε αντίθεση με τη δημοσίευση σε καταστήματα εφαρμογών, το App Distribution επιτρέπει την άμεση παράδοση builds σε επιλεγμένους συμμετέχοντες χωρίς μακρά διαδικασία αναθεώρησης. Η υπηρεσία είναι ενσωματωμένη με το Firebase Crashlytics, επιτρέποντας στους προγραμματιστές να λαμβάνουν αναφορές σφαλμάτων απευθείας από τους δοκιμαστές και να διορθώνουν προβλήματα πριν από τη δημόσια κυκλοφορία.
Η παραδοσιακή διαδικασία διανομής beta εκδόσεων περιλαμβάνει χειροκίνητη αποστολή APK/IPA μέσω email, μεταφόρτωση σε διακομιστές αρχείων τρίτων ή ρύθμιση δικού σας διακομιστή. Firebase App Distribution λύνει αυτά τα προβλήματα: ενοποιημένο αποθετήριο builds στο Google Cloud, αυτόματες ειδοποιήσεις δοκιμαστών, κεντρική διαχείριση πρόσβασης και ενσωματωμένα σχόλια μέσω Firebase Crashlytics. Η υπηρεσία είναι απαραίτητη για ομάδες που εφαρμόζουν CI/CD και τακτικές εκδόσεις: ένα νέο build είναι διαθέσιμο στους δοκιμαστές ένα λεπτό μετά τη μεταφόρτωση.
Το 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 στο Firebase App Distribution γίνεται μέσω Firebase Console, CLI (firebase appdistribution:distribute) ή αυτοματοποιημένων εργαλείων όπως Fastlane και Gradle. Κατά τη μεταφόρτωση καθορίζεται η έκδοση build, οι σημειώσεις έκδοσης και η λίστα των δοκιμαστών ή ομάδων που πρέπει να λάβουν ειδοποίηση. Το Firebase εκχωρεί αυτόματα ένα μοναδικό αναγνωριστικό στο build και το καθιστά διαθέσιμο για εγκατάσταση μέσω συνδέσμου.
Το Firebase Console παρέχει μια διεπαφή ιστού για τη μεταφόρτωση builds και τη διαχείριση εκδόσεων. Στην κονσόλα εμφανίζεται το ιστορικό όλων των μεταφορτωμένων builds με ημερομηνία, έκδοση, κατάσταση και αριθμό εγκαταστάσεων. Ο προγραμματιστής μπορεί να απενεργοποιήσει μια συγκεκριμένη έκδοση εάν εντοπιστεί κρίσιμο σφάλμα — αυτό θα αποκλείσει τη δυνατότητα εγκατάστασης της έκδοσης για όλους τους δοκιμαστές. Η κονσόλα δείχνει επίσης ένα γράφημα εγκαταστάσεων ανά ημέρα, που βοηθά στην παρακολούθηση της δραστηριότητας δοκιμής.
Το Firebase CLI επιτρέπει τη μεταφόρτωση builds με μία εντολή, που είναι βολικό για ενσωμάτωση σε αγωγούς CI/CD. Η εντολή distribute δέχεται τη διαδρομή του αρχείου, το διακριτικό πρόσβασης έργου, τη λίστα ομάδων δοκιμαστών και προαιρετικές σημειώσεις έκδοσης. Για αυθεντικοποίηση χρησιμοποιείται λογαριασμός υπηρεσίας Firebase με ρόλο Firebase App Distribution Admin. Το CLI υποστηρίζει builds Android και iOS, προσδιορίζοντας αυτόματα την πλατφόρμα βάσει της επέκτασης αρχείου.
# Μεταφόρτωση 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, ο προγραμματιστής επιλέγει τις ομάδες-στόχους — μόνο τα μέλη των επιλεγμένων ομάδων λαμβάνουν ειδοποιήσεις, εξαλείφοντας τον θόρυβο πληροφοριών.
Για προγραμματική προσθήκη δοκιμαστών χρησιμοποιείται το Firebase App Distribution API. Το API επιτρέπει τη δημιουργία δοκιμαστών, την προσθήκη τους σε ομάδες και τη διαγραφή τους όταν χρειάζεται. Αυτό είναι βολικό για ενσωμάτωση με εσωτερικά συστήματα διαχείρισης δοκιμών και ιχνηλάτες σφαλμάτων. Κατά την προσθήκη δοκιμαστή μέσω API, λαμβάνει επίσης ένα email πρόσκλησης με σύνδεσμο εγκατάστασης της πρώτης εφαρμογής.
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 μέσω Firebase App Distribution υποστηρίζει δύο μορφές: APK και Android App Bundle (AAB). Κατά τη μεταφόρτωση AAB, το Firebase δημιουργεί αυτόματα APK συμβατό με τη συσκευή του δοκιμαστή, χρησιμοποιώντας το Google Play App Signing. Οι δοκιμαστές εγκαθιστούν την εφαρμογή μέσω άμεσου συνδέσμου — δεν χρειάζονται πρόσβαση στο Google Play Console και δεν χρειάζεται να προστεθούν ως δοκιμαστές στο Play Console. Αυτό απλοποιεί σημαντικά τη διαδικασία δοκιμής beta για Android.
Για εγκατάσταση μέσω App Distribution, οι δοκιμαστές πρέπει να ενεργοποιήσουν την εγκατάσταση από άγνωστες πηγές στη συσκευή. Το Firebase δημιουργεί αυτόματα έναν σύνδεσμο που οδηγεί σε μια ιστοσελίδα με κουμπί εγκατάστασης APK. Για μορφή AAB, η συσκευή πρέπει να υποστηρίζει το Play Core Library και να έχει εγκατεστημένο το Google Play Store. Η Firebase συνιστά τη χρήση AAB για τελικές εκδόσεις και APK για γρήγορες επαναλήψεις.
Το πρόσθετο Firebase App Distribution για Gradle επιτρέπει την αποστολή builds απευθείας από μια εργασία Gradle. Η ρύθμιση περιλαμβάνει την προσθήκη του πρόσθετου com.google.firebase.appdistribution, τη ρύθμιση λογαριασμού υπηρεσίας και τον καθορισμό ομάδων-στόχων. Μετά τη ρύθμιση, η εργασία assembleDistRelease θα δημιουργεί την εφαρμογή και θα τη μεταφορτώνει στο Firebase App Distribution με μία εντολή.
// 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 μέσω Firebase App Distribution απαιτεί πρόσθετη ρύθμιση, καθώς η Apple περιορίζει την εγκατάσταση εφαρμογών εκτός App Store. Για τη διανομή εφαρμογών iOS πρέπει να χρησιμοποιούνται πιστοποιητικά ad-hoc ή enterprise από το Apple Developer Program. Οι δοκιμαστές πρέπει να προστεθούν στο Apple Developer Portal ως συσκευές για διανομή ad-hoc ή να χρησιμοποιούν enterprise διανομή χωρίς περιορισμό συσκευών.
Για διανομή ad-hoc, πρέπει να συλλεχθούν τα UDID όλων των συσκευών δοκιμαστών και να προστεθούν στο Apple Developer Portal. Το Firebase App Distribution δείχνει στους δοκιμαστές οδηγίες για την εύρεση UDID και αποθηκεύει αυτόματα τις εγγεγραμμένες συσκευές. Μετά την προσθήκη UDID στο προφίλ προμήθειας (provisioning profile) και τη δημιουργία IPA, οι δοκιμαστές λαμβάνουν σύνδεσμο εγκατάστασης. Η Firebase συνιστά τη χρήση πιστοποιητικού enterprise για έργα με μεγάλο αριθμό δοκιμαστών, καθώς το ad-hoc περιορίζεται σε 100 συσκευές ανά λογαριασμό.
Fastlane — το προτεινόμενο εργαλείο για αυτοματοποίηση δημιουργίας εφαρμογών iOS. Το Lane match διαχειρίζεται πιστοποιητικά και προφίλ προμήθειας, και το lane sigh δημιουργεί IPA για διανομή. Το Firebase App Distribution ενσωματώνεται με το Fastlane μέσω του πρόσθετου firebase_app_distribution, το οποίο μεταφορτώνει το IPA και ειδοποιεί τους δοκιμαστές. Το Fastlane υποστηρίζει επίσης διαχείριση εκδόσεων και σημειώσεις έκδοσης μέσω πρόσθετων προσθέτων.
# 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
Πλήρης ενσωμάτωση του Firebase App Distribution με CI/CD επιτρέπει την αυτόματη δημοσίευση νέων builds σε κάθε commit στο αποθετήριο. Ρυθμίζοντας τον αγωγό CI, η ομάδα λαμβάνει άμεσα σχόλια από τους δοκιμαστές μέσα σε λίγα λεπτά μετά την ώθηση κώδικα. Το App Distribution υποστηρίζει όλα τα δημοφιλή συστήματα CI: GitHub Actions, GitLab CI, Jenkins, Bitrise και CircleCI. Για κάθε πλατφόρμα απαιτείται δική της ρύθμιση, αλλά η γενική αρχή είναι η ίδια: δημιουργία → μεταφόρτωση → ειδοποίηση.
Το GitHub Actions επιτρέπει τη ρύθμιση αυτόματης διανομής builds κατά την ώθηση στον κλάδο develop ή τη δημιουργία pull request. Το workflow περιλαμβάνει εγκατάσταση Java/Flutter/Node.js, δημιουργία της εφαρμογής, αυθεντικοποίηση μέσω Firebase Service Account και εκτέλεση Firebase CLI με την εντολή distribute. Τα μυστικά (διακριτικά, λογαριασμοί υπηρεσίας) αποθηκεύονται στο GitHub Secrets και δεν αποκαλύπτονται στα αρχεία καταγραφής build. Για iOS απαιτείται πρόσθετη ρύθμιση Xcode και εγκατάσταση Fastlane στο 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 ενσωματώνεται με το Firebase Crashlytics για αυτόματη συλλογή αναφορών σφαλμάτων από τους δοκιμαστές. Το Crashlytics συσχετίζει αυτόματα το σφάλμα με μια συγκεκριμένη έκδοση build και συσκευή, που βοηθά στον γρήγορο εντοπισμό και τη διόρθωση του προβλήματος. Οι δοκιμαστές μπορούν επίσης να στέλνουν στιγμιότυπα οθόνης και σχόλια μέσω της διεπαφής ιστού του App Distribution, λαμβάνοντας σύνδεσμο προς τη φόρμα σχολίων μετά την εγκατάσταση του build.
Συχνές ερωτήσεις
Firebase App Distribution — είναι μια cross-platform υπηρεσία (Android + iOS), σε αντίθεση με το TestFlight που λειτουργεί μόνο για iOS. Το App Distribution ενσωματώνεται επίσης με το Crashlytics και το Firebase Analytics, παρέχοντας ένα ενιαίο οικοσύστημα για δοκιμές beta και στις δύο πλατφόρμες.
Τα builds αποθηκεύονται για 150 ημέρες από τη στιγμή της μεταφόρτωσης. Μετά από αυτό το διάστημα διαγράφονται αυτόματα. Συνιστάται η τακτική μεταφόρτωση νέων builds και η μη αυτόματη διαγραφή παλαιών μέσω του Firebase Console, ώστε οι δοκιμαστές να μην εγκαθιστούν παλιές εκδόσεις.
Δεν υπάρχει όριο στον αριθμό των δοκιμαστών στο Firebase App Distribution. Για τη διανομή ad-hoc iOS ισχύει το όριο της Apple των 100 συσκευών ανά λογαριασμό. Για Android και enterprise διανομή iOS δεν υπάρχουν περιορισμοί στον αριθμό των δοκιμαστών.
Ναι, το App Distribution υποστηρίζει AAB (Android App Bundle). Το Firebase δημιουργεί αυτόματα APK από AAB για κάθε συσκευή δοκιμαστή χρησιμοποιώντας το Google Play App Signing. Αυτό είναι ιδιαίτερα βολικό για δοκιμές πριν από τη δημοσίευση στο Play Store.
Ναι, το App Distribution περιλαμβάνεται στο δωρεάν πρόγραμμα Spark της Firebase. Περιορισμοί Spark: έως 500 δοκιμαστές και 25.000 εγκαταστάσεις ανά μήνα ανά έργο. Το πρόγραμμα Blaze καταργεί αυτούς τους περιορισμούς και προσθέτει υποστήριξη προτεραιότητας.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης