Firebase App Distribution: کلیدی تصورات، APK اور IPA کی تقسیم اور سیٹ اپ

مصنف: IT Sectr اشاعت: 2026-04-29 مطالعے کا وقت: 8 منٹ

Firebase App Distribution گوگل کی ایک خدمت ہے جو موبائل ایپلیکیشنز کے پری ریلیز بلڈ کو ایپ اسٹورز میں شائع کیے بغیر ٹیسٹرز اور اندرونی ٹیموں میں تقسیم کرنے کے لیے ہے۔ App Distribution APK اور IPA فائلیں اپ لوڈ کرنے، ٹیسٹر گروپس کے نظم اور رائے جمع کرنے کے لیے ایک متحد انٹرفیس فراہم کرتا ہے۔ Firebase Documentation, 2026 کے مطابق، سروس ای میل اور پش نوٹیفیکیشنز کے ذریعے نئے ورژنز کے بارے میں ٹیسٹرز کو خود بخود مطلع کرتی ہے، اور Fastlane انضمام دستی کارروائیوں کے بغیر براہ راست CI/CD پائپ لائن سے بلڈ شائع کرنے کی اجازت دیتا ہے۔ App Distribution Android (AAB/APK) اور iOS (IPA) دونوں کو سپورٹ کرتا ہے، جس میں ad-hoc اور انٹرپرائز تقسیم شامل ہے۔

اہم نکات

  • App Distribution — Google Play اور App Store پر شائع کیے بغیر ٹیسٹرز میں ایپ کے بیٹا ورژن تقسیم کرنے کے لیے Firebase سروس۔
  • ٹیسٹر گروپس — رسائی کے نظم کا ایک لچکدار نظام: بلڈ پر مختلف اجازتوں کے ساتھ کرداروں، پروجیکٹس یا ٹیسٹنگ مراحل کے مطابق گروپ بنائیں۔
  • خودکار اطلاعیں — ٹیسٹرز کو ہر نئے بلڈ کے ساتھ انسٹالیشن لنک کے ساتھ ای میل اور پش اطلاعیں ملتی ہیں۔
  • Fastlane + Gradle — ہر کمٹ یا پل ریکویسٹ پر خودکار بلڈ اشاعت کے لیے CI/CD سسٹمز کے ساتھ مکمل انضمام۔
  • رائے — ٹیسٹرز بلٹ ان انٹرفیس یا Firebase Crashlytics کے ذریعے اسکرین شاٹس، لاگز اور تبصرے بھیج سکتے ہیں۔

Firebase App Distribution کیا ہے

Firebase App Distribution گوگل کی ایک خدمت ہے جو موبائل ایپلیکیشنز کے پری ریلیز ورژن کو ٹیسٹرز اور اسٹیک ہولڈرز میں تقسیم کرنے کے لیے ہے۔ ایپ اسٹورز میں شائع کرنے کے برعکس، App Distribution طویل جائزہ کے عمل کے بغیر منتخب شرکاء کو فوری طور پر بلڈ فراہم کرنے کی اجازت دیتا ہے۔ سروس Firebase Crashlytics کے ساتھ مربوط ہے، جو ڈویلپرز کو براہ راست ٹیسٹرز سے کریش رپورٹس وصول کرنے اور عوامی ریلیز سے پہلے مسائل کو حل کرنے کے قابل بناتی ہے۔

App Distribution کیوں استعمال کریں

بیٹا ورژن کی تقسیم کے روایتی عمل میں APK/IPA فائلیں دستی طور پر ای میل کے ذریعے بھیجنا، تیسرے فریق کی فائل شیئرنگ سروسز پر اپ لوڈ کرنا یا اپنا سرور ترتیب دینا شامل ہے۔ Firebase App Distribution ان مسائل کو حل کرتا ہے: Google Cloud پر متحد بلڈ ریپوزٹری، خودکار ٹیسٹر اطلاعیں، مرکزی رسائی کا نظم اور Firebase Crashlytics کے ذریعے بلٹ ان رائے۔ یہ سروس CI/CD اور باقاعدہ ریلیز پر عمل کرنے والی ٹیموں کے لیے ناگزیر ہے: اپ لوڈ کرنے کے ایک منٹ کے اندر ٹیسٹرز کے لیے نیا بلڈ دستیاب ہوتا ہے۔

معاون بلڈ فارمیٹس

App Distribution موبائل پلیٹ فارمز کے لیے تمام معیاری بلڈ فارمیٹس کو سپورٹ کرتا ہے۔ Android کے لیے — APK اور Android App Bundle (AAB) انسٹالیشن کے دوران AAB سے خودکار APK جنریشن کے ساتھ۔ iOS کے لیے — ad-hoc، ڈویلپمنٹ اور انٹرپرائز تقسیم کے لیے IPA فائلیں۔ ہر بلڈ ریلیز نوٹس، ورژن نمبر اور ٹریکنگ کے لیے بلڈ کوڈ کے ساتھ آتا ہے۔ زیادہ سے زیادہ اپ لوڈ فائل کا سائز 500 MB ہے اور بلڈ 150 دنوں تک محفوظ رہتے ہیں۔

بلڈ اپ لوڈ کرنا اور ورژن کا نظم

Firebase App Distribution میں بلڈ اپ لوڈ کرنا Firebase Console، CLI (firebase appdistribution:distribute) یا Fastlane اور Gradle جیسے خودکار ٹولز کے ذریعے کیا جاتا ہے۔ اپ لوڈ کرتے وقت، بلڈ ورژن، ریلیز نوٹس اور ٹیسٹرز یا گروپس کی فہرست بتائی جاتی ہے جنہیں اطلاع ملنی چاہیے۔ Firebase خود بخود بلڈ کو ایک منفرد شناخت کنندہ تفویض کرتا ہے اور اسے لنک کے ذریعے انسٹالیشن کے لیے دستیاب کرتا ہے۔

Firebase Console کے ذریعے ورژن کا نظم

Firebase Console بلڈ اپ لوڈ کرنے اور ورژن کے نظم کے لیے ایک ویب انٹرفیس فراہم کرتا ہے۔ کنسول تاریخ، ورژن، حیثیت اور انسٹالیشن کی تعداد کے ساتھ تمام اپ لوڈ کردہ بلڈ کی تاریخ دکھاتا ہے۔ اگر کوئی سنگین بگ ملتا ہے تو ڈویلپر کسی مخصوص ورژن کو غیر فعال کر سکتا ہے — یہ تمام ٹیسٹرز کے لیے اس ورژن کی انسٹالیشن کو روک دے گا۔ کنسول دن کے لحاظ سے انسٹالیشن کا گراف بھی دکھاتا ہے، جو ٹیسٹنگ سرگرمی کو ٹریک کرنے میں مدد کرتا ہے۔

Firebase CLI کے ذریعے خودکار اپ لوڈ

Firebase CLI ایک کمانڈ کے ساتھ بلڈ اپ لوڈ کرنے کی اجازت دیتا ہے، جو CI/CD پائپ لائن انضمام کے لیے آسان ہے۔ distribute کمانڈ فائل پاتھ، پروجیکٹ تک رسائی کا ٹوکن، ٹیسٹر گروپس کی فہرست اور اختیاری ریلیز نوٹس قبول کرتا ہے۔ تصدیق Firebase App Distribution ایڈمن کردار کے ساتھ Firebase سروس اکاؤنٹ کا استعمال کرتی ہے۔ CLI Android اور iOS دونوں بلڈ کو سپورٹ کرتا ہے، فائل ایکسٹینشن کے ذریعے خود بخود پلیٹ فارم کا پتہ لگاتا ہے۔

bash
# 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 ایک لچکدار ٹیسٹر نظم کا نظام فراہم کرتا ہے: ای میل کے ذریعے شرکاء شامل کیے جا سکتے ہیں، کرداروں یا پروجیکٹس کے مطابق گروپ بنائے جا سکتے ہیں اور مختلف گروپوں کو مختلف بلڈ تفویض کیے جا سکتے ہیں۔ جب کوئی نیا ٹیسٹر شامل کیا جاتا ہے، سسٹم انہیں ایپلیکیشن انسٹال کرنے کی ہدایات کے ساتھ ایک دعوتی ای میل بھیجتا ہے۔ ٹیسٹرز اپنے گروپ کو تفویض کردہ ہر نئے بلڈ کے بارے میں خودکار اطلاعیں وصول کرتے ہیں۔

ٹیسٹر گروپ بنانا

گروپ ٹیسٹرز کو فعال طور پر منظم کرنے کی اجازت دیتے ہیں۔ گروپوں کی مثالیں: QA ٹیم (تمام بلڈ تک مکمل رسائی)، پروڈکٹ اونرز (مستحکم بلڈ تک رسائی)، بیرونی ٹیسٹرز (بیرونی بیٹا ٹیسٹرز کے لیے محدود رسائی)۔ ایک ٹیسٹر متعدد گروپوں کا رکن ہو سکتا ہے۔ بلڈ اپ لوڈ کرتے وقت، ڈویلپر ہدف گروپوں کا انتخاب کرتا ہے — صرف منتخب گروپوں کے اراکین کو اطلاعیں ملتی ہیں، جو معلوماتی شور کو ختم کرتا ہے۔

API کے ذریعے ٹیسٹر شامل کرنا

پروگرام کے ذریعے ٹیسٹر شامل کرنے کے لیے Firebase App Distribution API استعمال کی جاتی ہے۔ API آپ کو ٹیسٹر بنانے، انہیں گروپوں میں شامل کرنے اور ضرورت پڑنے پر حذف کرنے کی اجازت دیتی ہے۔ یہ اندرونی ٹیسٹنگ مینجمنٹ سسٹمز اور بگ ٹریکرز کے ساتھ انضمام کے لیے آسان ہے۔ جب API کے ذریعے کوئی ٹیسٹر شامل کیا جاتا ہے، تو انہیں پہلی ایپلیکیشن انسٹال کرنے کے لنک کے ساتھ ایک دعوتی ای میل بھی ملتی ہے۔

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

Android بلڈ کی تقسیم

Firebase App Distribution کے ذریعے Android بلڈ کی تقسیم دو فارمیٹس کو سپورٹ کرتی ہے: APK اور Android App Bundle (AAB)۔ AAB اپ لوڈ کرتے وقت، Firebase Google Play App Signing کا استعمال کرتے ہوئے ٹیسٹر کے آلے کے ساتھ مطابقت رکھنے والا APK خود بخود تیار کرتا ہے۔ ٹیسٹرز براہ راست لنک کے ذریعے ایپلیکیشن انسٹال کرتے ہیں — انہیں Google Play Console تک رسائی کی ضرورت نہیں ہے، نہ ہی انہیں Play Console میں ٹیسٹر کے طور پر شامل ہونے کی ضرورت ہے۔ یہ Android کے لیے بیٹا ٹیسٹنگ کے عمل کو نمایاں طور پر آسان بناتا ہے۔

Android بلڈ کی ضروریات

App Distribution کے ذریعے انسٹال کرنے کے لیے، ٹیسٹرز کو اپنے آلے پر نامعلوم ذرائع سے انسٹالیشن فعال کرنی ہوگی۔ Firebase خود بخود APK انسٹال بٹن والے ویب صفحہ کا لنک تیار کرتا ہے۔ AAB فارمیٹ کے لیے، آلے کو Play Core Library کو سپورٹ کرنا چاہیے اور Google Play Store انسٹال ہونا چاہیے۔ Firebase حتمی ورژن کے لیے AAB اور تیز رفتار تکرار کے لیے APK استعمال کرنے کی سفارش کرتا ہے۔

App Distribution کے لیے Gradle ترتیب

Gradle کے لیے Firebase App Distribution پلگ ان 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 "خودکار بلڈ"
}

iOS بلڈ کی تقسیم

Firebase App Distribution کے ذریعے iOS بلڈ کی تقسیم کے لیے اضافی ترتیب کی ضرورت ہے کیونکہ Apple App Store کے باہر ایپلیکیشن انسٹالیشن کو محدود کرتا ہے۔ iOS ایپس تقسیم کرنے کے لیے، Apple ڈیولپر پروگرام سے ad-hoc یا انٹرپرائز سرٹیفکیٹ استعمال کرنا ضروری ہے۔ ٹیسٹرز کو ad-hoc تقسیم کے لیے آلات کے طور پر Apple ڈیولپر پورٹل میں شامل کیا جانا چاہیے، یا آلے کی حد کے بغیر انٹرپرائز تقسیم استعمال کرنی چاہیے۔

Ad-hoc تقسیم کی ترتیب

Ad-hoc تقسیم کے لیے، تمام ٹیسٹر آلات کے UDID جمع کرنا اور انہیں Apple ڈیولپر پورٹل میں شامل کرنا ضروری ہے۔ Firebase App Distribution ٹیسٹرز کو ان کا UDID تلاش کرنے کی ہدایات دکھاتا ہے اور رجسٹرڈ آلات کو خود بخود محفوظ کرتا ہے۔ پروویژننگ پروفائل میں UDID شامل کرنے اور IPA بنانے کے بعد، ٹیسٹرز کو ایک انسٹالیشن لنک ملتا ہے۔ Firebase بڑی تعداد میں ٹیسٹرز والے پروجیکٹس کے لیے انٹرپرائز سرٹیفکیٹ استعمال کرنے کی سفارش کرتا ہے، کیونکہ ad-hoc فی اکاؤنٹ 100 آلات تک محدود ہے۔

Fastlane کے ذریعے IPA بنانا

Fastlane iOS ایپلیکیشن بلڈ کو خودکار بنانے کے لیے تجویز کردہ ٹول ہے۔ match lane سرٹیفکیٹس اور پروویژننگ پروفائلز کا نظم کرتی ہے، جبکہ sigh lane تقسیم کے لیے IPA تیار کرتی ہے۔ Firebase App Distribution firebase_app_distribution پلگ ان کے ذریعے Fastlane کے ساتھ مربوط ہوتا ہے، جو 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: "بلڈ تاریخ #\{Time.now.strftime
            ('%Y-%m-%d %H:%M')}"
    )
end

CI/CD اور Fastlane کے ساتھ انضمام

CI/CD کے ساتھ Firebase App Distribution کا مکمل انضمام ریپوزٹری میں ہر کمٹ پر خود بخود نئے بلڈ شائع کرنے کی اجازت دیتا ہے۔ CI پائپ لائن ترتیب دے کر، ٹیم کوڈ پش کرنے کے چند منٹوں بعد ٹیسٹرز سے فوری رائے ملتی ہے۔ App Distribution تمام مقبول CI سسٹمز کو سپورٹ کرتا ہے: GitHub Actions، GitLab CI، Jenkins، Bitrise اور CircleCI۔ ہر پلیٹ فارم کو اپنی ترتیب کی ضرورت ہوتی ہے، لیکن عمومی اصول ایک ہی ہے: بنائیں → اپ لوڈ کریں → مطلع کریں۔

GitHub Actions کے ذریعے ترتیب

GitHub Actions develop برانچ میں پش کرنے یا پل ریکویسٹ بنانے پر خودکار بلڈ تقسیم ترتیب دینے کی اجازت دیتا ہے۔ ورک فلو میں Java/Flutter/Node.js انسٹال کرنا، ایپلیکیشن بنانا، Firebase سروس اکاؤنٹ کے ذریعے تصدیق کرنا اور distribute کمانڈ کے ساتھ Firebase CLI چلانا شامل ہے۔ راز (ٹوکن، سروس اکاؤنٹ) GitHub Secrets میں محفوظ ہوتے ہیں اور بلڈ لاگز میں ظاہر نہیں ہوتے۔ iOS کے لیے، ورک فلو میں Xcode ترتیب اور Fastlane انسٹالیشن اضافی طور پر درکار ہے۔

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 خود بخود کریش کو مخصوص بلڈ ورژن اور آلے سے جوڑتا ہے، جو مسئلہ کو فوری تلاش کرنے اور حل کرنے میں مدد کرتا ہے۔ ٹیسٹرز App Distribution ویب انٹرفیس کے ذریعے اسکرین شاٹس اور تبصرے بھی بھیج سکتے ہیں، بلڈ انسٹال کرنے کے بعد فیڈبیک فارم کا لنک حاصل کر سکتے ہیں۔

اکثر پوچھے گئے سوالات

App Distribution TestFlight سے کیسے مختلف ہے؟

Firebase App Distribution ایک کراس پلیٹ فارم سروس (Android + iOS) ہے، TestFlight کے برعکس جو صرف iOS کے لیے کام کرتا ہے۔ App Distribution Crashlytics اور Firebase Analytics کے ساتھ بھی مربوط ہوتا ہے، دونوں پلیٹ فارمز پر بیٹا ٹیسٹنگ کے لیے ایک متحد ماحولیاتی نظام فراہم کرتا ہے۔

App Distribution میں بلڈ کتنے عرصے تک محفوظ رہتے ہیں؟

بلڈ اپ لوڈ کی تاریخ سے 150 دنوں تک محفوظ رہتے ہیں۔ اس مدت کے بعد، وہ خود بخود حذف ہو جاتے ہیں۔ ٹیسٹرز کو پرانے ورژن انسٹال کرنے سے روکنے کے لیے باقاعدگی سے نئے بلڈ اپ لوڈ کرنے اور Firebase Console کے ذریعے پرانے بلڈ کو دستی طور پر حذف کرنے کی سفارش کی جاتی ہے۔

کتنے ٹیسٹرز شامل کیے جا سکتے ہیں؟

Firebase App Distribution میں ٹیسٹرز کی تعداد کی کوئی حد نہیں ہے۔ iOS ad-hoc تقسیم کے لیے، Apple کی فی اکاؤنٹ 100 آلات کی حد لاگو ہوتی ہے۔ Android اور iOS انٹرپرائز تقسیم کے لیے، ٹیسٹرز کی تعداد پر کوئی پابندی نہیں ہے۔

کیا Android کے لیے APK کی بجائے AAB اپ لوڈ کیا جا سکتا ہے؟

ہاں، App Distribution AAB (Android App Bundle) کو سپورٹ کرتا ہے۔ Firebase Google Play App Signing کا استعمال کرتے ہوئے ہر ٹیسٹر کے آلے کے لیے AAB سے خود بخود APK تیار کرتا ہے۔ یہ Play Store میں شائع کرنے سے پہلے ٹیسٹ کرنے کے لیے خاص طور پر آسان ہے۔

کیا Firebase App Distribution مفت ہے؟

ہاں، App Distribution Firebase کے مفت Spark پلان میں شامل ہے۔ Spark پلان کی حدود: فی پروجیکٹ ماہانہ 500 ٹیسٹرز اور 25,000 انسٹال تک۔ Blaze پلان ان حدود کو ہٹاتا ہے اور ترجیحی معاونت شامل کرتا ہے۔

خلاصہ

  • Firebase App Distribution — اسٹورز میں شائع کیے بغیر Android (APK/AAB) اور iOS (IPA) کی حمایت کے ساتھ موبائل ایپلیکیشنز کے بیٹا بلڈ تقسیم کرنے کی خدمت۔
  • ٹیسٹر کا نظم — ہر نئے بلڈ پر خودکار ای میل اور پش اطلاعوں کے ساتھ ایک لچکدار گروپ سسٹم۔
  • بلڈ اپ لوڈ Firebase Console، CLI، Gradle پلگ ان یا Fastlane کے ذریعے خودکار ٹیسٹر اطلاع کے ساتھ کیا جاتا ہے۔
  • Android بلڈ APK اور AAB کو سپورٹ کرتے ہیں، AAB سے خودکار APK جنریشن، Google Play Console کے بغیر براہ راست لنک کے ذریعے انسٹالیشن۔
  • iOS بلڈ کے لیے Apple کا ad-hoc یا انٹرپرائز سرٹیفکیٹ درکار ہے، UDID رجسٹریشن اور IPA بلڈ آٹومیشن کے لیے Fastlane حمایت کے ساتھ۔
  • CI/CD انضمام — GitHub Actions، GitLab CI، Jenkins، Bitrise ہر پش پر خودکار اشاعت کے لیے Firebase CLI یا Fastlane کے ساتھ۔
  • مفت ماہانہ 500 ٹیسٹرز اور 25,000 انسٹال تک، بلڈ 150 دنوں تک محفوظ، کریش رپورٹ جمع کرنے کے لیے Firebase Crashlytics کے ساتھ مربوط۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں