Firebase App Distribution ব্যবহার করে Testing

Mobile App Development - ফ্লাটার (Flutter) - Flutter এর জন্য Continuous Integration (CI) এবং Continuous Deployment (CD)
232

Firebase App Distribution ব্যবহার করে Flutter অ্যাপ্লিকেশনের জন্য টেস্টিং সেটআপ করা একটি কার্যকর উপায়। এটি ডেভেলপারদের দ্রুত বিল্ড ডিস্ট্রিবিউট করতে এবং টেস্টারদের কাছে সরাসরি শেয়ার করতে সহায়ক, যাতে তারা ফিডব্যাক দিতে পারেন। Firebase App Distribution আপনাকে নির্দিষ্ট টেস্টারদের কাছে অটোমেটেড বিল্ড শেয়ার করার সুযোগ দেয় এবং বিভিন্ন বিল্ডের পারফরম্যান্স ও ক্র্যাশ রিপোর্ট মনিটর করতে সাহায্য করে।

Firebase App Distribution সেটআপ করার ধাপসমূহ:

ধাপ ১: Firebase প্রোজেক্ট তৈরি করা:

  1. Firebase Console এ যান: Firebase Console।
  2. একটি নতুন প্রোজেক্ট তৈরি করুন বা বিদ্যমান প্রোজেক্টে যোগ করুন।
  3. Android এবং iOS অ্যাপ Firebase প্রোজেক্টে যুক্ত করুন এবং প্রয়োজনীয় google-services.json (Android) এবং GoogleService-Info.plist (iOS) ফাইলগুলো আপনার Flutter প্রোজেক্টে যুক্ত করুন।

ধাপ ২: Firebase CLI ইনস্টল করা:

Firebase CLI ইনস্টল করার মাধ্যমে আপনি সহজেই আপনার প্রোজেক্টে Firebase কমান্ড ব্যবহার করতে পারবেন।

npm install -g firebase-tools

Firebase CLI ইনস্টল করার পরে, Firebase এ লগ ইন করুন:

firebase login

ধাপ ৩: firebase_app_distribution প্লাগইন Flutter প্রোজেক্টে যুক্ত করা:

pubspec.yaml ফাইলে firebase_app_distribution প্লাগইন যুক্ত করুন:

dependencies:
  firebase_core: ^2.4.1
  firebase_app_distribution: ^0.5.2

এরপর ডিপেন্ডেন্সি ইন্সটল করুন:

flutter pub get

ধাপ ৪: Android এবং iOS সেটআপ করা:

Android:

android/app/build.gradle ফাইলে নিচেরটি যুক্ত করুন:

apply plugin: 'com.google.firebase.appdistribution'

firebase_app_distribution এর জন্য কনফিগারেশন সেট করুন:

firebaseAppDistribution {
    appId = "1:1234567890:android:abc123def456"
    testers = "testers@example.com"
    releaseNotesFile = "release-notes.txt"
}

iOS:

ios/Runner.xcworkspace ওপেন করুন এবং Signing & Capabilities সেকশনে গিয়ে অ্যাপ সাইনিং কনফিগার করুন।

Fastlane ব্যবহার করে iOS অ্যাপ Firebase এ ডিস্ট্রিবিউট করতে পারবেন। Fastlane সেটআপ করুন:

sudo gem install fastlane

ios ডিরেক্টরিতে fastlane ফোল্ডার তৈরি করুন:

fastlane init

Fastfile এ নিচের লেন যোগ করুন:

lane :distribute do
  build_ios_app(
    workspace: "Runner.xcworkspace",
    scheme: "Runner"
  )
  firebase_app_distribution(
    app: "1:1234567890:ios:abc123def456",
    testers: "testers@example.com",
    release_notes: "New features and bug fixes."
  )
end

ধাপ ৫: Firebase App Distribution এ বিল্ড আপলোড করা:

Android অ্যাপ ডিস্ট্রিবিউট করা:

Android অ্যাপ বিল্ড করার জন্য এবং Firebase App Distribution এ আপলোড করার জন্য নিম্নলিখিত ধাপগুলো অনুসরণ করুন:

Release Build তৈরি করুন:

flutter build apk --release

Firebase CLI ব্যবহার করে বিল্ড আপলোড করুন:

firebase appdistribution:distribute build/app/outputs/flutter-apk/app-release.apk --app 1:1234567890:android:abc123def456 --groups testers --release-notes "New features added."

iOS অ্যাপ ডিস্ট্রিবিউট করা:

Xcode এ iOS রিলিজ বিল্ড তৈরি করুন:

flutter build ios --release

Fastlane ব্যবহার করে বিল্ড ডিস্ট্রিবিউট করুন:

cd ios
fastlane distribute

ব্যাখ্যা:

  • flutter build apk --release: Android অ্যাপের রিলিজ বিল্ড তৈরি করে।
  • firebase appdistribution: Firebase CLI এর মাধ্যমে Android বিল্ড Firebase এ আপলোড করে।
  • fastlane distribute: Fastlane এর মাধ্যমে iOS বিল্ড Firebase App Distribution এ আপলোড করে।

ধাপ ৬: Firebase App Distribution এ Testers যুক্ত করা:

Firebase Console এ গিয়ে:

  1. App Distribution -> Testers & Groups সিলেক্ট করুন।
  2. টেস্টারদের ইমেইল এড্রেস যুক্ত করুন।
  3. টেস্টারদের জন্য একটি গ্রুপ তৈরি করতে পারেন, যেমন internal testers বা beta testers

ধাপ ৭: Testers এর জন্য বিল্ড শেয়ার করা:

Firebase App Distribution স্বয়ংক্রিয়ভাবে টেস্টারদের ইমেইলে একটি লিংক পাঠাবে, যেখান থেকে তারা অ্যাপটি ডাউনলোড এবং টেস্ট করতে পারবে। টেস্টারদের অ্যাপ ইনস্টল করার সময় ডিভাইসে Untrusted Developer অপশন এড়াতে Firebase Tester App ব্যবহার করতে বলা হতে পারে।

Continuous Integration (CI) সেটআপ (GitHub Actions, Bitrise):

Firebase App Distribution কে CI/CD প্রক্রিয়ার সাথে ইন্টিগ্রেট করা যায়, যাতে প্রতিবার কোড পুশ করার সময় স্বয়ংক্রিয়ভাবে বিল্ড এবং ডিস্ট্রিবিউট হয়।

GitHub Actions এর উদাহরণ:

name: Flutter CI/CD

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Setup Flutter
        uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.0.0'

      - name: Install dependencies
        run: flutter pub get

      - name: Build APK
        run: flutter build apk --release

      - name: Upload to Firebase App Distribution
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
        run: firebase appdistribution:distribute build/app/outputs/flutter-apk/app-release.apk --app 1:1234567890:android:abc123def456 --groups testers

ব্যাখ্যা:

  • flutter-action: GitHub Action এর মাধ্যমে Flutter সেটআপ করে।
  • firebase appdistribution: বিল্ড ফাইল Firebase App Distribution এ আপলোড করে।

Firebase App Distribution এর সুবিধা:

  1. সহজ বিল্ড ডিস্ট্রিবিউশন: টেস্টারদের কাছে স্বয়ংক্রিয়ভাবে বিল্ড শেয়ার করা যায়।
  2. সেন্ট্রালাইজড ফিডব্যাক: টেস্টারদের ফিডব্যাক এক জায়গায় সংগঠিত করা যায়।
  3. ক্র্যাশ রিপোর্টিং: Firebase Crashlytics এর সাথে ইন্টিগ্রেশন করে ক্র্যাশ মনিটরিং করা যায়।
  4. বিল্ড ট্র্যাকিং: প্রতিটি বিল্ড এবং রিলিজের জন্য টেস্টারদের একটি ইতিহাস সংরক্ষণ করা যায়।

উপসংহার:

Firebase App Distribution ব্যবহার করে Flutter অ্যাপ্লিকেশন টেস্টিং এবং ডিস্ট্রিবিউশন প্রক্রিয়া দ্রুত, কার্যকর এবং সহজ করা যায়। CI/CD ইন্টিগ্রেশন করে ডেভেলপমেন্ট প্রক্রিয়াকে অটোমেটেড এবং স্কেলেবল করতে পারবেন, যা আপনাকে ডেভেলপমেন্টে সময় বাঁচাতে এবং কোড কোয়ালিটি উন্নত করতে সহায়ক।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...