এই ডকুমেন্টটি Firebase App Distribution ব্যবহার করার পেশাদার পদ্ধতি সম্পর্কে জানায় যাতে আপনার Android প্রি-রিলিজ টেস্টিং ওয়ার্কফ্লো CI/CD এনভায়রনমেন্টে টেকসই এবং পুনরাবৃত্তিযোগ্য হয়। সমাধানের মধ্যে Gradle ও fastlane অন্তর্ভুক্ত, তবে আপনাকে আরও বেশি নমনীয়তা দিতে আমরা Firebase কনসোল, Firebase CLI ও পাবলিক Firebase App Distribution API-এর মাধ্যমে উপলভ্য সমাধানও অন্তর্ভুক্ত করি। এছাড়াও, আমরা রিলিজ ও টেস্টার সংক্রান্ত সীমা বর্ণনা করি যাতে আপনি সেরা অভিজ্ঞতার জন্য আগে থেকেই পরিকল্পনা করতে পারেন।
আপনি Apple প্ল্যাটফর্মও ব্যবহার করলে, CI/CD এবং fastlane ব্যবহার করে QA টেস্টারদের Apple অ্যাপ ডিস্ট্রিবিউট করার পেশাদার পদ্ধতি দেখুন।
শুরু করার আগে
এই ডকুমেন্টে উল্লেখ করা পেশাদার পদ্ধতি প্রয়োগ করার আগে, Firebase কনসোলে প্রতিটি অ্যাপের জন্য App Distribution চালু করতে ভুলবেন না। আপনি App Distribution চালু না করলে, ৪০৪ নম্বর সমস্যা দেখতে পাবেন।
App Distribution চালু করতে, এই ধাপগুলি অনুসরণ করুন:
- Firebase কনসোলে App Distribution পৃষ্ঠা খুলুন।
- আপনার Android অ্যাপ বেছে নিন।
- শুরু করা যাক বিকল্পে ক্লিক করুন।
Android App Bundle (AAB) যেহেতু সবচেয়ে সাধারণ Android প্যাকেজ ফর্ম্যাট হয়ে উঠছে, তাই আমরা সাজেস্ট করি যে আপনি Google Play-এর সাথে লিঙ্ক করে আপনার টেস্টারদের কাছে AAB ডিস্ট্রিবিউট করার ক্ষমতা সেট-আপ করুন।
CI/CD পাইপলাইন ব্যবহার করে আপনার প্রি-রিলিজ টেস্টিং ওয়ার্কফ্লো অটোমেট করুন
আপনি যদি আপনার পরীক্ষকদের জন্য অ্যাপ তৈরি এবং রিলিজ করার প্রসেস অটোমেট করতে চান এবং আপনি CI/CD ব্যবহার করছেন, তাহলে আমরা আপনাকে fastlane বা Gradle ব্যবহার করার পরামর্শ দিই। অন্য একটি বিকল্প হল Firebase CLI ব্যবহার করা, যা আপনাকে Firebase প্রোডাক্টের একটি বিস্তৃত অ্যারে অ্যাক্সেস করতে দেয়।
ফাস্টলেন ব্যবহার করুন
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এন্ডপয়েন্ট ব্যবহার করুন।