Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Gradle ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ বিতরণ করুন

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

আপনি অ্যাপ ডিস্ট্রিবিউশন গ্রেডল প্লাগইন ব্যবহার করে আপনার অ্যান্ড্রয়েড বিল্ড প্রক্রিয়ায় অ্যাপ বিতরণকে একীভূত করতে পারেন। প্লাগইন আপনাকে আপনার অ্যাপের build.gradle ফাইলে আপনার পরীক্ষকদের নির্দিষ্ট করতে এবং নোট প্রকাশ করতে দেয়, আপনাকে আপনার অ্যাপের বিভিন্ন বিল্ড প্রকার এবং ভেরিয়েন্টের জন্য ডিস্ট্রিবিউশন কনফিগার করতে দেয়।

অ্যাপ ডিস্ট্রিবিউশন গ্রেডল প্লাগইন ব্যবহার করে পরীক্ষকদের কাছে কীভাবে APK বিতরণ করবেন এই নির্দেশিকাটি বর্ণনা করে।

তুমি শুরু করার আগে

যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন

আপনি যদি অন্য কোনো ফায়ারবেস পণ্য ব্যবহার না করেন, তাহলে আপনাকে শুধুমাত্র একটি প্রকল্প তৈরি করতে হবে এবং আপনার অ্যাপ নিবন্ধন করতে হবে। যাইহোক, আপনি যদি ভবিষ্যতে অতিরিক্ত পণ্য ব্যবহার করার সিদ্ধান্ত নেন, তাহলে উপরে লিঙ্ক করা পৃষ্ঠার সমস্ত ধাপ সম্পূর্ণ করতে ভুলবেন না।

ধাপ 1. আপনার Android প্রকল্প সেট আপ করুন

  1. আপনার রুট-লেভেল (প্রজেক্ট-লেভেল) গ্রেডল ফাইলে ( <project>/build.gradle ), বিল্ডস্ক্রিপ্ট নির্ভরতা হিসাবে অ্যাপ ডিস্ট্রিবিউশন গ্রেডল প্লাগইন যোগ করুন:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the App Distribution Gradle plugin
            classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.3'
        }
    }
  2. আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত <project>/<app-module>/build.gradle ), অ্যাপ ডিস্ট্রিবিউশন গ্রেডল প্লাগইন যোগ করুন:

    plugins {
        id 'com.android.application'
    
        // Make sure that you have the Google services Gradle plugin
        id 'com.google.gms.google-services'
    
        // Add the App Distribution Gradle plugin
        id 'com.google.firebase.appdistribution'
        ...
    }
  3. আপনি যদি একটি কর্পোরেট প্রক্সি বা ফায়ারওয়ালের পিছনে থাকেন, তাহলে নিম্নলিখিত জাভা সিস্টেম প্রপার্টি যোগ করুন যা অ্যাপ ডিস্ট্রিবিউশনকে ফায়ারবেসে আপনার ডিস্ট্রিবিউশন আপলোড করতে সক্ষম করে:

    -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
    

ধাপ 2. ফায়ারবেস দিয়ে প্রমাণীকরণ করুন

আপনি Gradle প্লাগইন ব্যবহার করার আগে, আপনাকে প্রথমে নিম্নলিখিত উপায়ে আপনার Firebase প্রকল্পের সাথে প্রমাণীকরণ করতে হবে। ডিফল্টরূপে, Gradle প্লাগইন Firebase CLI থেকে শংসাপত্রের সন্ধান করে যদি অন্য কোনো প্রমাণীকরণ পদ্ধতি ব্যবহার না করা হয়।

ধাপ 3. আপনার বিতরণ বৈশিষ্ট্য কনফিগার করুন

  1. আপনার app/build.gradle ফাইলে, অন্তত একটি firebaseAppDistribution বিভাগ যোগ করে অ্যাপ বিতরণ কনফিগার করুন। উদাহরণস্বরূপ, পরীক্ষকদের কাছে release বিল্ড বিতরণ করতে:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    artifactType="APK"
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    
  2. অ্যাপ ডিস্ট্রিবিউশন বিল্ড প্রকার এবং পণ্যের স্বাদের জন্য কনফিগার করা যেতে পারে। উদাহরণস্বরূপ, "ডেমো" এবং "সম্পূর্ণ" পণ্যের স্বাদে debug এবং release বিল্ড বিতরণ করতে:

    android {
    
        // ...
    
        buildTypes {
            debug {...}
            release {...}
        }
    
        flavorDimensions "version"
        productFlavors {
          demo {
              dimension "version"
              firebaseAppDistribution {
                  releaseNotes="Release notes for demo version"
                  testers="demo@testers.com"
              }
          }
          full {
              dimension "version"
              firebaseAppDistribution {
                  releaseNotes="Release notes for full version"
                  testers="full@testers.com"
              }
          }
        }
    
        // ...
    }
    
  3. বিতরণ কনফিগার করতে নিম্নলিখিত পরামিতি ব্যবহার করুন:

অ্যাপ ডিস্ট্রিবিউশন বিল্ড প্যারামিটার
appId

আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনার যদি Google পরিষেবা গ্রেডল প্লাগইন ইনস্টল না থাকে তবেই এটি প্রয়োজনীয়৷ আপনি google-services.json ফাইলে বা সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন। আপনার build.gradle ফাইলের মান google-services প্লাগইন থেকে মান আউটপুট ওভাররাইড করে।

appId="1:1234567890:android:321abc456def7890"
serviceCredentialsFile

আপনার পরিষেবা অ্যাকাউন্ট ব্যক্তিগত কী JSON ফাইলের পথ। যদি আপনি পরিষেবা অ্যাকাউন্ট প্রমাণীকরণ ব্যবহার করেন তবেই প্রয়োজন৷

artifactType

আপনার অ্যাপের ফাইলের ধরন নির্দিষ্ট করে। "AAB" বা "APK" এ সেট করা যেতে পারে।

artifactPath

আপনি যে APK বা AAB ফাইলটি আপলোড করতে চান তার সম্পূর্ণ পথ।

রিলিজ নোটস বা releaseNotesFile releaseNotes

এই নির্মাণের জন্য নোট রিলিজ.

আপনি হয় সরাসরি রিলিজ নোট বা একটি প্লেইন টেক্সট ফাইলের পথ নির্দিষ্ট করতে পারেন।

testers বা পরীক্ষক testersFile

আপনি বিল্ড বিতরণ করতে চান এমন পরীক্ষকদের ইমেল ঠিকানা।

আপনি ইমেল ঠিকানাগুলির একটি কমা দ্বারা পৃথক তালিকা হিসাবে পরীক্ষকদের নির্দিষ্ট করতে পারেন:

testers="ali@example.com, bri@example.com, cal@example.com"

অথবা, আপনি ইমেল ঠিকানাগুলির একটি কমা দ্বারা পৃথক তালিকা ধারণকারী একটি ফাইলের পথ নির্দিষ্ট করতে পারেন:

testersFile="/path/to/testers.txt"
groups বা গ্রুপ groupsFile

আপনি যে পরীক্ষক গোষ্ঠীগুলিতে বিল্ডগুলি বিতরণ করতে চান ( পরীক্ষকদের পরিচালনা করুন দেখুন)। গ্রুপ ব্যবহার করে নির্দিষ্ট করা হয় গ্রুপ উপনাম , যা আপনি Firebase অ্যাপ ডিস্ট্রিবিউশন কনসোলের টেস্টার ট্যাবে খুঁজে পেতে পারেন।

আপনি গোষ্ঠীগুলিকে গ্রুপ উপনামের একটি কমা দ্বারা পৃথক করা তালিকা হিসাবে নির্দিষ্ট করতে পারেন:

groups="qa-team, android-testers"

অথবা, আপনি গ্রুপ উপনামের একটি কমা-বিভক্ত তালিকা ধারণকারী ফাইলের পথ নির্দিষ্ট করতে পারেন:

groupsFile="/path/to/tester-groups.txt"
stacktrace

ব্যবহারকারীর ব্যতিক্রমের জন্য স্ট্যাকট্রেস প্রিন্ট করে। সমস্যা ডিবাগ করার সময় এটি সহায়ক।

ধাপ 4. পরীক্ষকদের কাছে আপনার অ্যাপ বিতরণ করুন

  1. অবশেষে, আপনার পরীক্ষার অ্যাপ প্যাকেজ করতে এবং পরীক্ষকদের আমন্ত্রণ জানাতে, লক্ষ্য BUILD-VARIANT এবং appDistributionUpload BUILD-VARIANT আপনার প্রোজেক্টের Gradle wrapper দিয়ে তৈরি করুন, যেখানে BUILD-VARIANT হল ঐচ্ছিক পণ্যের স্বাদ এবং বিল্ড টাইপ যা আপনি আগের ধাপে কনফিগার করেছেন। পণ্যের স্বাদ সম্পর্কে আরও তথ্যের জন্য, বিল্ড ভেরিয়েন্ট কনফিগার করুন দেখুন।

    উদাহরণস্বরূপ, release বিল্ড বৈকল্পিক ব্যবহার করে আপনার অ্যাপ বিতরণ করতে, নিম্নলিখিত কমান্ডটি চালান:

    ./gradlew assembleRelease appDistributionUploadRelease
    

    অথবা, আপনি যদি আপনার Google অ্যাকাউন্টের মাধ্যমে প্রমাণীকরণ করেন এবং আপনার Gradle বিল্ড ফাইলে শংসাপত্র প্রদান না করেন, তাহলে FIREBASE_TOKEN ভেরিয়েবল অন্তর্ভুক্ত করুন:

    export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
    ./gradlew --stop // Only needed for environment variable changes
    ./gradlew assembleRelease appDistributionUploadRelease
    
  2. আপনি --<property-name>=<property-value> আকারে কমান্ড লাইন আর্গুমেন্ট পাস করে আপনার build.gradle ফাইলে সেট করা মানগুলিকে ওভাররাইড করতে পারেন। উদাহরণ স্বরূপ:

    • অ্যাপ ডিস্ট্রিবিউশনে একটি ডিবাগ বিল্ড আপলোড করতে:

      ./gradlew bundleDebug appDistributionUploadDebug
          --artifactType="APK"
      
    • অতিরিক্ত পরীক্ষকদের আমন্ত্রণ জানাতে বা আপনার Firebase প্রকল্প থেকে বিদ্যমান পরীক্ষকদের সরাতে:

      ./gradlew appDistributionAddTesters
          --projectNumber=<project_number>
          --emails="anothertester@email.com, moretesters@email.com"
      ./gradlew appDistributionRemoveTesters
          --projectNumber=<project_number>
          --emails="anothertester@email.com, moretesters@email.com"
      

      একবার আপনার ফায়ারবেস প্রোজেক্টে একজন পরীক্ষক যোগ করা হলে, আপনি সেগুলিকে পৃথক রিলিজে যোগ করতে পারেন। যে পরীক্ষকদের সরিয়ে দেওয়া হয়েছে তারা আর আপনার প্রোজেক্টের রিলিজগুলিতে অ্যাক্সেস পাবে না, কিন্তু তারপরও কিছু সময়ের জন্য আপনার রিলিজগুলিতে অ্যাক্সেস বজায় রাখতে পারে।

    আপনি --emails এর পরিবর্তে --emails --file="/path/to/testers.txt" ব্যবহার করে পরীক্ষকদেরও নির্দিষ্ট করতে পারেন।

    appDistributionAddTesters এবং appDistributionRemoveTesters কার্যগুলিও নিম্নলিখিত আর্গুমেন্টগুলি গ্রহণ করে:

    • প্রকল্প নম্বর: আপনার projectNumber প্রকল্প নম্বর।

    • serviceCredentialsFile : আপনার Google পরিষেবা শংসাপত্র ফাইলের পথ। এটি আপলোড ক্রিয়া দ্বারা ব্যবহৃত একই যুক্তি।

একবার আপনি আপনার বিল্ড বিতরণ করলে, এটি Firebase কনসোলের অ্যাপ ডিস্ট্রিবিউশন ড্যাশবোর্ডে 150 দিনের (পাঁচ মাস) জন্য উপলব্ধ হয়ে যায়। বিল্ডের মেয়াদ শেষ হওয়ার 30 দিন হলে, কনসোল এবং আপনার পরীক্ষকের তাদের টেস্ট ডিভাইসে বিল্ডের তালিকা উভয়েই একটি মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি প্রদর্শিত হবে।

যে সমস্ত পরীক্ষকদের অ্যাপটি পরীক্ষা করার জন্য আমন্ত্রণ জানানো হয়নি তারা শুরু করার জন্য ইমেল আমন্ত্রণ পান এবং বিদ্যমান পরীক্ষকরা ইমেল বিজ্ঞপ্তি পান যে একটি নতুন বিল্ড পরীক্ষা করার জন্য প্রস্তুত (পরীক্ষার অ্যাপটি কীভাবে ইনস্টল করতে হয় তার নির্দেশাবলীর জন্য পরীক্ষক সেট আপ নির্দেশিকা পড়ুন)। আপনি প্রতিটি পরীক্ষকের স্থিতি নিরীক্ষণ করতে পারেন-তারা আমন্ত্রণ গ্রহণ করেছে কিনা এবং তারা অ্যাপটি ডাউনলোড করেছে কিনা-Firebase কনসোলে।

অ্যাপের মেয়াদ শেষ হওয়ার আগে পরীক্ষা করার আমন্ত্রণ গ্রহণ করার জন্য পরীক্ষকদের কাছে 30 দিন আছে। যখন একটি আমন্ত্রণের মেয়াদ শেষ হওয়ার 5 দিন পরে, তখন একটি রিলিজের পরীক্ষকের পাশে Firebase কনসোলে একটি মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি প্রদর্শিত হয়৷ পরীক্ষকের সারিতে ড্রপ-ডাউন মেনু ব্যবহার করে এটিকে পুনরায় পাঠানোর মাধ্যমে একটি আমন্ত্রণ পুনর্নবীকরণ করা যেতে পারে।

পরবর্তী পর্ব

ধাপে ধাপে কীভাবে অ্যাপ বান্ডেল রিলিজ বিতরণ করতে হয় তা জানতে Android অ্যাপ বান্ডেল কোডল্যাবে যান।