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