Firebase CLI ব্যবহার করে টেস্টারদের কাছে Android অ্যাপ ডিস্ট্রিবিউট করা


Firebase CLI ব্যবহার করে কীভাবে পরীক্ষকদের APK ডিস্ট্রিবিউট করতে হয় তা এই নির্দেশিকায় বর্ণনা করা হয়েছে। CLI টুলের সাহায্যে আপনি কোনও বিল্ডের জন্য পরীক্ষক এবং রিলিজ নোট নির্দিষ্ট করতে পারেন, তারপর সেই অনুযায়ী বিল্ডটি ডিস্ট্রিবিউট করতে পারেন।

শুরু করার আগে

  1. এখনও যোগ না করে থাকলে, আপনার Android প্রোজেক্টে Firebase যোগ করুন।

    আপনি অন্য কোনও Firebase প্রোডাক্ট ব্যবহার না করলে, আপনাকে শুধু একটি প্রোজেক্ট তৈরি করে আপনার অ্যাপ রেজিস্টার করতে হবে। তবে, ভবিষ্যতে আপনি অতিরিক্ত প্রোডাক্ট ব্যবহার করার সিদ্ধান্ত নিলে, উপরে লিঙ্ক করা পৃষ্ঠার সব ধাপ সম্পূর্ণ করতে ভুলবেন না।

  2. Firebase কনসোলের App Distribution পৃষ্ঠা খুলুন। প্রম্পট করা হলে আপনার Firebase প্রোজেক্ট বেছে নিন, অ্যাপ সুইচার ব্যবহার করে আপনার অ্যাপ বেছে নিন এবং শুরু করুন বিকল্পে ক্লিক করুন।

ধাপ ১. আপনার অ্যাপ তৈরি করুন

আপনি যখন আপনার অ্যাপের প্রি-রিলিজ ভার্সন টেস্টারদের কাছে ডিস্ট্রিবিউট করার জন্য প্রস্তুত হন, তখন আপনার স্বাভাবিক প্রক্রিয়া ব্যবহার করে আপনার APK তৈরি করুন। আপনার ডিবাগ কী বা অ্যাপ সাইনিং কী দিয়ে APK সাইন করতে হবে।

ধাপ ২. টেস্টারদের মধ্যে আপনার অ্যাপ ডিস্ট্রিবিউট করুন

পরীক্ষকদের কাছে আপনার অ্যাপ ডিস্ট্রিবিউট করতে, Firebase CLI ব্যবহার করে আপনার অ্যাপের ফাইল আপলোড করুন:

  1. Firebase CLI-এর লেটেস্ট ভার্সন ইনস্টল বা আপডেট করুন (আপনার OS-এর জন্য নির্দিষ্ট CLI-এর জন্য স্ট্যান্ডঅ্যালোন বাইনারি ডাউনলোড করার সাজেশন আমরা দিই)। সাইন-ইন করে আপনার প্রোজেক্ট অ্যাক্সেস করতে পারছেন কিনা তা পরীক্ষা করে দেখুন।
  2. আপনার অ্যাপ আপলোড করতে এবং পরীক্ষকদের মধ্যে এটি বিতরণ করতে appdistribution:distribute কমান্ড রান করুন। ডিস্ট্রিবিউশন কনফিগার করতে নিম্নলিখিত প্যারামিটার ব্যবহার করুন:

    appdistribution:distribute options
    --app

    প্রয়োজনীয়: আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনি Firebase কনসোলের সাধারণ সেটিংস পৃষ্ঠা থেকে অ্যাপ আইডি খুঁজে পাবেন।

    --app 1:1234567890:android: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.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 ফাইল) . এক ঘণ্টা পরে লিঙ্কের মেয়াদ শেষ হয়ে যায়।

    টেস্টার ও গ্রুপ ম্যানেজ করা

    রিলিজ ডিস্ট্রিবিউট করার পাশাপাশি, আপনি appdistribution:testers:add এবং appdistribution:testers:remove ব্যবহার করে নতুন টেস্টারদের আমন্ত্রণ জানাতে বা আপনার Firebase প্রোজেক্ট থেকে বর্তমান টেস্টারদের সরাতে পারবেন।

    আপনার Firebase প্রোজেক্টে কোনও টেস্টারকে যোগ করা হয়ে গেলে, আপনি তাকে আলাদা আলাদা রিলিজে যোগ করতে পারবেন। আপনি কোনও টেস্টারকে সরিয়ে দিলে, তিনি আর আপনার প্রোজেক্টের রিলিজ অ্যাক্সেস করতে পারবেন না। মনে রাখবেন, সম্প্রতি সরিয়ে দেওয়া হয়েছে এমন টেস্টাররা এখনও কিছু সময়ের জন্য আপনার রিলিজ অ্যাক্সেস করতে পারবেন।

    যেমন:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase 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-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

আপনার বিল্ড ডিস্ট্রিবিউট করার পরে, এটি Firebase কনসোলের App Distribution ড্যাশবোর্ডে ১৫০ দিন (পাঁচ মাস) পর্যন্ত উপলভ্য থাকে। বিল্ডের মেয়াদ শেষ হতে ৩০ দিন বাকি থাকলে, কনসোল এবং টেস্টারের ডিভাইসে বিল্ডের তালিকায় মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি দেখানো হয়।

যেসব টেস্টারকে অ্যাপ টেস্ট করার জন্য আমন্ত্রণ জানানো হয়নি, তাদের শুরু করার জন্য ইমেল আমন্ত্রণ পাঠানো হয় এবং বর্তমান টেস্টারদের ইমেল বিজ্ঞপ্তি পাঠানো হয় যে টেস্ট করার জন্য নতুন বিল্ড রেডি আছে (টেস্ট অ্যাপ কীভাবে ইনস্টল করতে হবে সেই সংক্রান্ত নির্দেশাবলীর জন্য টেস্টার সেট-আপ করার নির্দেশিকা পড়ুন)। আপনি Firebase কনসোলে প্রতিটি পরীক্ষকের স্ট্যাটাস মনিটর করতে পারবেন-তারা আমন্ত্রণ গ্রহণ করেছেন কিনা এবং তারা অ্যাপটি ডাউনলোড করেছেন কিনা।

অ্যাপ পরীক্ষা করার জন্য আমন্ত্রণ গ্রহণ করতে পরীক্ষকদের কাছে ৩০ দিন সময় থাকে, তারপরে এটির মেয়াদ শেষ হয়ে যায়। আমন্ত্রণের মেয়াদ শেষ হতে ৫ দিন বাকি থাকলে, রিলিজের সময় পরীক্ষকের পাশে Firebase কনসোলে মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি দেখানো হয়। টেস্টার সারিতে ড্রপ-ডাউন মেনু ব্যবহার করে আমন্ত্রণ আবার পাঠিয়ে সেটি রিনিউ করা যেতে পারে।

পরবর্তী ধাপ