Firebase App Distribution হল Google-এর একটি পরিষেবা যা অ্যাপ স্টোরে প্রকাশ না করেই মোবাইল অ্যাপ্লিকেশনের প্রি-রিলিজ বিল্ড পরীক্ষক এবং অভ্যন্তরীণ দলের মধ্যে বিতরণ করার জন্য। App Distribution APK এবং IPA ফাইল আপলোড করা, পরীক্ষক গ্রুপ পরিচালনা এবং প্রতিক্রিয়া সংগ্রহ করার জন্য একটি ইউনিফাইড ইন্টারফেস প্রদান করে। Firebase Documentation, 2026 অনুসারে, পরিষেবাটি ইমেল এবং পুশ বিজ্ঞপ্তির মাধ্যমে নতুন সংস্করণ সম্পর্কে পরীক্ষকদের স্বয়ংক্রিয়ভাবে অবহিত করে, এবং Fastlane সংহতকরণ ম্যানুয়াল ক্রিয়া ছাড়াই সরাসরি CI/CD পাইপলাইন থেকে বিল্ড প্রকাশ করার অনুমতি দেয়। App Distribution Android (AAB/APK) এবং iOS (IPA) উভয়ই সমর্থন করে, যার মধ্যে ad-hoc এবং এন্টারপ্রাইজ বিতরণ অন্তর্ভুক্ত।
মূল পয়েন্ট
Firebase App Distribution হল Google-এর একটি পরিষেবা যা মোবাইল অ্যাপ্লিকেশনের প্রি-রিলিজ সংস্করণ পরীক্ষক এবং অংশীদারদের মধ্যে বিতরণ করার জন্য। অ্যাপ স্টোরে প্রকাশ করার বিপরীতে, App Distribution দীর্ঘ পর্যালোচনা প্রক্রিয়া ছাড়াই নির্বাচিত অংশগ্রহণকারীদের তাত্ক্ষণিকভাবে বিল্ড সরবরাহ করার অনুমতি দেয়। পরিষেবাটি Firebase Crashlytics-এর সাথে সংহত, যা ডেভেলপারদের সরাসরি পরীক্ষকদের থেকে ক্র্যাশ রিপোর্ট পেতে এবং পাবলিক রিলিজের আগে সমস্যাগুলি ঠিক করতে সক্ষম করে।
বিটা সংস্করণ বিতরণের ঐতিহ্যগত প্রক্রিয়ায় ইমেলের মাধ্যমে ম্যানুয়ালি 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 CLI একটি একক কমান্ডের সাথে বিল্ড আপলোড করার অনুমতি দেয়, যা CI/CD পাইপলাইন সংহতকরণের জন্য সুবিধাজনক। distribute কমান্ড ফাইল পাথ, প্রোজেক্ট অ্যাক্সেস টোকেন, পরীক্ষক গ্রুপের তালিকা এবং ঐচ্ছিক রিলিজ নোট গ্রহণ করে। প্রমাণীকরণ Firebase App Distribution Admin ভূমিকা সহ একটি Firebase পরিষেবা অ্যাকাউন্ট ব্যবহার করে। CLI Android এবং iOS উভয় বিল্ড সমর্থন করে, ফাইল এক্সটেনশন দ্বারা স্বয়ংক্রিয়ভাবে প্ল্যাটফর্ম সনাক্ত করে।
# 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 টিম (সমস্ত বিল্ডে সম্পূর্ণ অ্যাক্সেস), প্রোডাক্ট ওনার (স্থিতিশীল বিল্ডে অ্যাক্সেস), বাহ্যিক পরীক্ষক (বাহ্যিক বিটা পরীক্ষকদের জন্য সীমিত অ্যাক্সেস)। একজন পরীক্ষক একাধিক গ্রুপের সদস্য হতে পারেন। বিল্ড আপলোড করার সময়, ডেভেলপার লক্ষ্য গ্রুপ নির্বাচন করে — শুধুমাত্র নির্বাচিত গ্রুপের সদস্যরা বিজ্ঞপ্তি পায়, যা তথ্যগত গোলমাল দূর করে।
প্রোগ্রামেটিকভাবে পরীক্ষক যুক্ত করতে Firebase App Distribution API ব্যবহার করা হয়। API আপনাকে পরীক্ষক তৈরি করতে, গ্রুপে যুক্ত করতে এবং প্রয়োজন হলে মুছে ফেলতে অনুমতি দেয়। এটি অভ্যন্তরীণ পরীক্ষণ ব্যবস্থাপনা সিস্টেম এবং বাগ ট্র্যাকারের সাথে সংহতকরণের জন্য সুবিধাজনক। যখন API-এর মাধ্যমে একজন পরীক্ষক যুক্ত করা হয়, তারা প্রথম অ্যাপ্লিকেশন ইনস্টল করার লিঙ্ক সহ একটি আমন্ত্রণ ইমেলও পায়।
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")
Firebase App Distribution-এর মাধ্যমে Android বিল্ড বিতরণ দুটি ফর্ম্যাট সমর্থন করে: APK এবং Android App Bundle (AAB)। AAB আপলোড করার সময়, Firebase Google Play App Signing ব্যবহার করে পরীক্ষকের ডিভাইসের সাথে সামঞ্জস্যপূর্ণ APK স্বয়ংক্রিয়ভাবে তৈরি করে। পরীক্ষকরা সরাসরি লিঙ্কের মাধ্যমে অ্যাপ্লিকেশন ইনস্টল করে — তাদের Google Play Console-এ অ্যাক্সেসের প্রয়োজন নেই, বা তাদের Play Console-এ পরীক্ষক হিসাবে যুক্ত হওয়ার প্রয়োজন নেই। এটি Android-এর জন্য বিটা পরীক্ষণ প্রক্রিয়াকে উল্লেখযোগ্যভাবে সরল করে।
App Distribution-এর মাধ্যমে ইনস্টল করতে, পরীক্ষকদের তাদের ডিভাইসে অজানা উৎস থেকে ইনস্টলেশন সক্ষম করতে হবে। Firebase স্বয়ংক্রিয়ভাবে APK ইনস্টল বাটন সহ একটি ওয়েব পৃষ্ঠার লিঙ্ক তৈরি করে। AAB ফর্ম্যাটের জন্য, ডিভাইসটিকে Play Core Library সমর্থন করতে হবে এবং Google Play Store ইনস্টল থাকতে হবে। Firebase চূড়ান্ত সংস্করণের জন্য AAB এবং দ্রুত পুনরাবৃত্তির জন্য APK ব্যবহার করার পরামর্শ দেয়।
Gradle-এর জন্য Firebase App Distribution প্লাগইন 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 "স্বয়ংক্রিয় বিল্ড"
}
Firebase App Distribution-এর মাধ্যমে iOS বিল্ড বিতরণের জন্য অতিরিক্ত সেটআপ প্রয়োজন কারণ Apple App Store-এর বাইরে অ্যাপ্লিকেশন ইনস্টলেশন সীমাবদ্ধ করে। iOS অ্যাপ বিতরণ করতে, Apple ডেভেলপার প্রোগ্রাম থেকে ad-hoc বা এন্টারপ্রাইজ সার্টিফিকেট ব্যবহার করা প্রয়োজন। পরীক্ষকদের ad-hoc বিতরণের জন্য ডিভাইস হিসাবে Apple ডেভেলপার পোর্টালে যুক্ত করতে হবে, বা ডিভাইস সীমা ছাড়াই এন্টারপ্রাইজ বিতরণ ব্যবহার করতে হবে।
Ad-hoc বিতরণের জন্য, সমস্ত পরীক্ষক ডিভাইসের UDID সংগ্রহ করা এবং Apple ডেভেলপার পোর্টালে যুক্ত করা প্রয়োজন। Firebase App Distribution পরীক্ষকদের UDID খোঁজার নির্দেশনা দেখায় এবং স্বয়ংক্রিয়ভাবে নিবন্ধিত ডিভাইস সংরক্ষণ করে। প্রভিশনিং প্রোফাইলে UDID যোগ করার এবং IPA তৈরি করার পরে, পরীক্ষকরা একটি ইনস্টলেশন লিঙ্ক পান। Firebase বিপুল সংখ্যক পরীক্ষক সহ প্রোজেক্টের জন্য এন্টারপ্রাইজ সার্টিফিকেট ব্যবহার করার পরামর্শ দেয়, কারণ ad-hoc প্রতি অ্যাকাউন্টে 100 ডিভাইসে সীমাবদ্ধ।
Fastlane iOS অ্যাপ্লিকেশন বিল্ড স্বয়ংক্রিয় করার জন্য প্রস্তাবিত টুল। match lane সার্টিফিকেট এবং প্রভিশনিং প্রোফাইল পরিচালনা করে, যখন sigh lane বিতরণের জন্য IPA তৈরি করে। Firebase App Distribution firebase_app_distribution প্লাগইনের মাধ্যমে Fastlane-এর সাথে সংহত হয়, যা 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: "বিল্ড #\{Time.now.strftime
('%Y-%m-%d %H:%M')}"
)
end
CI/CD-এর সাথে Firebase App Distribution-এর পূর্ণ সংহতকরণ রিপোজিটরিতে প্রতিটি কমিটের সাথে স্বয়ংক্রিয়ভাবে নতুন বিল্ড প্রকাশ করার অনুমতি দেয়। CI পাইপলাইন সেটআপ করে, দল কোড পুশের কয়েক মিনিট পরে পরীক্ষকদের থেকে তাত্ক্ষণিক প্রতিক্রিয়া পায়। App Distribution সমস্ত জনপ্রিয় CI সিস্টেম সমর্থন করে: GitHub Actions, GitLab CI, Jenkins, Bitrise এবং CircleCI। প্রতিটি প্ল্যাটফর্মের নিজস্ব কনফিগারেশন প্রয়োজন, তবে সাধারণ নীতি একই: বিল্ড → আপলোড → বিজ্ঞপ্তি।
GitHub Actions develop ব্রাঞ্চে পুশ বা পুল রিকোয়েস্ট তৈরি করার সময় স্বয়ংক্রিয় বিল্ড বিতরণ সেটআপ করার অনুমতি দেয়। ওয়ার্কফ্লোতে অন্তর্ভুক্ত Java/Flutter/Node.js ইনস্টল করা, অ্যাপ্লিকেশন তৈরি করা, Firebase পরিষেবা অ্যাকাউন্টের মাধ্যমে প্রমাণীকরণ এবং distribute কমান্ডের সাথে Firebase CLI চালানো। গোপনীয়তা (টোকেন, পরিষেবা অ্যাকাউন্ট) GitHub Secrets-এ সংরক্ষণ করা হয় এবং বিল্ড লগে প্রকাশিত হয় না। iOS-এর জন্য, ওয়ার্কফ্লোতে Xcode সেটআপ এবং Fastlane ইনস্টলেশন অতিরিক্তভাবে প্রয়োজন।
# .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 ওয়েব ইন্টারফেসের মাধ্যমে স্ক্রিনশট এবং মন্তব্যও পাঠাতে পারেন, বিল্ড ইনস্টল করার পরে প্রতিক্রিয়া ফর্মের লিঙ্ক পেতে পারেন।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
Firebase App Distribution একটি ক্রস-প্ল্যাটফর্ম পরিষেবা (Android + iOS), TestFlight-এর বিপরীতে যা শুধুমাত্র iOS-এর জন্য কাজ করে। App Distribution Crashlytics এবং Firebase Analytics-এর সাথেও সংহত হয়, উভয় প্ল্যাটফর্মে বিটা পরীক্ষণের জন্য একটি ইউনিফাইড ইকোসিস্টেম প্রদান করে।
বিল্ড আপলোডের তারিখ থেকে 150 দিন পর্যন্ত সংরক্ষণ করা হয়। এই সময়ের পরে, তারা স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়। পরীক্ষকরা পুরানো সংস্করণ ইনস্টল করা থেকে বিরত রাখতে নিয়মিত নতুন বিল্ড আপলোড এবং Firebase Console-এর মাধ্যমে ম্যানুয়ালি পুরানো বিল্ড মুছে ফেলার পরামর্শ দেওয়া হয়।
Firebase App Distribution-এ পরীক্ষকের সংখ্যার কোন সীমা নেই। iOS ad-hoc বিতরণের জন্য, Apple-এর প্রতি অ্যাকাউন্টে 100 ডিভাইসের সীমা প্রযোজ্য। Android এবং iOS এন্টারপ্রাইজ বিতরণের জন্য, পরীক্ষকের সংখ্যার উপর কোন বিধিনিষেধ নেই।
হ্যাঁ, App Distribution AAB (Android App Bundle) সমর্থন করে। Firebase Google Play App Signing ব্যবহার করে প্রতিটি পরীক্ষকের ডিভাইসের জন্য AAB থেকে স্বয়ংক্রিয়ভাবে APK তৈরি করে। এটি Play Store-এ প্রকাশের আগে পরীক্ষণের জন্য বিশেষভাবে সুবিধাজনক।
হ্যাঁ, App Distribution Firebase-এর বিনামূল্যের Spark প্ল্যানে অন্তর্ভুক্ত। Spark প্ল্যানের সীমা: প্রতি প্রোজেক্টে প্রতি মাসে 500 পরীক্ষক এবং 25,000 ইনস্টল পর্যন্ত। Blaze প্ল্যান এই সীমাগুলি সরিয়ে দেয় এবং অগ্রাধিকার সমর্থন যোগ করে।
সারাংশ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন