Firebase App Distribution: temel kavramlar, APK ve IPA dağıtımı ve kurulum

Yazar: IT Sectr Yayınlanma: 2026-04-29 Okuma süresi: 8 dk

Firebase App Distribution, mobil uygulamaların ön sürüm yapılarını uygulama mağazalarında yayınlamadan test ediciler ve dahili ekipler arasında dağıtmak için bir Google hizmetidir. App Distribution, APK ve IPA dosyalarını yüklemek, test edici gruplarını yönetmek ve geri bildirim toplamak için birleşik bir arayüz sağlar. Firebase Documentation, 2026'ya göre, hizmet, yeni sürümler hakkında test edicilere e-posta ve push bildirimleri aracılığıyla otomatik olarak bildirir ve Fastlane entegrasyonu, manuel işlemler olmadan doğrudan CI/CD boru hattından yapıları yayınlamaya olanak tanır. App Distribution, hem Android (AAB/APK) hem de iOS'u (IPA) destekler ve ad-hoc ile kurumsal dağıtımı içerir.

Önemli noktalar

  • App Distribution — uygulamaların beta sürümlerini Google Play veya App Store'da yayınlamadan test edicilere dağıtmak için bir Firebase hizmeti.
  • Test edici grupları — esnek bir erişim yönetim sistemi: yapılar üzerinde farklı izinlerle rollere, projelere veya test aşamalarına göre gruplar oluşturun.
  • Otomatik bildirimler — test ediciler, her yeni yapıda bir kurulum bağlantısıyla e-posta ve push bildirimleri alır.
  • Fastlane + Gradle — her commit veya pull request'te otomatik yapı yayını için CI/CD sistemleriyle tam entegrasyon.
  • Geri bildirim — test ediciler, yerleşik arayüz veya Firebase Crashlytics aracılığıyla ekran görüntüleri, günlükler ve yorumlar gönderebilir.

Firebase App Distribution Nedir

Firebase App Distribution, mobil uygulamaların ön sürümlerini test edicilere ve paydaşlara dağıtmak için bir Google hizmetidir. Uygulama mağazalarında yayınlamanın aksine, App Distribution, uzun bir inceleme süreci olmadan seçilen katılımcılara anında yapı teslim etmeye olanak tanır. Hizmet, Firebase Crashlytics ile entegre olup geliştiricilerin doğrudan test edicilerden çökme raporları almasını ve herkese açık sürümden önce sorunları düzeltmesini sağlar.

Neden App Distribution Kullanmalısınız

Geleneksel beta dağıtım süreci, APK/IPA dosyalarını manuel olarak e-posta ile göndermeyi, üçüncü taraf dosya paylaşım hizmetlerine yüklemeyi veya kendi sunucunuzu kurmayı içerir. Firebase App Distribution bu sorunları çözer: Google Cloud'da birleşik bir yapı deposu, otomatik test edici bildirimleri, merkezi erişim yönetimi ve Firebase Crashlytics aracılığıyla yerleşik geri bildirim. Hizmet, CI/CD ve düzenli sürümler uygulayan ekipler için vazgeçilmezdir: yeni bir yapı, yüklemeden sonraki bir dakika içinde test edicilerin kullanımına sunulur.

Desteklenen Yapı Formatları

App Distribution, mobil platformlar için tüm standart yapı formatlarını destekler. Android için — APK ve Android App Bundle (AAB), kurulum sırasında AAB'den otomatik APK oluşturma ile. iOS için — ad-hoc, geliştirme ve kurumsal dağıtım için IPA dosyaları. Her yapıya sürüm notları, sürüm numarası ve izleme için yapı kodu eşlik eder. Maksimum yükleme dosya boyutu 500 MB'dir ve yapılar 150 gün boyunca saklanır.

Yapıları Yükleme ve Sürüm Yönetimi

Firebase App Distribution'a yapı yükleme, Firebase Console, CLI (firebase appdistribution:distribute) veya Fastlane ve Gradle gibi otomatik araçlar aracılığıyla yapılır. Yükleme sırasında, yapı sürümü, sürüm notları ve bildirim alması gereken test ediciler veya grupların listesi belirtilir. Firebase, yapıya otomatik olarak benzersiz bir tanımlayıcı atar ve bir bağlantı aracılığıyla kurulum için kullanılabilir hale getirir.

Firebase Console ile Sürüm Yönetimi

Firebase Console, yapıları yüklemek ve sürümleri yönetmek için bir web arayüzü sağlar. Konsol, tarih, sürüm, durum ve kurulum sayısıyla birlikte yüklenen tüm yapıların geçmişini görüntüler. Kritik bir hata bulunursa geliştirici belirli bir sürümü devre dışı bırakabilir — bu, tüm test ediciler için bu sürümün kurulumunu engeller. Konsol ayrıca günlük kurulum grafiği göstererek test etkinliğinin izlenmesine yardımcı olur.

Firebase CLI ile Otomatik Yükleme

Firebase CLI, CI/CD boru hattı entegrasyonu için uygun olan tek bir komutla yapıların yüklenmesine olanak tanır. distribute komutu bir dosya yolu, proje erişim belirteci, test edici gruplarının listesi ve isteğe bağlı sürüm notlarını kabul eder. Kimlik doğrulama, Firebase App Distribution Yöneticisi rolüne sahip bir Firebase hizmet hesabı kullanır. CLI, dosya uzantısına göre platformu otomatik olarak algılayarak hem Android hem de iOS yapılarını destekler.

bash
# Firebase CLI ile yapı yükleme
firebase appdistribution:distribute \
    app-release.apk \
    --app 1:123456789:android:abc123def456 \
    --groups "qa-team,product-owners" \
    --release-notes "Yetkilendirme hatası düzeltildi" \
    --token "FIREBASE_TOKEN"

Test Edicileri ve Grupları Yönetme

Firebase App Distribution esnek bir test edici yönetim sistemi sağlar: katılımcıları e-posta ile ekleyebilir, rollere veya projelere göre gruplar oluşturabilir ve farklı gruplara farklı yapılar atayabilirsiniz. Yeni bir test edici eklendiğinde, sistem onlara uygulamayı kurmak için talimatlar içeren bir davet e-postası gönderir. Test ediciler, gruplarına atanan her yeni yapı hakkında otomatik bildirim alır.

Test Edici Grupları Oluşturma

Gruplar, test edicileri işlevsel olarak organize etmeye olanak tanır. Grup örnekleri: QA Ekibi (tüm yapılara tam erişim), Ürün Sahipleri (kararlı yapılara erişim), Harici Test Ediciler (harici beta test edicileri için sınırlı erişim). Bir test edici birden fazla gruba ait olabilir. Bir yapı yüklenirken geliştirici hedef grupları seçer — yalnızca seçilen grupların üyeleri bildirim alır, bu da bilgi gürültüsünü ortadan kaldırır.

API ile Test Edici Ekleme

Programlı olarak test edici eklemek için Firebase App Distribution API'si kullanılır. API, test ediciler oluşturmanıza, bunları gruplara eklemenize ve gerektiğinde silmenize olanak tanır. Bu, dahili test yönetim sistemleri ve hata izleyicileriyle entegrasyon için kullanışlıdır. Bir test edici API aracılığıyla eklendiğinde, ilk uygulamayı kurmak için bir bağlantı içeren bir davet e-postası da alır.

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("Test edici gruba eklendi")
    } catch (error) {
        console.error("Hata:", error)
    }
}

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

Android Yapılarını Dağıtma

Firebase App Distribution aracılığıyla Android yapılarının dağıtımı iki formatı destekler: APK ve Android App Bundle (AAB). Bir AAB yüklenirken Firebase, Google Play App Signing kullanarak test edicinin cihazıyla uyumlu bir APK'yı otomatik olarak oluşturur. Test ediciler, uygulamayı doğrudan bir bağlantı aracılığıyla kurar — Google Play Console'a erişmeleri gerekmez ve Play Console'da test edici olarak eklenmeleri gerekmez. Bu, Android için beta test sürecini önemli ölçüde basitleştirir.

Android Yapı Gereksinimleri

App Distribution aracılığıyla kurulum yapmak için test edicilerin cihazlarında bilinmeyen kaynaklardan kurulumu etkinleştirmesi gerekir. Firebase otomatik olarak bir APK kurulum düğmesi olan bir web sayfasına bağlantı oluşturur. AAB formatı için cihazın Play Core Library'yi desteklemesi ve Google Play Store'un yüklü olması gerekir. Firebase, son sürümler için AAB ve hızlı yinelemeler için APK kullanılmasını önerir.

App Distribution için Gradle Yapılandırması

Gradle için Firebase App Distribution eklentisi, doğrudan bir Gradle görevinden yapı göndermeye olanak tanır. Yapılandırma, com.google.firebase.appdistribution eklentisini eklemeyi, bir hizmet hesabı ayarlamayı ve hedef grupları yapılandırmayı içerir. Kurulumdan sonra, assembleDistRelease görevi uygulamayı oluşturacak ve tek bir komutla Firebase App Distribution'a yükleyecektir.

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 "Otomatik yapı"
}

iOS Yapılarını Dağıtma

Firebase App Distribution aracılığıyla iOS yapılarının dağıtımı ek kurulum gerektirir çünkü Apple, uygulamaların App Store dışında kurulumunu kısıtlar. iOS uygulamalarını dağıtmak için Apple Geliştirici Programı'ndan ad-hoc veya kurumsal sertifikalar kullanmak gerekir. Test ediciler, ad-hoc dağıtım için cihazlar olarak Apple Geliştirici Portalı'na eklenmeli veya cihaz sınırı olmayan kurumsal dağıtım kullanılmalıdır.

Ad-hoc Dağıtım Kurulumu

Ad-hoc dağıtım için, tüm test edici cihazlarının UDID'lerini toplamak ve bunları Apple Geliştirici Portalı'na eklemek gerekir. Firebase App Distribution test edicilere UDID'lerini bulmaları için talimatlar gösterir ve kayıtlı cihazları otomatik olarak kaydeder. UDID sağlama profiline eklendikten ve IPA oluşturulduktan sonra test ediciler bir kurulum bağlantısı alır. Firebase, çok sayıda test edicisi olan projeler için kurumsal sertifika kullanılmasını önerir çünkü ad-hoc, hesap başına 100 cihazla sınırlıdır.

Fastlane ile IPA Oluşturma

Fastlane, iOS uygulama yapılarını otomatikleştirmek için önerilen araçtır. match lane sertifikaları ve sağlama profillerini yönetirken, sigh lane dağıtım için bir IPA oluşturur. Firebase App Distribution, firebase_app_distribution eklentisi aracılığıyla Fastlane ile entegre olur, IPA'yı yükler ve test edicilere bildirir. Fastlane ayrıca ek eklentiler aracılığıyla sürüm yönetimini ve sürüm notlarını destekler.

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

CI/CD ve Fastlane ile Entegrasyon

Firebase App Distribution'ın CI/CD ile tam entegrasyonu, depodaki her commit'te otomatik olarak yeni yapılar yayınlamaya olanak tanır. Bir CI boru hattı kurarak, ekip kod gönderiminden dakikalar sonra test edicilerden anında geri bildirim alır. App Distribution tüm popüler CI sistemlerini destekler: GitHub Actions, GitLab CI, Jenkins, Bitrise ve CircleCI. Her platform kendi yapılandırmasını gerektirir, ancak genel prensip aynıdır: oluştur → yükle → bildir.

GitHub Actions ile Kurulum

GitHub Actions, develop dalına gönderim yaparken veya pull request oluştururken otomatik yapı dağıtımı ayarlamaya olanak tanır. İş akışı, Java/Flutter/Node.js kurulumunu, uygulamayı oluşturmayı, bir Firebase Hizmet Hesabı aracılığıyla kimlik doğrulamayı ve distribute komutuyla Firebase CLI'yı çalıştırmayı içerir. Sırlar (belirteçler, hizmet hesapları) GitHub Secrets'da saklanır ve yapı günlüklerinde ifşa edilmez. iOS için, iş akışında ayrıca Xcode kurulumu ve Fastlane yüklemesi gerekir.

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

Geri Bildirim Toplama

Firebase App Distribution, test edicilerden otomatik çökme raporu toplama için Firebase Crashlytics ile entegre olur. Crashlytics otomatik olarak bir çökmeyi belirli bir yapı sürümüne ve cihaza bağlayarak sorunun hızlı bir şekilde bulunmasına ve düzeltilmesine yardımcı olur. Test ediciler ayrıca App Distribution web arayüzü aracılığıyla ekran görüntüleri ve yorumlar gönderebilir, yapıyı kurduktan sonra geri bildirim formunun bağlantısını alabilir.

Sıkça Sorulan Sorular

App Distribution, TestFlight'tan nasıl farklıdır?

Firebase App Distribution, yalnızca iOS için çalışan TestFlight'ın aksine çapraz platform bir hizmetidir (Android + iOS). App Distribution ayrıca Crashlytics ve Firebase Analytics ile entegre olarak her iki platformda beta testi için birleşik bir ekosistem sağlar.

App Distribution'da yapılar ne kadar süre saklanır?

Yapılar, yükleme tarihinden itibaren 150 gün boyunca saklanır. Bu sürenin sonunda otomatik olarak silinirler. Test edicilerin eski sürümleri yüklemesini önlemek için düzenli olarak yeni yapılar yüklemeniz ve Firebase Console aracılığıyla eski yapıları manuel olarak silmeniz önerilir.

Kaç test edici eklenebilir?

Firebase App Distribution'da test edici sayısında bir sınır yoktur. iOS ad-hoc dağıtımı için Apple'ın hesap başına 100 cihaz sınırı geçerlidir. Android ve iOS kurumsal dağıtımı için test edici sayısında herhangi bir kısıtlama yoktur.

Android için APK yerine AAB yüklenebilir mi?

Evet, App Distribution AAB'yi (Android App Bundle) destekler. Firebase, Google Play App Signing kullanarak her test edicinin cihazı için AAB'den otomatik olarak APK oluşturur. Bu, Play Store'da yayınlamadan önce test etmek için özellikle kullanışlıdır.

Firebase App Distribution ücretsiz mi?

Evet, App Distribution, Firebase'in ücretsiz Spark planına dahildir. Spark planı sınırları: proje başına ayda 500 test edici ve 25.000 kuruluma kadar. Blaze planı bu sınırları kaldırır ve öncelikli destek ekler.

Özet

  • Firebase App Distribution — mağazalarda yayınlamadan Android (APK/AAB) ve iOS (IPA) desteğiyle mobil uygulamaların beta yapılarını dağıtmak için bir hizmet.
  • Test edici yönetimi — her yeni yapıda otomatik e-posta ve push bildirimleriyle esnek bir grup sistemi.
  • Yapı yükleme Firebase Console, CLI, Gradle eklentisi veya Fastlane aracılığıyla otomatik test edici bildirimi ile yapılır.
  • Android yapıları APK ve AAB'yi destekler, AAB'den otomatik APK oluşturma, Google Play Console olmadan doğrudan bağlantı ile kurulum.
  • iOS yapıları Apple ad-hoc veya kurumsal sertifikası gerektirir, UDID kaydı ve IPA yapı otomasyonu için Fastlane desteği ile.
  • CI/CD entegrasyonu — GitHub Actions, GitLab CI, Jenkins, Bitrise, her gönderimde otomatik yayın için Firebase CLI veya Fastlane ile.
  • Ücretsiz ayda 500 test edici ve 25.000 kuruluma kadar, yapılar 150 gün saklanır, çökme raporu toplama için Firebase Crashlytics ile entegre.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun