এই নির্দেশিকায় বর্ণনা করা হয়েছে কীভাবে Firebase সিএলআই (Firebase CLI) ব্যবহার করে পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ বান্ডেল (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 ইন্টিগ্রেশন চালু করতে এবং কোন ফায়ারবেস অ্যান্ড্রয়েড অ্যাপগুলোকে গুগল প্লে-এর সাথে লিঙ্ক করবেন তা নির্বাচন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।
গুগল প্লে-এর সাথে সংযোগ স্থাপন সম্পর্কে আরও জানুন।
ধাপ ১. আপনার অ্যাপ তৈরি করুন।
যখন আপনি পরীক্ষকদের কাছে আপনার অ্যাপের একটি প্রি-রিলিজ সংস্করণ বিতরণ করার জন্য প্রস্তুত হবেন, তখন আপনার AAB বিল্ড করুন (নির্দেশাবলীর জন্য অ্যান্ড্রয়েড স্টুডিও ডকুমেন্টেশন দেখুন)।
ধাপ ২. আপনার অ্যাপটি পরীক্ষকদের মধ্যে বিতরণ করুন।
পরীক্ষকদের কাছে আপনার অ্যাপটি বিতরণ করতে, Firebase CLI ব্যবহার করে আপনার অ্যাপের ফাইলটি আপলোড করুন:
- Firebase CLI- এর সর্বশেষ সংস্করণটি ইনস্টল বা আপডেট করুন (আমরা আপনার OS-এর জন্য নির্দিষ্ট CLI-এর স্বতন্ত্র বাইনারিটি ডাউনলোড করার পরামর্শ দিই)। সাইন ইন করে নিশ্চিত হন যে আপনি আপনার প্রোজেক্টগুলো অ্যাক্সেস করতে পারছেন।
আপনার অ্যাপ আপলোড করতে এবং পরীক্ষকদের কাছে বিতরণ করতে
appdistribution:distributeকমান্ডটি চালান। বিতরণটি কনফিগার করতে নিম্নলিখিত প্যারামিটারগুলো ব্যবহার করুন:অ্যাপডিস্ট্রিবিউশন:বিতরণ বিকল্প --appআবশ্যক : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি Firebase কনসোলের জেনারেল সেটিংস পৃষ্ঠায় অ্যাপ আইডিটি খুঁজে পাবেন।
--app 1:1234567890:android:0a1b2c3d4e5f67890
--tokenএকটি রিফ্রেশ টোকেন যা ফায়ারবেস সিএলআই Firebase CLI) দিয়ে আপনার সিআই (CI) এনভায়রনমেন্ট প্রমাণীকরণের সময় প্রিন্ট করা হয় (আরও তথ্যের জন্য "সিআই সিস্টেমের সাথে সিএলআই ব্যবহার করুন" পড়ুন)।
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-fileএই বিল্ডের রিলিজ নোট।
আপনি সরাসরি রিলিজ নোট উল্লেখ করতে পারেন:
--release-notes "Text of release notes"
অথবা, একটি প্লেইন টেক্সট ফাইলের পাথ নির্দিষ্ট করুন:
--release-notes-file "/path/to/release-notes.txt"
--testers
--testers-fileআপনি যে পরীক্ষকদের আমন্ত্রণ জানাতে চান, তাদের ইমেল ঠিকানাগুলো।
আপনি পরীক্ষকদেরকে কমা দিয়ে আলাদা করা ইমেল ঠিকানার তালিকা হিসেবে নির্দিষ্ট করতে পারেন:
--testers "ali@example.com, bri@example.com, cal@example.com"
অথবা, আপনি কমা দিয়ে আলাদা করা ইমেল ঠিকানার তালিকা সম্বলিত একটি সাধারণ টেক্সট ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন:
--testers-file "/path/to/testers.txt"
--groups
--groups-fileআপনি যে পরীক্ষক গোষ্ঠীগুলিকে আমন্ত্রণ জানাতে চান ( পরীক্ষক পরিচালনা দেখুন)। গোষ্ঠীগুলি নির্দিষ্ট করা হয় ব্যবহার করে
গ্রুপ উপনাম যা আপনি Firebase কনসোলে খুঁজে দেখতে পারেন।আপনি গ্রুপগুলোকে কমা দিয়ে আলাদা করা তালিকা হিসেবে নির্দিষ্ট করতে পারেন:
--groups "qa-team, trusted-testers"
অথবা, আপনি একটি সাধারণ টেক্সট ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন, যেখানে কমা দিয়ে আলাদা করা গ্রুপ নামগুলোর একটি তালিকা থাকবে:
--groups-file "/path/to/groups.txt"
--debugবিস্তারিত লগ আউটপুট প্রিন্ট করার জন্য একটি ফ্ল্যাগ যা আপনি অন্তর্ভুক্ত করতে পারেন।
--test-devices
--test-devices-fileনিম্নলিখিত বিতরণ প্রকারগুলি স্বয়ংক্রিয় পরীক্ষক বিটা বৈশিষ্ট্যের অংশ।
যে টেস্ট ডিভাইসগুলিতে আপনি বিল্ডগুলি বিতরণ করতে চান ( স্বয়ংক্রিয় পরীক্ষাগুলি দেখুন)।
আপনি পরীক্ষকদেরকে কমা দিয়ে আলাদা করা ইমেল ঠিকানার তালিকা হিসেবে নির্দিষ্ট করতে পারেন:
--test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
অথবা, আপনি একটি সাধারণ টেক্সট ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন, যেখানে সেমিকোলন দ্বারা পৃথক করা টেস্ট ডিভাইসগুলোর একটি তালিকা থাকবে:
--test-devices-file: "/path/to/test-devices.txt"
--test-usernameস্বয়ংক্রিয় পরীক্ষা চলাকালীন স্বয়ংক্রিয় লগইনের জন্য ব্যবহৃত ইউজারনেম।
--test-password
--test-password-fileস্বয়ংক্রিয় পরীক্ষা চলাকালীন ব্যবহারের জন্য স্বয়ংক্রিয় লগইনের পাসওয়ার্ড।
অথবা, আপনি পাসওয়ার্ড সম্বলিত একটি প্লেইন টেক্সট ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন:
--test-password-file: "/path/to/test-password.txt"
--test-username-resourceস্বয়ংক্রিয় পরীক্ষা চলাকালীন ব্যবহারের জন্য স্বয়ংক্রিয় লগইনের ইউজারনেম ফিল্ডের রিসোর্স নেম।
--test-password-resourceস্বয়ংক্রিয় পরীক্ষা চলাকালীন ব্যবহারের জন্য স্বয়ংক্রিয় লগইনের পাসওয়ার্ড ফিল্ডের রিসোর্স নেম।
--test-non-blockingস্বয়ংক্রিয় পরীক্ষাগুলো অ্যাসিঙ্ক্রোনাসভাবে চালান। স্বয়ংক্রিয় পরীক্ষার ফলাফল জানতে ফায়ারবেস কনসোল দেখুন।
উদাহরণস্বরূপ:
firebase appdistribution:distribute test.aab \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtরিলিজ আপলোড করার পর Firebase CLI নিম্নলিখিত লিঙ্কগুলি আউটপুট করে। এই লিঙ্কগুলি আপনাকে বাইনারিগুলি পরিচালনা করতে এবং পরীক্ষক ও অন্যান্য ডেভেলপারদের কাছে সঠিক রিলিজটি পৌঁছেছে কিনা তা নিশ্চিত করতে সাহায্য করে:
-
firebase_console_uri- Firebase কনসোলের একটি লিঙ্ক, যেখানে একটিমাত্র রিলিজ প্রদর্শিত হয়। আপনি আপনার প্রতিষ্ঠানের অন্যান্য ডেভেলপারদের সাথে এই লিঙ্কটি শেয়ার করতে পারেন। -
testing_uri- টেস্টার এক্সপেরিয়েন্সে (অ্যান্ড্রয়েড নেটিভ অ্যাপ) থাকা রিলিজের একটি লিঙ্ক, যা টেস্টারদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য টেস্টারের রিলিজটিতে অ্যাক্সেস থাকা প্রয়োজন। -
binary_download_uri- একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপের বাইনারি (APK বা AAB ফাইল) ডাউনলোড এবং ইনস্টল করে। লিঙ্কটি এক ঘণ্টা পর মেয়াদোত্তীর্ণ হয়ে যায়।
পরীক্ষক এবং গ্রুপ পরিচালনা করুন
রিলিজ বিতরণের পাশাপাশি, আপনি আপনার Firebase প্রজেক্ট থেকে নতুন টেস্টারদের আমন্ত্রণ জানাতে বা বিদ্যমান টেস্টারদের সরিয়ে দিতে
appdistribution:testers:addএবংappdistribution:testers:removeব্যবহার করতে পারেন।আপনার ফায়ারবেস প্রজেক্টে একবার কোনো পরীক্ষককে যুক্ত করা হলে, আপনি তাদেরকে স্বতন্ত্র রিলিজগুলোতে যুক্ত করতে পারবেন। আপনি কোনো পরীক্ষককে সরিয়ে দিলে, আপনার প্রজেক্টের রিলিজগুলোতে তাদের আর অ্যাক্সেস থাকবে না। মনে রাখবেন যে, সম্প্রতি সরানো পরীক্ষকরা একটি নির্দিষ্ট সময়ের জন্য আপনার রিলিজগুলোতে অ্যাক্সেস ধরে রাখতে পারেন।
উদাহরণস্বরূপ:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comপরীক্ষকদের ইমেলগুলো একটি স্পেস দিয়ে আলাদা করতে হবে। আপনি
--file /path/to/testers.txtব্যবহার করেও পরীক্ষকদের নির্দিষ্ট করতে পারেন।আপনার পরীক্ষকের সংখ্যা বেশি হলে গ্রুপ ব্যবহার করার কথা ভাবতে পারেন: আপনার Firebase প্রজেক্টে গ্রুপ তৈরি বা মুছে ফেলার জন্য আপনি
appdistribution:group:createএবংappdistribution:group:deleteব্যবহার করতে পারেন।appdistribution:testers:addএবংappdistribution:testers:removeকমান্ডগুলোর জন্য একটি গ্রুপ নির্দিষ্ট করতে--group-aliasব্যবহার করুন।উদাহরণস্বরূপ:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team-
একবার আপনি আপনার বিল্ড ডিস্ট্রিবিউট করলে, এটি Firebase কনসোলের App Distribution ড্যাশবোর্ডে ১৫০ দিনের (পাঁচ মাস) জন্য উপলব্ধ থাকে। বিল্ডটির মেয়াদ শেষ হওয়ার ৩০ দিন আগে, কনসোল এবং আপনার পরীক্ষকের টেস্ট ডিভাইসে থাকা বিল্ডের তালিকায় একটি মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি প্রদর্শিত হয়।
যেসব পরীক্ষককে অ্যাপটি পরীক্ষা করার জন্য আমন্ত্রণ জানানো হয়নি, তারা কাজ শুরু করার জন্য ইমেল আমন্ত্রণ পান এবং বিদ্যমান পরীক্ষকরা একটি নতুন বিল্ড পরীক্ষার জন্য প্রস্তুত হলে ইমেল বিজ্ঞপ্তি পান (টেস্ট অ্যাপটি কীভাবে ইনস্টল করতে হয় তার নির্দেশাবলীর জন্য পরীক্ষক সেটআপ গাইডটি পড়ুন)। আপনি Firebase কনসোলে প্রতিটি পরীক্ষকের অবস্থা—তারা আমন্ত্রণ গ্রহণ করেছে কিনা এবং তারা অ্যাপটি ডাউনলোড করেছে কিনা—পর্যবেক্ষণ করতে পারেন।
অ্যাপটি পরীক্ষা করার জন্য একটি আমন্ত্রণ গ্রহণ করার জন্য পরীক্ষকদের ৩০ দিন সময় থাকে, এরপর আমন্ত্রণটির মেয়াদ শেষ হয়ে যায়। যখন কোনো আমন্ত্রণের মেয়াদ শেষ হতে ৫ দিন বাকি থাকে, তখন রিলিজের সময় Firebase কনসোলে পরীক্ষকের পাশে একটি মেয়াদ শেষের বিজ্ঞপ্তি দেখা যায়। পরীক্ষকের সারিতে থাকা ড্রপ-ডাউন মেনু ব্যবহার করে আমন্ত্রণটি পুনরায় পাঠিয়ে নবায়ন করা যেতে পারে।
পরবর্তী পদক্ষেপ
পরীক্ষকদের জন্য আপনার অ্যাপ সম্পর্কে মতামত (স্ক্রিনশট সহ) পাঠানো সহজ করতে অ্যাপের মধ্যেই ফিডব্যাক ব্যবস্থা চালু করুন।
আপনার অ্যাপের নতুন বিল্ড ইনস্টল করার জন্য উপলব্ধ হলে, আপনার পরীক্ষকদের কীভাবে অ্যাপের মধ্যেই অ্যালার্ট দেখাবেন তা জেনে নিন।
CI/CD ব্যবহার করে QA টেস্টারদের কাছে অ্যান্ড্রয়েড অ্যাপ বিতরণের সেরা পদ্ধতিগুলো জানুন।