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


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

শুরু করার আগে

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

If you aren't using any other Firebase products, you only have to create a project and register your app. However, if you decide to use additional products in the future, be sure to complete all of the steps on the page linked above.

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

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

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

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

  1. Install or update to the latest version of the Firebase CLI (we recommend downloading the standalone binary for the CLI specific to your OS). Make sure to sign in and test that you can access your projects.
  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"

    অথবা, আপনি একটি সাধারণ টেক্সট ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন, যেখানে সেমিকোলন দ্বারা পৃথক করা টেস্ট ডিভাইসগুলোর একটি তালিকা থাকবে:

    --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

    If set when running App Testing agent tests, the command will start the tests and then return immediately instead of waiting for them to complete. To see the test results, visit the Firebase console. If this flag is not set, the command will block until the tests are complete, and exit with a failure code if any of the tests fail.

    উদাহরণস্বরূপ:

    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 - A link to the release in the tester experience (Android native app) that lets testers view release notes and install the app onto their device. The tester needs access to the release in order to use the link.
    • binary_download_uri - একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপের বাইনারি (APK বা AAB ফাইল) ডাউনলোড এবং ইনস্টল করে। লিঙ্কটি এক ঘণ্টা পর মেয়াদোত্তীর্ণ হয়ে যায়।

    পরীক্ষক এবং গ্রুপ পরিচালনা করুন

    In addition to distributing releases, you can also use appdistribution:testers:add and appdistribution:testers:remove to invite new testers or remove existing testers from your Firebase project.

    Once a tester has been added to your Firebase project, you can add them to individual releases. Once you remove a tester, they will no longer have access to releases in your project. Note that testers who are recently removed can still retain access to your releases for a window of time.

    উদাহরণস্বরূপ:

    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 ব্যবহার করেও পরীক্ষকদের নির্দিষ্ট করতে পারেন।

    If you have a large number of testers you should consider using groups: You can use appdistribution:group:create and appdistribution:group:delete to create or delete groups in your Firebase project.

    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

Once you distribute your build, it becomes available in the App Distribution dashboard of the Firebase console for 150 days (five months). When the build is 30 days from expiring, an expiration notice appears in both the console and your tester's list of builds on their test device.

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

Testers have 30 days to accept an invitation to test the app before it expires. When an invitation is 5 days from expiring, an expiration notice appears in the Firebase console next to the tester on a release. An invitation can be renewed by resending it using the drop-down menu on the tester row.

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