এই ডকুমেন্ট Firebase App Distribution ব্যবহার করার জন্য পেশাদার পদ্ধতি সম্পর্কে জানায়, যাতে CI/CD এনভায়রনমেন্টে আপনার Android প্রি-রিলিজ টেস্টিং ওয়ার্কফ্লো টেকসই ও রিপিট করা যায়। সমাধানের মধ্যে Gradle ও fastlane অন্তর্ভুক্ত, তবে আপনাকে আরও বেশি নমনীয়তা দিতে, আমরা Firebase কনসোল, Firebase CLI ও পাবলিক Firebase App Distribution API-এর মাধ্যমে উপলভ্য সমাধানও অন্তর্ভুক্ত করি। এছাড়াও, আমরা রিলিজ ও পরীক্ষকের সীমা বর্ণনা করি যাতে আপনি অপ্টিমাল অভিজ্ঞতার জন্য আগেই পরিকল্পনা করতে পারেন।
আপনি Apple প্ল্যাটফর্মও ব্যবহার করলে, CI/CD ও fastlane ব্যবহার করে QA টেস্টারদের কাছে Apple অ্যাপ ডিস্ট্রিবিউট করার পেশাদার পদ্ধতি দেখুন।
শুরু করার আগে
এই ডকুমেন্টে উল্লেখ করা পেশাদার পদ্ধতি প্রয়োগ করার আগে, Firebase কনসোলে প্রতিটি অ্যাপের জন্য App Distribution চালু করতে ভুলবেন না। আপনি App Distribution চালু না করে থাকলে, 404 সমস্যা দেখতে পাবেন।
App Distribution চালু করতে, এইসব ধাপ অনুসরণ করুন:
- Firebase কনসোলে App Distribution পৃষ্ঠা খুলুন।
- আপনার Android অ্যাপ বেছে নিন।
- শুরু করুন বিকল্পে ক্লিক করুন।
যেহেতু Android অ্যাপ বান্ডেল (AAB) সবচেয়ে সাধারণ Android প্যাকেজ ফর্ম্যাট হয়ে উঠছে, তাই আমরা সাজেস্ট করি যে Google Play-এর সাথে লিঙ্ক করে আপনার পরীক্ষকদের কাছে AAB ডিস্ট্রিবিউট করার সুবিধা সেট-আপ করুন।
CI/CD পাইপলাইন ব্যবহার করে আপনার প্রি-রিলিজ টেস্টিং ওয়ার্কফ্লো অটোমেট করা
আপনি যদি নিজের পরীক্ষকদের জন্য অ্যাপ তৈরি ও রিলিজ করার প্রসেস অটোমেট করতে চান এবং আপনি CI/CD ব্যবহার করেন, তাহলে আমরা সাজেস্ট করি যে আপনি fastlane বা Gradle ব্যবহার করুন। আরেকটি বিকল্প হল, Firebase CLI ব্যবহার করা, যা আপনাকে Firebase প্রোডাক্টের একটি বিস্তৃত অ্যারে অ্যাক্সেস করতে দেয়।
fastlane ব্যবহার করা
fastlane ব্যবহার করে আপনার CI/CD পাইপলাইনে App Distribution ইন্টিগ্রেট করুন। এটি একটি ওপেন সোর্স টুল যা iOS এবং Android অ্যাপ তৈরি ও রিলিজ করার প্রসেস অটোমেট করে। টেস্টারদের কাছে আপনার লেটেস্ট রিলিজ অটোমেটিক বিল্ড ও ডিস্ট্রিবিউট করার মাধ্যমে, আপনি নিশ্চিত করেন যে আপনার অ্যাপের সবচেয়ে আপ-টু-ডেট টেস্ট ভার্সন সবসময় টেস্টারদের কাছে আছে।
fastlane-এর সাথে কীভাবে App Distribution ইন্টিগ্রেট করতে হয় তা জানতে, fastlane ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ ডিস্ট্রিবিউট করুন দেখুন।
Gradle ব্যবহার করা
App Distribution Gradle প্লাগ-ইন ব্যবহার করে
আপনার Android বিল্ড প্রসেসে
App Distribution ইন্টিগ্রেট করতে Gradle ব্যবহার করুন। প্লাগ-ইন আপনাকে অ্যাপের build.gradle ফাইলে আপনার পরীক্ষক ও
রিলিজ নোট নির্দিষ্ট করতে দেয়, যা আপনাকে অ্যাপের বিভিন্ন বিল্ডের ধরন ও ভ্যারিয়েন্টের জন্য
ডিস্ট্রিবিউশন কনফিগার করতে দেয়।
Gradle-এর সাথে কীভাবে App Distribution ইন্টিগ্রেট করতে হয় তা জানতে, Gradle ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ ডিস্ট্রিবিউট করুন দেখুন।
Firebase CLI ব্যবহার করুন
প্রোগ্রামাটিক উপায়ে পরীক্ষকদের কাছে বিল্ড ডিস্ট্রিবিউট করার জন্য Firebase CLI টুল ব্যবহার করুন App Distribution। আপনি কোনও বিল্ডের জন্য টেস্টার ও রিলিজ নোট নির্দিষ্ট করতে পারবেন।
অ্যাপের Firebase অ্যাপ আইডি উল্লেখ করে আপনার লেটেস্ট Android বিল্ড ডিস্ট্রিবিউট করুন, ঐচ্ছিকভাবে রিলিজ নোট ও টেস্টারদের ইমেল আইডি সহ ফাইল যোগ করুন:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
আপনার বিল্ড অটোমেট করার জন্য Firebase CLI ব্যবহার করা সম্পর্কে আরও জানতে, Firebase CLI ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ ডিস্ট্রিবিউট করুন দেখুন।
যাচাইকরণের জন্য পরিষেবা ক্রেডেনশিয়াল ব্যবহার করা
পরিষেবা অ্যাকাউন্টের সাথে App Distribution fastlane প্লাগ-ইন, Gradle প্লাগ-ইন, অথবা Firebase CLI ব্যবহার করুন। একটি পরিষেবা অ্যাকাউন্ট হল এক ধরনের Google অ্যাকাউন্ট যা অ্যাপ্লিকেশনকে (ব্যবহারকারীদের বিপরীতে) উপস্থাপন করে। আপনার CI সিস্টেম, App Distribution ওয়ার্কলোড চালানোর জন্য পরিষেবা অ্যাকাউন্ট ব্যবহার করতে পারে। আরও জানতে, পরিষেবা অ্যাকাউন্টের মাধ্যমে যাচাই করুন দেখুন।
আপনি যদি ওয়ার্কলোড আইডেন্টিটি ফেডারেশন ব্যবহার করেন, তাহলে পরিষেবা অ্যাকাউন্ট কীয়ের পরিবর্তে ক্রেডেনশিয়াল কনফিগারেশন ফাইল জেনারেট ও ব্যবহার করতে পারবেন।
রিলিজের সীমা মনে রাখবেন
App Distribution প্রতিটি অ্যাপে সর্বাধিক ১,০০০টি রিলিজ সাপোর্ট করে। এর অর্থ হল, আপনি রিলিজের সীমা অতিক্রম করলে, App Distribution অটোমেটিক সীমা অতিক্রম করা সবচেয়ে পুরনো রিলিজ মুছে দেয়। রিলিজ সংক্রান্ত সীমা কীভাবে ম্যানেজ করতে হয় তা জানতে, অ্যাপ রিলিজ কতদিন উপলভ্য থাকে? লিঙ্কে দেখুন
একাধিক রিলিজে একই টেস্টারদের সেট যোগ করা
আপনার রিলিজে প্রচুর সংখ্যক টেস্টার যোগ করতে চাইলে, App Distribution-এর বাল্ক টেস্টার ম্যানেজমেন্ট ফাংশনালিটি ব্যবহার করুন।
আমরা সাজেস্ট করি যে একাধিক রিলিজে একই টেস্টারকে যোগ করার জন্য গ্রুপ ব্যবহার করুন। গ্রুপ অ্যাক্সেস কন্ট্রোল লিস্ট হিসেবে কাজ করে; আপনি কোনও গ্রুপ থেকে কোনও পরীক্ষককে সরিয়ে দিলে, সেই গ্রুপে ডিস্ট্রিবিউট করা সব রিলিজের অ্যাক্সেস তিনি হারান। আরও জানতে, গ্রুপ থেকে পরীক্ষক যোগ করা ও সরানো দেখুন।
ম্যানেজ করার জন্য আপনার কাছে অনেক টেস্টার থাকলে, আপনি Firebase কনসোল ব্যবহার করে একসাথে অনেক টেস্টার যোগ করতে ও মুছে দিতে পারবেন। টেস্টারদের যোগ করা ও সরানোর প্রসেস অটোমেট করতে, Firebase CLI, fastlane, Gradle, অথবা পাবলিক Firebase App Distribution API ব্যবহার করুন।
টেস্টারদের সংখ্যায় সীমাবদ্ধতা সম্পর্কে মনে রাখবেন
App Distribution আপনাকে Firebase প্রোজেক্ট বা App Distribution গ্রুপে যোগ করতে পারবেন এমন পরীক্ষকের সংখ্যা সীমিত করে। এইসব সীমা পেরিয়ে গেলে, আপনি অতিরিক্ত টেস্টারদের কাছে নিজের অ্যাপ ডিস্ট্রিবিউট করতে পারবেন না। টেস্টারের সীমা সম্পর্কে আরও জানতে, আমার অ্যাপে কি টেস্টার যোগ করার কোনও সীমা আছে? দেখুন
সম্ভাব্য পরীক্ষার্থীদের টেস্টিংয়ের জন্য সেল্ফ-রেজিস্টার করার সুবিধা দেওয়া
আরও বেশি পরীক্ষকের কাছে আপনার অ্যাপ ডিস্ট্রিবিউট করা সহজ করতে, আমরা সাজেস্ট করি যে আপনি আমন্ত্রণ জানানোর লিঙ্ক ব্যবহার করুন। আমন্ত্রণ লিঙ্ক হল একটি অনন্য URL যা পরীক্ষকদের কোনও অ্যাপ পরীক্ষা করার জন্য সাইন-আপ করতে তাদের ইমেল আইডি লিখতে দেয়। অ্যাপ পরীক্ষকদের তালিকায় ব্যবহারকারীদের নিজেদের যোগ করতে দেওয়া হল আপনার ইন্টার্নাল টেস্টিং বেস বাড়ানোর একটি নির্বিঘ্নে উপায়।
আমন্ত্রণ লিঙ্কের ব্যবহারিক উদাহরণগুলির মধ্যে রয়েছে কোম্পানির ডগফুড প্রোগ্রাম, বড় QA টিম সহ সংস্থা এবং ডেভেলপার গ্রুপ যারা চায় যে স্বতন্ত্র ক্লায়েন্টরা টেস্টার অ্যাক্সেস কন্ট্রোল করতে পারুক।
আমরা সাজেস্ট করি যে আপনি গ্রুপের জন্য আমন্ত্রণ জানানোর লিঙ্ক তৈরি করুন। আমন্ত্রণ লিঙ্ক ব্যবহার করে সাইন-আপ করা যেকোনও পরীক্ষককে পরবর্তী রিলিজের জন্য অটোমেটিক যোগ করা হয়।
আরও জানতে, আমন্ত্রণ লিঙ্ক তৈরি করুন এবং গ্রুপ থেকে পরীক্ষক যোগ করুন ও সরিয়ে দিন দেখুন।
আপনি যে ভার্সন নিয়ে চিন্তিত, পরীক্ষকরা সেটিই পরীক্ষা করছেন কিনা তা নিশ্চিত করুন
নতুন ভার্সন আপলোড করা হলে, আপনার পরীক্ষকদের ইমেলের মাধ্যমে জানানো হয়। এই বিজ্ঞপ্তি সম্পূর্ণ করতে, আপনি নিম্নলিখিত ফিচার ব্যবহার করতে পারেন – রিলিজ লিঙ্ক এবং ইন-অ্যাপ অ্যালার্ট – যাতে আপনার পরীক্ষকরা আপনার পছন্দের নির্দিষ্ট অ্যাপ ভার্সন পরীক্ষা করছেন তা নিশ্চিত করা যায়:
- রিলিজ লিঙ্ক: আপনি পরীক্ষকদের সাথে কোনও নির্দিষ্ট ভার্সন শেয়ার করতে চাইলে এই ফিচার ব্যবহার করুন। রিলিজ লিঙ্ক কীভাবে ব্যবহার করতে হয় তা জানতে, টেস্টারদের কাছে Firebase কনসোল ব্যবহার করে Android অ্যাপ ডিস্ট্রিবিউট করুন দেখুন। আপনার বিল্ড অটোমেশন টুলের সাথে ব্যবহার করার জন্য এইসব লিঙ্ক আমাদের Firebase, fastlane এবং Gradle কমান্ড-লাইন (CLI) টুলের সাথেও উপলভ্য।
- ইন-অ্যাপ অ্যালার্ট: আপনার টেস্টাররা যেন আপনার অ্যাপের লেটেস্ট ভার্সনই টেস্ট করেন তা নিশ্চিত করতে এইসব অ্যালার্ট ব্যবহার করুন। Firebase App Distribution Android SDK ইন্টিগ্রেট করার মাধ্যমে, আপনার অ্যাপের নতুন বিল্ড উপলভ্য হলে, আপনি সরাসরি অ্যাপের মধ্যে আপনার টেস্টারদের অ্যালার্ট দেখাতে পারবেন। ইন-অ্যাপ অ্যালার্ট কীভাবে যোগ করতে হয় তা জানতে, নতুন বিল্ড সম্পর্কে পরীক্ষকদের বিজ্ঞপ্তি পাঠান দেখুন।
যেসব টেস্টার কোম্পানি ছেড়ে চলে যান তাদের অ্যাক্সেস অটোমেটিক সরিয়ে দেওয়া
আপনার CI/CD ইন্টার্নাল টেস্টিং ফ্লো চালু ও রানিং থাকলে, আপনাকে এটি নিশ্চিত করতে হবে যে যারা কোম্পানি ছেড়ে চলে গেছেন তারা যেন আপনার ইন্টার্নাল বিল্ড আর অ্যাক্সেস করতে না পারেন। বিল্ডে পরীক্ষকের অ্যাক্সেস ম্যানেজ করতে সাহায্য করার জন্য, App Distribution নিম্নলিখিত বিকল্পগুলি প্রদান করে:
- fastlane: আপনার Fastfile ফাইল ব্যবহার করুন অথবা সরাসরি fastlane অ্যাকশন রান করুন। আরও জানতে, fastlane ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ ডিস্ট্রিবিউট করুন দেখুন।
- Firebase CLI:
firebase appdistribution:testers:removeঅ্যাকশন ব্যবহার করুন। আরও জানতে, Firebase CLI ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ ডিস্ট্রিবিউট করুন দেখুন। - Gradle: আপনি যদি টেস্টারদের সরিয়ে দেওয়ার জন্য Gradle ব্যবহার করেন, তাহলে আপনার
build.gradleফাইলেappDistributionRemoveTestersআর্গুমেন্টও--PROJECT_NUMBER পাস করুন। আরও জানতে, Gradle ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ ডিস্ট্রিবিউট করুন দেখুন।--EMAILS - **সর্বজনীন
Firebase App Distribution API:
**
testers.batchRemoveএন্ডপয়েন্ট ব্যবহার করুন।