আপনি App Distribution গ্রেডল প্লাগইন ব্যবহার করে আপনার অ্যান্ড্রয়েড বিল্ড প্রক্রিয়ায় App Distribution একীভূত করতে পারেন। এই প্লাগইনটি আপনাকে আপনার অ্যাপের গ্রেডল ফাইলে টেস্টার এবং রিলিজ নোট নির্দিষ্ট করার সুযোগ দেয়, যার ফলে আপনি আপনার অ্যাপের বিভিন্ন বিল্ড টাইপ এবং ভ্যারিয়েন্টের জন্য ডিস্ট্রিবিউশন কনফিগার করতে পারেন।
এই নির্দেশিকায় App Distribution গ্র্যাডল প্লাগইন ব্যবহার করে পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ বান্ডেল (AAB) বিতরণ করার পদ্ধতি বর্ণনা করা হয়েছে।
App Distribution আপনার আপলোড করা AAB ফাইলগুলো প্রসেস করতে এবং আপনার পরীক্ষকদের ডিভাইসের কনফিগারেশনের জন্য অপ্টিমাইজ করা APK সরবরাহ করতে Google Play এর অভ্যন্তরীণ অ্যাপ শেয়ারিং পরিষেবার সাথে সমন্বিত হয়। AAB ডিস্ট্রিবিউট করার মাধ্যমে আপনি নিম্নলিখিত কাজগুলো করতে পারেন:
আপনার পরীক্ষকদের ডিভাইসের জন্য অপ্টিমাইজ করা APK (যা Google Play থেকে পাওয়া যায়) চালান।
ডিভাইস-নির্দিষ্ট সমস্যাগুলো উদ্ঘাটন ও ডিবাগ করুন।
অ্যাপ বান্ডেলের প্লে ফিচার ডেলিভারি এবং প্লে অ্যাসেট ডেলিভারির মতো ফিচারগুলো পরীক্ষা করুন।
আপনার পরীক্ষকদের জন্য ডাউনলোডের আকার হ্রাস করুন।
প্রয়োজনীয় অনুমতি
App Distribution AAB আপলোড করতে হলে, আপনাকে আপনার Firebase অ্যাপটিকে Google Play এর কোনো একটি অ্যাপের সাথে লিঙ্ক করতে হবে। এই কাজগুলো করার জন্য আপনার প্রয়োজনীয় স্তরের অ্যাক্সেস থাকতে হবে।
আপনার যদি প্রয়োজনীয় Firebase অ্যাক্সেস না থাকে, তাহলে আপনি Firebase কনসোলের IAM সেটিংসের মাধ্যমে একজন Firebase প্রজেক্টের মালিককে আপনাকে প্রযোজ্য রোলটি বরাদ্দ করার জন্য অনুরোধ করতে পারেন। আপনার Firebase প্রজেক্ট অ্যাক্সেস করা, যার মধ্যে মালিককে খুঁজে বের করা বা বরাদ্দ করাও অন্তর্ভুক্ত, সে সম্পর্কে কোনো প্রশ্ন থাকলে , "Firebase প্রজেক্টে অনুমতি এবং অ্যাক্সেস" সম্পর্কিত প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (FAQs) পর্যালোচনা করুন।
নিম্নলিখিত সারণিটি ফায়ারবেস অ্যাপকে Google Play এর কোনো অ্যাপের সাথে লিঙ্ক করা এবং এএবি (AAB) আপলোড করার ক্ষেত্রে প্রযোজ্য।
| Firebase কনসোলে পদক্ষেপ | প্রয়োজনীয় IAM অনুমতি | ডিফল্টরূপে প্রয়োজনীয় অনুমতি অন্তর্ভুক্ত থাকা IAM রোল(গুলি) | অতিরিক্ত প্রয়োজনীয় ভূমিকা(গুলি) |
|---|---|---|---|
| একটি Firebase অ্যাপকে Google Play এর কোনো অ্যাপের সাথে লিঙ্ক করুন | firebase.playLinks.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | অ্যাডমিন হিসেবে Google Play ডেভেলপার অ্যাকাউন্টে অ্যাক্সেস |
| App Distribution AABs আপলোড করুন | firebaseappdistro.releases.update | নিম্নলিখিত ভূমিকাগুলির মধ্যে একটি: | –– |
শুরু করার আগে
যদি আগে থেকে না করে থাকেন, তাহলে আপনার অ্যান্ড্রয়েড প্রজেক্টে ফায়ারবেস যোগ করুন । এই প্রক্রিয়াটি শেষে, আপনার ফায়ারবেস প্রজেক্টে একটি ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ তৈরি হয়ে যাবে।
আপনি যদি অন্য কোনো Firebase প্রোডাক্ট ব্যবহার না করেন, তাহলে আপনাকে শুধু একটি প্রজেক্ট তৈরি করে আপনার অ্যাপটি রেজিস্টার করতে হবে। আপনি যদি অতিরিক্ত প্রোডাক্ট ব্যবহার করার সিদ্ধান্ত নেন, তাহলে “Add Firebase to your Android project”- এর সমস্ত ধাপ অবশ্যই সম্পন্ন করবেন।
Google Play-তে Firebase লিঙ্ক তৈরি করতে এবং AAB আপলোড করতে, নিশ্চিত করুন যে আপনার অ্যাপটি নিম্নলিখিত শর্তাবলী পূরণ করে:
গুগল প্লে-এর অ্যাপ এবং ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ উভয়ই একই প্যাকেজ নাম ব্যবহার করে নিবন্ধিত।
গুগল প্লে-তে থাকা অ্যাপটি অ্যাপ ড্যাশবোর্ডে সেট আপ করা হয় এবং গুগল প্লে-র ট্র্যাকগুলোর (অভ্যন্তরীণ টেস্টিং, ক্লোজড টেস্টিং, ওপেন টেস্টিং, বা প্রোডাকশন) যেকোনো একটিতে বিতরণ করা হয়।
গুগল প্লে-তে অ্যাপটির পর্যালোচনা সম্পন্ন হয়েছে এবং অ্যাপটি প্রকাশিত হয়েছে। আপনার অ্যাপটি প্রকাশিত হয়েছে যদি 'অ্যাপ স্ট্যাটাস' কলামে নিম্নলিখিত স্ট্যাটাসগুলির মধ্যে একটি প্রদর্শিত হয়: অভ্যন্তরীণ পরীক্ষা (খসড়া অভ্যন্তরীণ পরীক্ষা নয়), বন্ধ পরীক্ষা, খোলা পরীক্ষা, অথবা উৎপাদন।
আপনার ফায়ারবেস অ্যান্ড্রয়েড অ্যাপটিকে আপনার গুগল প্লে ডেভেলপার অ্যাকাউন্টের সাথে লিঙ্ক করুন:
Firebase কনসোলে, আপনার
প্রজেক্ট সেটিংস- , তারপর ইন্টিগ্রেশন ট্যাবটি নির্বাচন করুন। গুগল প্লে কার্ডে থাকা লিঙ্কে ক্লিক করুন।
আপনার যদি আগে থেকেই গুগল প্লে-এর লিঙ্ক থাকে, তাহলে তার পরিবর্তে 'ম্যানেজ'-এ ক্লিক করুন।App Distribution ইন্টিগ্রেশন চালু করতে এবং কোন ফায়ারবেস অ্যান্ড্রয়েড অ্যাপগুলোকে গুগল প্লে-এর সাথে লিঙ্ক করবেন তা নির্বাচন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।
গুগল প্লে-এর সাথে সংযোগ স্থাপন সম্পর্কে আরও জানুন।
ধাপ ১. আপনার অ্যান্ড্রয়েড প্রজেক্ট সেট আপ করুন।
আপনার রুট-লেভেলের (প্রজেক্ট-লেভেলের) Gradle ফাইলে (
<project>/build.gradle.ktsঅথবা<project>/build.gradle), App Distribution Gradle প্লাগইনটিকে একটি ডিপেন্ডেন্সি হিসেবে যোগ করুন:Kotlin
plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.4" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "5.2.1" apply false }
Groovy
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.4' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '5.2.1' apply false }
আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত
<project>/<app-module>/build.gradle.ktsঅথবা<project>/<app-module>/build.gradle), App Distribution Gradle প্লাগইনটি যোগ করুন:Kotlin
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") }
Groovy
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' }
আপনি যদি কোনো কর্পোরেট প্রক্সি বা ফায়ারওয়ালের পিছনে থাকেন, তাহলে নিম্নলিখিত জাভা সিস্টেম প্রপার্টিটি যোগ করুন যা App Distribution আপনার ডিস্ট্রিবিউশনগুলি ফায়ারবেসে আপলোড করতে সক্ষম করে:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
ধাপ ২. ফায়ারবেস দিয়ে প্রমাণীকরণ করুন।
গ্রেডল প্লাগইন ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত উপায়গুলির মধ্যে একটি ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে প্রমাণীকরণ করতে হবে। ডিফল্টরূপে, অন্য কোনো প্রমাণীকরণ পদ্ধতি ব্যবহার না করা হলে গ্রেডল প্লাগইন Firebase সিএলআই (CLI) থেকে ক্রেডেনশিয়াল খুঁজে নেয়।
একটি সার্ভিস অ্যাকাউন্টের মাধ্যমে প্রমাণীকরণ আপনাকে আপনার কন্টিনিউয়াস ইন্টিগ্রেশন (CI) সিস্টেমের সাথে প্লাগইনটি নমনীয়ভাবে ব্যবহার করার সুযোগ দেয়। সার্ভিস অ্যাকাউন্টের ক্রেডেনশিয়াল প্রদান করার দুটি উপায় রয়েছে:
- আপনার সার্ভিস অ্যাকাউন্ট কী ফাইলটি
build.gradleএ পাস করুন। আপনার বিল্ড এনভায়রনমেন্টে যদি আগে থেকেই সার্ভিস অ্যাকাউন্ট কী ফাইলটি থাকে, তবে এই পদ্ধতিটি আপনার কাছে সুবিধাজনক মনে হতে পারে। - আপনার সার্ভিস অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করার জন্য
GOOGLE_APPLICATION_CREDENTIALSএনভায়রনমেন্ট ভেরিয়েবলটি সেট করুন। যদি আপনার অন্য কোনো গুগল পরিষেবার (যেমন, Google Cloud ) জন্য আগে থেকেই অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) কনফিগার করা থাকে, তাহলে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
সার্ভিস অ্যাকাউন্টের ক্রেডেনশিয়াল ব্যবহার করে প্রমাণীকরণ করতে:
- Google Cloud কনসোলে, আপনার প্রজেক্টটি নির্বাচন করুন এবং একটি নতুন সার্ভিস অ্যাকাউন্ট তৈরি করুন।
- Firebase App Distribution Admin রোলটি যুক্ত করুন।
- একটি প্রাইভেট json কী তৈরি করুন এবং কী-টি আপনার বিল্ড এনভায়রনমেন্টের নাগালের মধ্যে থাকা কোনো স্থানে সরিয়ে নিন। এই ফাইলটি অবশ্যই নিরাপদ কোনো জায়গায় রাখবেন , কারণ এটি আপনার Firebase প্রোজেক্টের App Distribution অ্যাডমিনিস্ট্রেটর অ্যাক্সেস প্রদান করে।
- আপনি যদি ২০ সেপ্টেম্বর, ২০১৯-এর পরে আপনার অ্যাপ তৈরি করে থাকেন, তাহলে এই ধাপটি এড়িয়ে যান: Google APIs কনসোলে, Firebase App Distribution API সক্রিয় করুন। অনুরোধ করা হলে, আপনার Firebase প্রজেক্টের নামের সাথে একই নামের প্রজেক্টটি নির্বাচন করুন।
আপনার পরিষেবা অ্যাকাউন্টের পরিচয়পত্র প্রদান করুন বা খুঁজে বের করুন:
- Gradle-কে আপনার সার্ভিস অ্যাকাউন্ট কী পাস করার জন্য, আপনার
build.gradleফাইলেserviceCredentialsFileপ্রপার্টিটিকে প্রাইভেট কী JSON ফাইলে সেট করুন। ADC-তে আপনার ক্রেডেনশিয়াল খুঁজে পেতে,
GOOGLE_APPLICATION_CREDENTIALSএনভায়রনমেন্ট ভেরিয়েবলটিকে প্রাইভেট কী JSON ফাইলের পাথে সেট করুন। উদাহরণস্বরূপ:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
ADC-এর সাথে প্রমাণীকরণ সম্পর্কে আরও তথ্যের জন্য, 'আপনার অ্যাপ্লিকেশনে ক্রেডেনশিয়াল প্রদান' পড়ুন।
- Gradle-কে আপনার সার্ভিস অ্যাকাউন্ট কী পাস করার জন্য, আপনার
আপনার প্রজেক্ট প্রমাণীকরণের নির্দেশাবলীর জন্য Firebase CLI দিয়ে লগ ইন করুন” দেখুন।
ধাপ ৩. আপনার ডিস্ট্রিবিউশন প্রোপার্টিগুলো কনফিগার করুন।
আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts অথবা <project>/<app-module>/build.gradle ), অন্তত একটি firebaseAppDistribution সেকশন যোগ করে App Distribution কনফিগার করুন।
উদাহরণস্বরূপ, পরীক্ষকদের কাছে release বিল্ড বিতরণ করতে, এই নির্দেশাবলী অনুসরণ করুন:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "AAB" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Groovy
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
আপনি বিল্ড টাইপ এবং প্রোডাক্ট ফ্লেভারের জন্য App Distribution কনফিগার করতে পারেন।
উদাহরণস্বরূপ, debug এবং release বিল্ডগুলিকে 'ডেমো' এবং 'ফুল' প্রোডাক্ট ফ্লেভারে বিতরণ করতে, এই নির্দেশাবলী অনুসরণ করুন:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
Groovy
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" } } } // ... }
ডিস্ট্রিবিউশনটি কনফিগার করতে নিম্নলিখিত প্যারামিটারগুলো ব্যবহার করুন:
| App Distribution বিল্ড প্যারামিটার | |
|---|---|
appId | আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। শুধুমাত্র তখনই এটির প্রয়োজন হবে, যদি আপনার গুগল সার্ভিসেস গ্রেডল প্লাগইন ইনস্টল করা না থাকে। আপনি অ্যাপ আইডিটি appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | আপনার সার্ভিস অ্যাকাউন্টের প্রাইভেট কী JSON ফাইলের পাথ। শুধুমাত্র সার্ভিস অ্যাকাউন্ট অথেন্টিকেশন ব্যবহার করলে এটি প্রয়োজন। |
artifactType | আপনার অ্যাপের ফাইলের ধরন নির্দিষ্ট করে। এটি |
artifactPath | আপনি যে APK বা AAB ফাইলটি আপলোড করতে চান, তার সঠিক পাথ (Absolute Path) দিন। |
releaseNotes বা releaseNotesFile | এই বিল্ডের রিলিজ নোট। আপনি সরাসরি রিলিজ নোট অথবা একটি প্লেইন টেক্সট ফাইলের পাথ উল্লেখ করতে পারেন। |
testers বা testersFile | যেসব পরীক্ষকের কাছে আপনি বিল্ড বিতরণ করতে চান, তাদের ইমেল ঠিকানা। আপনি পরীক্ষকদেরকে কমা দিয়ে আলাদা করা ইমেল ঠিকানার তালিকা হিসেবে নির্দিষ্ট করতে পারেন: testers="ali@example.com, bri@example.com, cal@example.com" অথবা, আপনি কমা দিয়ে আলাদা করা ইমেল ঠিকানার তালিকা সম্বলিত কোনো ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন: testersFile="/path/to/testers.txt" |
groups বা groupsFile | যে পরীক্ষক গোষ্ঠীগুলির মধ্যে আপনি বিল্ডগুলি বিতরণ করতে চান (দেখুন পরীক্ষক পরিচালনা )। গোষ্ঠীগুলি নির্দিষ্ট করা হয় নিম্নলিখিত উপায়ে: আপনি গ্রুপগুলোকে তাদের উপনামের কমা-দ্বারা-বিভক্ত তালিকা হিসেবে নির্দিষ্ট করতে পারেন: groups="qa-team, android-testers" অথবা, আপনি এমন একটি ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন যেখানে কমা দিয়ে আলাদা করা গ্রুপ অ্যালিয়াসগুলোর একটি তালিকা রয়েছে: groupsFile="/path/to/tester-groups.txt" |
testDevices বা testDevicesFile | নিম্নলিখিত বিতরণ প্রকারগুলি স্বয়ংক্রিয় পরীক্ষক বিটা বৈশিষ্ট্যের অংশ। যে পরীক্ষা ডিভাইসগুলিতে আপনি বিল্ডগুলি বিতরণ করতে চান ( স্বয়ংক্রিয় পরীক্ষাগুলি দেখুন)। আপনি সেমিকোলন দ্বারা পৃথক করা ডিভাইসের স্পেসিফিকেশনের একটি তালিকা হিসাবে পরীক্ষার ডিভাইসগুলি নির্দিষ্ট করতে পারেন: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" অথবা, আপনি এমন একটি ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন, যেখানে সেমিকোলন দ্বারা পৃথক করা ডিভাইসের স্পেসিফিকেশনের একটি তালিকা রয়েছে: testDevicesFile="/path/to/testDevices.txt" |
testUsername | স্বয়ংক্রিয় পরীক্ষা চলাকালীন স্বয়ংক্রিয় লগইনের জন্য ব্যবহৃত ইউজারনেম। |
testPassword বা testPasswordFile | স্বয়ংক্রিয় পরীক্ষা চলাকালীন ব্যবহারের জন্য স্বয়ংক্রিয় লগইনের পাসওয়ার্ড। অথবা, আপনি পাসওয়ার্ড সম্বলিত একটি প্লেইন টেক্সট ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource | স্বয়ংক্রিয় পরীক্ষা চলাকালীন ব্যবহারের জন্য স্বয়ংক্রিয় লগইনের ইউজারনেম ফিল্ডের রিসোর্স নেম। |
testPasswordResource | স্বয়ংক্রিয় পরীক্ষা চলাকালীন ব্যবহারের জন্য স্বয়ংক্রিয় লগইনের পাসওয়ার্ড ফিল্ডের রিসোর্স নেম। |
testNonBlocking | স্বয়ংক্রিয় পরীক্ষাগুলো অ্যাসিঙ্ক্রোনাসভাবে চালান। স্বয়ংক্রিয় পরীক্ষার ফলাফল জানতে ফায়ারবেস কনসোল দেখুন। |
stacktrace | ইউজার এক্সেপশনের স্ট্যাকট্রেস প্রিন্ট করে। সমস্যা ডিবাগ করার সময় এটি সহায়ক। |
ধাপ ৪। আপনার অ্যাপটি পরীক্ষকদের মধ্যে বিতরণ করুন।
অবশেষে, আপনার টেস্ট অ্যাপটি প্যাকেজ করতে এবং পরীক্ষকদের আমন্ত্রণ জানাতে, টার্গেটগুলো বিল্ড করুন।
BUILD-VARIANTএবংappDistributionUpload BUILD-VARIANTআপনার প্রোজেক্টের Gradle র্যাপার ব্যবহার করুন, যেখানে BUILD-VARIANT হলো ঐচ্ছিক প্রোডাক্ট ফ্লেভার এবং বিল্ড টাইপ যা আপনি আগের ধাপে কনফিগার করেছেন। প্রোডাক্ট ফ্লেভার সম্পর্কে আরও তথ্যের জন্য, বিল্ড ভ্যারিয়েন্ট কনফিগার করুন দেখুন।উদাহরণস্বরূপ,
releaseবিল্ড ভ্যারিয়েন্ট ব্যবহার করে আপনার অ্যাপটি ডিস্ট্রিবিউট করতে, নিম্নলিখিত কমান্ডটি চালান:./gradlew bundleRelease appDistributionUploadRelease
অথবা, যদি আপনি আপনার Google অ্যাকাউন্ট দিয়ে প্রমাণীকরণ করে থাকেন এবং আপনার Gradle বিল্ড ফাইলে ক্রেডেনশিয়াল প্রদান না করে থাকেন, তাহলে
FIREBASE_TOKENভেরিয়েবলটি অন্তর্ভুক্ত করুন:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew bundleRelease appDistributionUploadRelease
আপনি
--<property-name>=<property-value>` এই ফর্ম্যাটে কমান্ড লাইন আর্গুমেন্ট পাস করে আপনারbuild.gradleফাইলে সেট করা মানগুলিকেও ওভাররাইড করতে পারেন। উদাহরণস্বরূপ:App Distribution একটি ডিবাগ বিল্ড আপলোড করতে:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="AAB"আপনার 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এর পরিবর্তে--file="/path/to/testers.txt"ব্যবহার করেও পরীক্ষকদের নির্দিষ্ট করতে পারেন।appDistributionAddTestersএবংappDistributionRemoveTestersটাস্কগুলো নিম্নলিখিত আর্গুমেন্টগুলোও গ্রহণ করে:projectNumber: আপনার ফায়ারবেস প্রজেক্ট নম্বর।serviceCredentialsFile: আপনার গুগল পরিষেবা ক্রেডেনশিয়াল ফাইলের পাথ। আপলোড অ্যাকশনে ব্যবহৃত আর্গুমেন্টটিই এটি।
রিলিজ আপলোড করার পর গ্রেডল প্লাগইনটি নিম্নলিখিত লিঙ্কগুলি আউটপুট করে। এই লিঙ্কগুলি আপনাকে বাইনারিগুলি পরিচালনা করতে এবং পরীক্ষক ও অন্যান্য ডেভেলপারদের কাছে সঠিক রিলিজটি পৌঁছেছে কিনা তা নিশ্চিত করতে সাহায্য করে:
-
firebase_console_uri- Firebase কনসোলের একটি লিঙ্ক, যেখানে একটিমাত্র রিলিজ প্রদর্শিত হয়। আপনি আপনার প্রতিষ্ঠানের অন্যান্য ডেভেলপারদের সাথে এই লিঙ্কটি শেয়ার করতে পারেন। -
testing_uri- টেস্টার এক্সপেরিয়েন্সে (অ্যান্ড্রয়েড নেটিভ অ্যাপ) থাকা রিলিজের একটি লিঙ্ক, যা টেস্টারদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য টেস্টারের রিলিজটিতে অ্যাক্সেস থাকা প্রয়োজন। -
binary_download_uri- একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপের বাইনারি (APK বা AAB ফাইল) ডাউনলোড এবং ইনস্টল করে। লিঙ্কটি এক ঘণ্টা পর মেয়াদোত্তীর্ণ হয়ে যায়।
একবার আপনি আপনার বিল্ড ডিস্ট্রিবিউট করলে, এটি Firebase কনসোলের App Distribution ড্যাশবোর্ডে ১৫০ দিনের (পাঁচ মাস) জন্য উপলব্ধ থাকে। বিল্ডটির মেয়াদ শেষ হওয়ার ৩০ দিন আগে, কনসোল এবং আপনার পরীক্ষকের টেস্ট ডিভাইসে থাকা বিল্ডের তালিকায় একটি মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি প্রদর্শিত হয়।
যেসব পরীক্ষককে অ্যাপটি পরীক্ষা করার জন্য আমন্ত্রণ জানানো হয়নি, তারা কাজ শুরু করার জন্য ইমেল আমন্ত্রণ পান এবং বিদ্যমান পরীক্ষকরা একটি নতুন বিল্ড পরীক্ষার জন্য প্রস্তুত হলে ইমেল বিজ্ঞপ্তি পান (টেস্ট অ্যাপটি কীভাবে ইনস্টল করতে হয় তার নির্দেশাবলীর জন্য পরীক্ষক সেটআপ গাইডটি পড়ুন)। আপনি Firebase কনসোলে প্রতিটি পরীক্ষকের অবস্থা—তারা আমন্ত্রণ গ্রহণ করেছে কিনা এবং তারা অ্যাপটি ডাউনলোড করেছে কিনা—পর্যবেক্ষণ করতে পারেন।
অ্যাপটি পরীক্ষা করার জন্য একটি আমন্ত্রণ গ্রহণ করার জন্য পরীক্ষকদের ৩০ দিন সময় থাকে, এরপর আমন্ত্রণটির মেয়াদ শেষ হয়ে যায়। যখন কোনো আমন্ত্রণের মেয়াদ শেষ হতে ৫ দিন বাকি থাকে, তখন রিলিজের সময় Firebase কনসোলে পরীক্ষকের পাশে একটি মেয়াদ শেষের বিজ্ঞপ্তি দেখা যায়। পরীক্ষকের সারিতে থাকা ড্রপ-ডাউন মেনু ব্যবহার করে আমন্ত্রণটি পুনরায় পাঠিয়ে নবায়ন করা যেতে পারে।
পরবর্তী পদক্ষেপ
পরীক্ষকদের জন্য আপনার অ্যাপ সম্পর্কে মতামত (স্ক্রিনশট সহ) পাঠানো সহজ করতে অ্যাপের মধ্যেই ফিডব্যাক ব্যবস্থা চালু করুন।
আপনার অ্যাপের নতুন বিল্ড ইনস্টল করার জন্য উপলব্ধ হলে, আপনার পরীক্ষকদের কীভাবে অ্যাপের মধ্যেই অ্যালার্ট দেখাবেন তা জেনে নিন।
ধাপে ধাপে অ্যাপ বান্ডেল রিলিজ বিতরণ করার পদ্ধতি জানতে অ্যান্ড্রয়েড অ্যাপ বান্ডেল কোডল্যাব পরিদর্শন করুন।
CI/CD ব্যবহার করে QA টেস্টারদের কাছে অ্যান্ড্রয়েড অ্যাপ বিতরণের সেরা পদ্ধতিগুলো জানুন।