আপনি Firebase CLI ব্যবহার করে পরীক্ষকদের কাছে বিল্ড ডিস্ট্রিবিউট করতে পারবেন। CLI টুল আপনাকে বিল্ডের জন্য টেস্টার ও রিলিজ নোট নির্দিষ্ট করতে দেয় এবং সেই অনুযায়ী বিল্ড ডিস্ট্রিবিউট করে।
শুরু করার আগে
আপনি আগে থেকে না করে থাকলে, আপনার Apple প্রোজেক্টে Firebase যোগ করুন।
আপনি অন্য কোনও Firebase প্রোডাক্ট ব্যবহার না করলে, আপনাকে শুধু একটি প্রোজেক্ট তৈরি করে আপনার অ্যাপ রেজিস্টার করতে হবে। তবে, ভবিষ্যতে আপনি অতিরিক্ত প্রোডাক্ট ব্যবহার করার সিদ্ধান্ত নিলে, উপরে লিঙ্ক করা পৃষ্ঠার সব ধাপ সম্পূর্ণ করতে ভুলবেন না।
Firebase কনসোলের App Distribution পৃষ্ঠা খুলুন। প্রম্পট করা হলে আপনার Firebase প্রোজেক্ট বেছে নিন, অ্যাপ সুইচার ব্যবহার করে আপনার অ্যাপ বেছে নিন এবং শুরু করুন বিকল্পে ক্লিক করুন।
ধাপ ১. টেস্টারদের মধ্যে আপনার অ্যাপ ডিস্ট্রিবিউট করুন
পরীক্ষকদের কাছে আপনার অ্যাপ ডিস্ট্রিবিউট করতে, Firebase CLI ব্যবহার করে IPA ফাইল আপলোড করুন:
- Firebase CLI-এর লেটেস্ট ভার্সন ইনস্টল বা আপডেট করুন (আপনার OS-এর জন্য নির্দিষ্ট CLI-এর জন্য স্ট্যান্ডঅ্যালোন বাইনারি ডাউনলোড করার সাজেশন আমরা দিই)। সাইন-ইন করে আপনার প্রোজেক্ট অ্যাক্সেস করতে পারছেন কিনা তা পরীক্ষা করে দেখুন।
-
আপনার অ্যাপ আপলোড করতে এবং পরীক্ষকদের মধ্যে এটি বিতরণ করতে
appdistribution:distributeকমান্ড রান করুন। ডিস্ট্রিবিউশন কনফিগার করতে নিম্নলিখিত প্যারামিটার ব্যবহার করুন:appdistribution:distribute options --appপ্রয়োজনীয়: আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনি Firebase কনসোলের সাধারণ সেটিংস পৃষ্ঠা থেকে অ্যাপ আইডি খুঁজে পাবেন।
--app 1:1234567890:ios:0a1b2c3d4e5f67890
--tokenএকটি রিফ্রেশ টোকেন যা আপনার CI পরিবেশকে Firebase CLI-এর মাধ্যমে যাচাই করার সময় প্রিন্ট করা হয় (আরও তথ্যের জন্য CI সিস্টেমের সাথে CLI ব্যবহার করুন পড়ুন)।
--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.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtরিলিজ আপলোড করার পরে Firebase CLI নিম্নলিখিত লিঙ্কগুলি আউটপুট করে। এইসব লিঙ্ক আপনাকে বাইনারি ম্যানেজ করতে এবং টেস্টার ও অন্যান্য ডেভেলপারদের কাছে সঠিক রিলিজ আছে কিনা তা নিশ্চিত করতে সাহায্য করে:
firebase_console_uri- একটি রিলিজ দেখানো Firebase কনসোলের লিঙ্ক। আপনি এই লিঙ্কটি আপনার সংস্থার অন্যান্য ডেভেলপারদের সাথে শেয়ার করতে পারবেন।testing_uri- টেস্টার অভিজ্ঞতায় রিলিজের একটি লিঙ্ক (iOS ওয়েব ক্লিপ) যা টেস্টারদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপ ইনস্টল করতে দেয়। লিঙ্ক ব্যবহার করার জন্য পরীক্ষককে রিলিজ অ্যাক্সেস করতে হবে।binary_download_uri- একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ বাইনারি ডাউনলোড ও ইনস্টল করে (IPA ফাইল) . এক ঘণ্টা পরে লিঙ্কের মেয়াদ শেষ হয়ে যায়।
টেস্টার ও গ্রুপ ম্যানেজ করা
রিলিজ ডিস্ট্রিবিউট করার পাশাপাশি, আপনি
appdistribution:testers:addএবংappdistribution:testers:removeব্যবহার করে নতুন টেস্টারদের আমন্ত্রণ জানাতে বা আপনার Firebase প্রোজেক্ট থেকে বর্তমান টেস্টারদের সরাতে পারবেন।আপনার 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ব্যবহার করে টেস্টার নির্দিষ্ট করতে পারবেন।আপনার কাছে অনেক বেশি সংখ্যক টেস্টার থাকলে, আপনার গ্রুপ ব্যবহার করার কথা বিবেচনা করা উচিত: আপনি
appdistribution:group:createএবংappdistribution:group:deleteব্যবহার করে আপনার Firebase প্রোজেক্টে গ্রুপ তৈরি করতে বা মুছে ফেলতে পারবেন।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 কনসোলে মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি দেখানো হয়। টেস্টার সারিতে ড্রপ-ডাউন মেনু ব্যবহার করে আমন্ত্রণ আবার পাঠিয়ে সেটি রিনিউ করা যেতে পারে।
পরবর্তী ধাপ
ম্যানুয়ালি বা প্রোগ্রাম্যাটিক্যালি আরও ডিভাইস রেজিস্টার করতে, আরও iOS ডিভাইস রেজিস্টার করুন দেখুন।
CI/CD এবং fastlane ব্যবহার করে QA টেস্টারদের Apple অ্যাপ ডিস্ট্রিবিউট করার পেশাদার পদ্ধতি সম্পর্কে জানুন।