এই নির্দেশিকায় Firebase CLI ব্যবহার করে কীভাবে পরীক্ষকদের কাছে APK ডিস্ট্রিবিউট করতে হয় তা বর্ণনা করা হয়েছে। CLI টুল আপনাকে কোনও বিল্ডের জন্য পরীক্ষক ও রিলিজ নোট নির্দিষ্ট করতে দেয়, তারপর সেই অনুযায়ী বিল্ড ডিস্ট্রিবিউট করে।
শুরু করার আগে
আপনি আগে থেকে না করে থাকলে, আপনার Android প্রোজেক্টে Firebase যোগ করুন।
আপনি অন্য কোনও Firebase প্রোডাক্ট ব্যবহার না করলে, আপনাকে শুধু একটি প্রোজেক্ট তৈরি করতে হবে এবং আপনার অ্যাপ রেজিস্টার করতে হবে। তবে, ভবিষ্যতে অতিরিক্ত প্রোডাক্ট ব্যবহার করার সিদ্ধান্ত নিলে, উপরে লিঙ্ক করা পৃষ্ঠায় উল্লেখিত সব ধাপ সম্পূর্ণ করতে ভুলবেন না।
Firebase কনসোলের App Distribution পৃষ্ঠা খুলুন। প্রম্পট করা হলে আপনার Firebase প্রোজেক্ট বেছে নিন, অ্যাপ সুইচার ব্যবহার করে আপনার অ্যাপ বেছে নিন এবং শুরু করুন বিকল্পে ক্লিক করুন।
ধাপ ১. আপনার অ্যাপ তৈরি করা
টেস্টারদের কাছে আপনার অ্যাপের প্রি-রিলিজ ভার্সন ডিস্ট্রিবিউট করার জন্য প্রস্তুত হলে, আপনার সাধারণ প্রসেস ব্যবহার করে APK তৈরি করুন। আপনাকে অবশ্যই নিজের debug কী বা অ্যাপ সাইনিং কী দিয়ে APK সাইন করতে হবে।
ধাপ ২. টেস্টারদের কাছে আপনার অ্যাপ ডিস্ট্রিবিউট করা
টেস্টারদের কাছে আপনার অ্যাপ ডিস্ট্রিবিউট করতে, Firebase CLI ব্যবহার করে আপনার অ্যাপের ফাইল আপলোড করুন:
- Firebase CLI-এর লেটেস্ট ভার্সন ইনস্টল বা আপডেট করুন (আপনার OS-এর জন্য নির্দিষ্ট CLI-এর স্ট্যান্ডঅ্যালোন বাইনারি ডাউনলোড করার জন্য সাজেস্ট করা হয়)। সাইন-ইন করেছেন কিনা এবং আপনার প্রোজেক্ট অ্যাক্সেস করতে পারছেন কিনা তা দেখে নিন।
-
আপনার অ্যাপ আপলোড করতে এবং টেস্টারদের মধ্যে এটি ডিস্ট্রিবিউট করতে
appdistribution:distributeকমান্ড চালান। ডিস্ট্রিবিউশন কনফিগার করতে নিম্নলিখিত প্যারামিটার ব্যবহার করুন:appdistribution:distribute বিকল্প --appপ্রয়োজনীয়: আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনি Firebase কনসোলে, সাধারণ সেটিংস পৃষ্ঠায় অ্যাপ আইডি দেখতে পাবেন।
--app 1:1234567890:android:0a1b2c3d4e5f67890
--tokenFirebase CLI-এর (আরও তথ্যের জন্য CI সিস্টেমের সাথে 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"
অথবা, আপনি একটি সাধারণ টেক্সট ফাইলের পাথ নির্দিষ্ট করতে পারেন যাতে টেস্ট ডিভাইসের একটি সেমিকোলন-বিভক্ত তালিকা থাকে:
--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 কনসোলে যান। এই ফ্ল্যাগ সেট করা না থাকলে, পরীক্ষা সম্পূর্ণ না হওয়া পর্যন্ত কমান্ড ব্লক হয়ে যাবে এবং কোনও পরীক্ষা ব্যর্থ হলে, ব্যর্থতার কোড সহ বেরিয়ে আসবে।
--results-bucketএকটি কাস্টম Google Cloud Storage (GCS) বাকেট যেখানে পরীক্ষার ফলাফল স্টোর করা হয়। এটি ফাঁকা রাখলে, ডিফল্ট বাকেট ব্যবহার করা হয়। বাকেটটি অবশ্যই বিলিং চালু থাকা প্রোজেক্টের মালিকানাধীন হতে হবে এবং বাকেট নির্দিষ্ট করলে ব্যবহৃত স্টোরেজের জন্য বিলিং চার্জ প্রযোজ্য হবে।
যেমন:
firebase appdistribution:distribute test.apk \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtরিলিজ আপলোড করার পরে Firebase CLI নিম্নলিখিত লিঙ্ক আউটপুট করে। এইসব লিঙ্ক আপনাকে বাইনারি ম্যানেজ করতে এবং পরীক্ষক ও অন্যান্য ডেভেলপারদের কাছে সঠিক রিলিজ আছে কিনা তা নিশ্চিত করতে সাহায্য করে:
firebase_console_uri- একটি সিঙ্গেল রিলিজ দেখানো Firebase কনসোলের লিঙ্ক। আপনার সংস্থার অন্যান্য ডেভেলপারদের সাথে এই লিঙ্ক শেয়ার করতে পারবেন।testing_uri- পরীক্ষকের অভিজ্ঞতায় রিলিজের লিঙ্ক (বিল্ট-ইন Android অ্যাপ) যা পরীক্ষকদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপ ইনস্টল করতে দেয়। লিঙ্ক ব্যবহার করার জন্য পরীক্ষকের রিলিজ অ্যাক্সেস করতে হবে।binary_download_uri- একটি সই করা লিঙ্ক যা সরাসরি অ্যাপ বাইনারি ডাউনলোড ও ইনস্টল করে (APK বা AAB ফাইল) । এক ঘণ্টা পরে লিঙ্কের মেয়াদ শেষ হয়ে যাবে।
টেস্টার ও গ্রুপ ম্যানেজ করা
রিলিজ ডিস্ট্রিবিউট করা ছাড়াও, আপনি Firebase প্রোজেক্টে নতুন টেস্টারদের আমন্ত্রণ জানাতে বা আগে থেকে থাকা টেস্টারদের সরাতে
appdistribution:testers:addএবংappdistribution:testers:removeব্যবহার করতে পারেন।আপনার Firebase প্রোজেক্টে কোনও টেস্টারকে যোগ করার পরে আপনি তাকে আলাদা আলাদা রিলিজের জন্য যোগ করতে পারবেন। আপনি কোনও টেস্টারকে সরিয়ে দিলে, তিনি আর আপনার প্রোজেক্টের রিলিজ অ্যাক্সেস করতে পারবেন না। মনে রাখবেন, সম্প্রতি সরানো পরীক্ষকরা এখনও কিছু সময়ের জন্য আপনার রিলিজ অ্যাক্সেস করতে পারবেন।
যেমন:
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
আপনার বিল্ড ডিস্ট্রিবিউট করার পরে, এটি ১৫০ দিন (পাঁচ মাস) ধরে App Distribution কনসোলের Firebase ড্যাশবোর্ডে উপলভ্য থাকে। বিল্ডের মেয়াদ শেষ হওয়ার ৩০ দিন আগে, কনসোল এবং আপনার পরীক্ষকের টেস্ট ডিভাইসে বিল্ডের তালিকায় মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি দেখানো হয়।
যেসব টেস্টারকে অ্যাপ টেস্ট করার জন্য আমন্ত্রণ জানানো হয়নি, তারা শুরু করার জন্য ইমেল আমন্ত্রণ পান এবং আগে থেকে থাকা টেস্টাররা ইমেল বিজ্ঞপ্তি পান যে একটি নতুন বিল্ড টেস্ট করার জন্য রেডি (টেস্ট অ্যাপ কীভাবে ইনস্টল করতে হয় সেই সংক্রান্ত নির্দেশাবলীর জন্য টেস্টার সেট-আপ গাইড পড়ুন)। আপনি Firebase কনসোলে প্রতিটি পরীক্ষকের স্ট্যাটাস মনিটর করতে পারবেন-তারা আমন্ত্রণ গ্রহণ করেছেন কিনা এবং অ্যাপ ডাউনলোড করেছেন কিনা তা দেখতে পাবেন।
অ্যাপ পরীক্ষা করার জন্য আমন্ত্রণ জানানোর মেয়াদ শেষ হওয়ার আগে পরীক্ষকদের কাছে সেটি গ্রহণ করার জন্য ৩০ দিন সময় থাকে। কোনও আমন্ত্রণ শেষ হওয়ার ৫ দিন আগে, রিলিজের উপর পরীক্ষকের নামের পাশে Firebase কনসোলে মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি দেখানো হয়। টেস্টার সারিতে ড্রপ-ডাউন মেনু ব্যবহার করে আমন্ত্রণ আবার পাঠানো যেতে পারে।
পরবর্তী ধাপ
আপনার অ্যাপ সম্পর্কে পরীক্ষার্থীদের থেকে মতামত সংগ্রহ করতে ইন-অ্যাপ মতামত প্রয়োগ করুন (এর মধ্যে স্ক্রিনশট অন্তর্ভুক্ত)।
আপনার অ্যাপের নতুন বিল্ড ইনস্টল করার জন্য উপলভ্য হলে, কীভাবে আপনার পরীক্ষকদের ইন-অ্যাপ অ্যালার্ট দেখাবেন তা জানুন।
CI/CD ব্যবহার করে QA টেস্টারদের কাছে Android অ্যাপ ডিস্ট্রিবিউট করার পেশাদার পদ্ধতি সম্পর্কে জানুন।