Firebase App Distribution — bu mobil ilovalarning dastlabki qurilmalarini testerlar va ichki jamoalar orasida tarqatish uchun Google xizmati bo'lib, ularni ilova do'konlarida chop etish shart emas. App Distribution APK va IPA yuklash, tester guruhlarini boshqarish va fikr-mulohaza toplash uchun yagona interfeysni taqdim etadi. Firebase Documentation, 2026 ma'lumotlariga ko'ra, xizmat testerlarni elektron pochta va push bildirishnomalari orqali yangi versiyalar haqida avtomatik xabardor qiladi, Fastlane integratsiyasi esa qurilmalarni CI/CD quvuridan to'g'ridan-to'g'ri qo'lda harakatlarsiz chop etish imkonini beradi. App Distribution Android (AAB/APK) va iOS (IPA) ni, shu jumladan ad-hoc va enterprise tarqatishni qo'llab-quvvatlaydi.
Asosiy nuqtalar
Firebase App Distribution — bu mobil ilovalarning oldindan chop etilgan versiyalarini testerlar va manfaatdor tomonlar orasida tarqatish uchun Google xizmati. Ilova do'konlarida chop etishdan farqli o'laroq, App Distribution tanlangan ishtirokchilarga qurilmalarni uzoq ko'rib chiqish jarayonisiz darhol yetkazib berish imkonini beradi. Xizmat Firebase Crashlytics bilan integratsiyalashgan bo'lib, bu dasturchilarga testerlardan to'g'ridan-to'g'ri ishdan chiqish hisobotlarini olish va ommaviy chiqarishdan oldin muammolarni tuzatish imkonini beradi.
Beta versiyalarni tarqatishning an'anaviy jarayoni APK/IPA ni elektron pochta orqali qo'lda yuborish, uchinchi tomon fayl almashish serverlariga yuklash yoki o'z serverini sozlashni o'z ichiga oladi. Firebase App Distribution bu muammolarni hal qiladi: Google Cloud'da yagona qurilma ombori, testerlarga avtomatik bildirishnomalar, markazlashtirilgan kirish boshqaruvi va Firebase Crashlytics orqali o'rnatilgan fikr-mulohaza. Xizmat CI/CD va muntazam chiqarishlarni amalda qo'llaydigan jamoalar uchun ajralmas hisoblanadi: yangi qurilma yuklashdan bir daqiqa o'tgach testerlar uchun mavjud bo'ladi.
App Distribution mobil platformalar uchun barcha standart qurilma formatlarini qo'llab-quvvatlaydi. Android uchun — APK va Android App Bundle (AAB) o'rnatish vaqtida AAB dan avtomatik APK yaratish bilan. iOS uchun — ad-hoc, development va enterprise tarqatish uchun IPA fayllari. Har bir qurilma chiqarish qaydlari (release notes), versiya raqami va kuzatish uchun qurilma kodi bilan birga keladi. Yuklanadigan faylning maksimal hajmi 500 MB, qurilmalarni saqlash muddati — 150 kun.
Qurilmalarni yuklash Firebase App Distribution ga Firebase Console, CLI (firebase appdistribution:distribute) yoki Fastlane va Gradle kabi avtomatlashtirilgan vositalar orqali amalga oshiriladi. Yuklash paytida qurilma versiyasi, chiqarish qaydlari va bildirishnoma olishi kerak bo'lgan testerlar yoki guruhlar ro'yxati ko'rsatiladi. Firebase avtomatik ravishda qurilmaga noyob identifikator beradi va uni havola orqali o'rnatish uchun mavjud qiladi.
Firebase Console qurilmalarni yuklash va versiyalarni boshqarish uchun veb-interfeysni taqdim etadi. Konsolda ko'rsatiladi sana, versiya, holat va o'rnatishlar soni bilan barcha yuklangan qurilmalarning tarixi. Dasturchi tanqidiy xato topilsa, ma'lum versiyani o'chirib qo'yishi mumkin — bu versiyani barcha testerlar tomonidan o'rnatilishini bloklaydi. Konsol shuningdek, test faolligini kuzatishga yordam beradigan kunlar bo'yicha o'rnatish grafigini ko'rsatadi.
Firebase CLI qurilmalarni bir buyruq bilan yuklash imkonini beradi, bu CI/CD quvurlariga integratsiya uchun qulay. distribute buyrug'i fayl yo'lini, loyiha kirish tokenini, tester guruhlari ro'yxatini va ixtiyoriy chiqarish qaydlarini qabul qiladi. Autentifikatsiya uchun Firebase App Distribution Admin roli bilan Firebase xizmat hisobidan foydalaniladi. CLI Android va iOS qurilmalarini qo'llab-quvvatlaydi, platformani fayl kengaytmasiga qarab avtomatik aniqlaydi.
# Qurilmani Firebase CLI orqali yuklash
firebase appdistribution:distribute \
app-release.apk \
--app 1:123456789:android:abc123def456 \
--groups "qa-team,product-owners" \
--release-notes "Avtorizatsiya xatosi tuzatildi" \
--token "FIREBASE_TOKEN"
Firebase App Distribution moslashuvchan tester boshqaruv tizimini taqdim etadi: ishtirokchilarni elektron pochta orqali qo'shish, rollar yoki loyihalar bo'yicha guruhlar yaratish va turli qurilmalarni turli guruhlarga tayinlash mumkin. Yangi tester qo'shilganda, tizim unga ilovani o'rnatish bo'yicha ko'rsatmalar bilan taklifnoma yuboradi. Testerlar o'z guruhiga tayinlangan har bir yangi qurilma haqida avtomatik bildirishnomalar oladi.
Guruhlar testerlarni funktsional printsip bo'yicha tashkil etish imkonini beradi. Guruh misollari: QA jamoasi (barcha qurilmalarga to'liq kirish), Product Owners (barqaror qurilmalarga kirish), External Testerlar (tashqi beta testerlar uchun cheklangan kirish). Bitta tester bir nechta guruhga a'zo bo'lishi mumkin. Qurilma yuklanayotganda, dasturchi maqsadli guruhlarni tanlaydi — bildirishnomalarni faqat tanlangan guruhlar a'zolari oladi, bu esa ma'lumot shovqinini yo'q qiladi.
Testerlarni dasturiy ravishda qo'shish uchun Firebase App Distribution API dan foydalaniladi. API imkon beradi testerlar yaratish, ularni guruhlarga qo'shish va kerak bo'lganda o'chirish. Bu ichki test boshqaruv tizimlari va bug trekerlari bilan integratsiya qilishda qulay. API orqali tester qo'shilganda, u ham birinchi ilovani o'rnatish havolasi bilan taklifnoma oladi.
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 guruhga qo'shildi")
} catch (error) {
console.error("Xato:", error)
}
}
addTestersToGroup("tester@example.com", "qa-team")
Android qurilmalarini tarqatish Firebase App Distribution orqali ikkita formatni qo'llab-quvvatlaydi: APK va Android App Bundle (AAB). AAB yuklanayotganda, Firebase Google Play App Signing dan foydalanib tester qurilmasiga mos APK ni avtomatik yaratadi. Testerlar ilovani to'g'ridan-to'g'ri havola orqali o'rnatadi — ularga Google Play Console ga kirish kerak emas va ular Play Console da tester sifatida qo'shilishi shart emas. Bu Android uchun beta test jarayonini sezilarli darajada soddalashtiradi.
App Distribution orqali o'rnatish uchun testerlar qurilmada noma'lum manbalardan o'rnatishni yoqishi kerak. Firebase avtomatik APK o'rnatish tugmasi bo'lgan veb-sahifaga olib boradigan havolani yaratadi. AAB formati uchun qurilma Play Core Library ni qo'llab-quvvatlashi va Google Play Store o'rnatilgan bo'lishi kerak. Firebase yakuniy versiyalar uchun AAB va tezkor iteratsiyalar uchun APK dan foydalanishni tavsiya qiladi.
Firebase App Distribution uchun Gradle plagini qurilmalarni to'g'ridan-to'g'ri Gradle topshirig'idan yuborish imkonini beradi. Sozlash o'z ichiga oladi com.google.firebase.appdistribution plaginini qo'shish, xizmat hisobini sozlash va maqsadli guruhlarni belgilash. Sozlashdan so'ng, assembleDistRelease topshirig'i ilovani qurib va bir buyruq bilan Firebase App Distribution ga yuklaydi.
// 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 "Avtomatik qurilma"
}
iOS qurilmalarini tarqatish Firebase App Distribution orqali qo'shimcha sozlashni talab qiladi, chunki Apple ilovalarni App Store dan tashqarida o'rnatilishini cheklaydi. iOS ilovalarini tarqatish uchun Apple Developer dasturining ad-hoc yoki enterprise sertifikatlaridan foydalanish kerak. Testerlar Apple Developer Portal da ad-hoc tarqatish uchun qurilma sifatida qo'shilishi yoki qurilma cheklovisiz enterprise tarqatishdan foydalanishi kerak.
Ad-hoc tarqatish uchun barcha tester qurilmalarining UDID larini to'plash va ularni Apple Developer Portal ga qo'shish kerak. Firebase App Distribution testerlarga UDID ni topish bo'yicha ko'rsatmalarni ko'rsatadi va ro'yxatdan o'tgan qurilmalarni avtomatik saqlaydi. UDID provisioning profile ga qo'shilgandan va IPA qurilgandan so'ng, testerlar o'rnatish havolasini oladi. Firebase ko'p sonli testerlari bo'lgan loyihalar uchun enterprise sertifikatidan foydalanishni tavsiya qiladi, chunki ad-hoc hisob uchun 100 qurilma bilan cheklangan.
Fastlane — iOS ilovalarini qurishni avtomatlashtirish uchun tavsiya etilgan vosita. Lane match sertifikatlar va provisioning profile larni boshqaradi, lane sigh esa tarqatish uchun IPA yaratadi. Firebase App Distribution firebase_app_distribution plagini orqali Fastlane bilan integratsiyalanadi, IPA ni yuklaydi va testerlarga bildirishnoma yuboradi. Fastlane shuningdek, qo'shimcha plaginlar orqali versiyalarni boshqarish va chiqarish qaydlarini qo'llab-quvvatlaydi.
# 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 dan #\{Time.now.strftime
('%Y-%m-%d %H:%M')}"
)
end
Firebase App Distribution ning to'liq integratsiyasi CI/CD bilan har bir repository ga commitda avtomatik ravishda yangi qurilmalarni chop etish imkonini beradi. CI quvurini sozlash orqali jamoa kod surilgandan bir necha daqiqa o'tgach testerlardan zudlik bilan fikr-mulohaza oladi. App Distribution barcha mashhur CI tizimlarini qo'llab-quvvatlaydi: GitHub Actions, GitLab CI, Jenkins, Bitrise va CircleCI. Har bir platforma uchun o'z sozlash talab qilinadi, ammo umumiy printsip bir xil: qurish → yuklash → bildirishnoma.
GitHub Actions develop branchiga surish yoki pull request yaratishda qurilmalarning avtomatik tarqatilishini sozlash imkonini beradi. Workflow o'z ichiga oladi Java/Flutter/Node.js o'rnatish, ilovani qurish, Firebase Service Account orqali autentifikatsiya va distribute buyrug'i bilan Firebase CLI ni ishga tushirish. Sirlar (tokenlar, xizmat hisoblari) GitHub Secrets da saqlanadi va qurilish jurnallarida oshkor etilmaydi. iOS uchun qo'shimcha ravishda Xcode sozlash va workflow da Fastlane o'rnatish talab qilinadi.
# .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 testerlardan ishdan chiqish hisobotlarini avtomatik to'plash uchun Firebase Crashlytics bilan integratsiyalanadi. Crashlytics avtomatik ishdan chiqishni ma'lum qurilma versiyasi va qurilmaga bog'laydi, bu muammoni tez lokalizatsiya qilish va tuzatishga yordam beradi. Testerlar shuningdek, App Distribution ning veb-interfeysi orqali ekran tasvirlari va sharhlarni yuborishi mumkin, qurilma o'rnatilgandan so'ng fikr-mulohaza formasi havolasini oladi.
Ko'p beriladigan savollar
Firebase App Distribution — bu ko'p platformali xizmat (Android + iOS), TestFlight dan farqli o'laroq, u faqat iOS uchun ishlaydi. App Distribution shuningdek Crashlytics va Firebase Analytics bilan integratsiyalanib, ikkala platformada beta test uchun yagona ekotizimni ta'minlaydi.
Qurilmalar 150 kun saqlanadi yuklash vaqtidan boshlab. Bu muddatdan so'ng ular avtomatik o'chiriladi. Testerlar eskirgan versiyalarni o'rnatmasligi uchun muntazam ravishda yangi qurilmalarni yuklash va Firebase Console orqali eskirganlarini qo'lda o'chirish tavsiya etiladi.
Cheklov yo'q Firebase App Distribution da testerlar soni uchun. iOS ad-hoc tarqatish uchun Apple hisob uchun 100 qurilma limiti amal qiladi. Android va iOS enterprise tarqatish uchun testerlar soni cheklanmagan.
Ha, App Distribution AAB (Android App Bundle) ni qo'llab-quvvatlaydi. Firebase Google Play App Signing dan foydalanib har bir tester qurilmasi uchun AAB dan avtomatik APK yaratadi. Bu, ayniqsa, Play Store da chop etishdan oldin test qilish uchun qulay.
Ha, App Distribution Firebase ning bepul Spark rejasiga kiradi. Spark cheklovlari: loyiha uchun oyiga 500 tagacha tester va 25 000 o'rnatish. Blaze rejasi bu cheklovlarni olib tashlaydi va ustuvor qo'llab-quvvatlashni qo'shadi.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.