Firebase CLI ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ বিতরণ করুন


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

শুরু করার আগে

যদি আগে থেকে না করে থাকেন, তাহলে আপনার অ্যান্ড্রয়েড প্রজেক্টে ফায়ারবেস যোগ করুন

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

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

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

ধাপ ২. আপনার অ্যাপটি পরীক্ষকদের মধ্যে বিতরণ করুন।

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

  1. Firebase CLI- এর সর্বশেষ সংস্করণটি ইনস্টল বা আপডেট করুন (আমরা আপনার OS-এর জন্য নির্দিষ্ট CLI-এর স্বতন্ত্র বাইনারিটি ডাউনলোড করার পরামর্শ দিই)। সাইন ইন করে নিশ্চিত হন যে আপনি আপনার প্রোজেক্টগুলো অ্যাক্সেস করতে পারছেন।
  2. আপনার অ্যাপ আপলোড করতে এবং পরীক্ষকদের কাছে বিতরণ করতে 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.apk  \
        --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.com
    
    firebase 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-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 কনসোলে পরীক্ষকের পাশে একটি মেয়াদ শেষের বিজ্ঞপ্তি দেখা যায়। পরীক্ষকের সারিতে থাকা ড্রপ-ডাউন মেনু ব্যবহার করে আমন্ত্রণটি পুনরায় পাঠিয়ে নবায়ন করা যেতে পারে।

পরবর্তী পদক্ষেপ