এই দস্তাবেজটি বর্ণনা করে কিভাবে ফাস্টলেন ব্যবহার করে পরীক্ষকদের কাছে APK বিল্ডগুলি বিতরণ করা যায়, একটি ওপেন সোর্স প্ল্যাটফর্ম যা iOS এ��ং Android অ্যাপগুলিকে স্বয়ংক্রিয়ভাবে তৈরি এবং প্রকাশ করে৷ এই নথিটি একটি Fastfile
সংজ্ঞায়িত নির্দেশাবলী অনুসরণ করে। আপনি ফাস্টলেন এবং আপনার Fastfile
সেট আপ করার পরে, আপনি আপনার ফাস্টলেন কনফিগারেশনের সাথে App Distribution একীভূত করতে পারেন।
আপনি শুরু করার আগে
যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন ।
আপনি যদি অন্য কোনো ফায়ারবেস পণ্য ব্যবহার না করেন, তাহলে আপনাকে শুধুমাত্র একটি প্রকল্প তৈরি করতে হবে এবং আপনার অ্যাপ নিবন্ধন করতে হবে। যাইহোক, আপনি যদি ভবিষ্যতে অতিরিক্ত পণ্য ব্যবহার করার সিদ্ধান্ত নেন, তাহলে উপরে লিঙ্ক করা পৃষ্ঠার সমস্ত ধাপ সম্পূর্ণ করতে ভুলবেন না।
ধাপ 1. ফাস্টলেন সেট আপ করুন
আপনার ফাস্টলেন কনফিগারেশনে App Distribution যোগ করতে, আপনার অ্যান্ড্রয়েড প্রকল্পের রুট থেকে নিম্নলিখিত কমান্ডটি চালান:
fastlane add_plugin firebase_app_distribution
যদি কমান্ড আপনাকে একটি বিকল্পের জন্য অনুরোধ করে,
Option 3: RubyGems.org
।
ধাপ 2. ফায়ারবেস দিয়ে প্রমাণীকরণ করুন
আপনি ফাস্টলেন প্লাগইন ব্যবহার করার আগে, আপনাকে প্রথমে নিম্নলিখিত উপায়ে আপনার ফায়ারবেস ��্রকল্পের সাথে প্রমাণীকরণ করতে হবে। ডিফল্টরূপে, ফাস্টলেন প্লাগইন Firebase CLI থেকে শংসাপত্রের সন্ধান করে যদি অন্য কোনো প্রমাণীকরণ পদ্ধতি ব্যবহার না করা হয়।
ধাপ 3. আপনার ফাস্টফাইল সেট আপ করুন এবং আপনার অ্যাপ বিতরণ করুন
- একটি
./fastlane/Fastfile
লেনে, একটিfirebase_app_distribution
ব্লক যোগ করুন। বিতরণ কনফিগার করতে নিম্নলিখিত পরামিতি ব্যবহার করুন:firebase_app_distribution প্যারামিটার app
প্রয়োজনীয় : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
একটি রিফ্রেশ টোকেন যা প্রিন্ট করা হয় যখন আপনি Firebase CLI এর সাথে আপনার CI পরিবেশকে প্রমাণীকরণ করেন (আরও তথ্যের জন্য CI সিস্টেমের সাথে CLI ব্যবহার করুন )।
service_credentials_file
আপনার Google পরিষেবা অ্যাকাউন্ট json ফাইলের পথ। পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি ব্যবহার করে কীভাবে প্রমাণীকরণ করা যায় তার জন্য উপরে দেখুন।
android_artifact_type
অ্যান্ড্রয়েড ফাইলের ধরন (এপিকে বা এএবি) নির্দিষ্ট করে।
android_artifact_path
apk_path
প্রতিস্থাপন করে (অপ্রচলিত)। আপনি যে APK বা AAB ফাইলটি আপলোড করতে চান তার সম্পূর্ণ পথ। অনির্দিষ্ট থাকলে, ফাস্টলে�� ফাইলের অবস্থান নির্ধারণ করে যে লেন থেকে ফাইলটি তৈরি করা হয়েছিল।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"
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 কনসোলে যান।
debug
একটি বুলিয়ান পতাকা। ভার্বোস ডিবাগ আ���টপুট প্রিন্ট করতে আপনি এটি
true
সেট করতে পারেন।
platform :android do desc "My awesome app" lane :distribute do build_android_app(...) # build_android_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:android:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
বিল্ডটি পরীক্ষকদের কাছে উপলব্ধ করতে, আপনার লেনটি চালান:
fastlane <lane>
কর্মের রিটার্ন মান হল একটি হ্যাশ যা আপলোড করা রিলিজের প্রতিনিধিত্ব করে। এই হ্যাশটি lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
ব্যবহার করেও উপলব্ধ। এই হ্যাশে উপলব্ধ ক্ষেত্রগুলি সম্পর্কে আরও তথ্যের জন্য, REST API ডকুমেন্টেশন দেখুন।
ফাস্টলেন প্লাগইন রিলিজ আপলোডের পরে নিম্নলিখিত লিঙ্কগুলিকে আউটপুট করে৷ এই লিঙ্কগুলি আপনাকে বাইনারিগুলি পরিচালনা করতে এবং পরীক্ষক এবং অন্যান্য বিকাশকারীদের সঠিক রিলিজ রয়েছে তা নিশ্চিত করতে সহায়তা করে:
- Firebase কনসোলের একটি লিঙ্ক যা একটি একক রিলিজ প্রদর্শন করছে। আপনি আপনার প্রতিষ্ঠানের অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন৷
- পরীক্ষক অভিজ্ঞতা (Android নেটিভ অ্যাপ) এ রিলিজের একটি লিঙ্ক যা পরীক্ষকদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকের রিলিজে অ্যাক্সেস প্রয়োজন।
- একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ ব���ইনারি (APK বা AAB ফাইল) ডাউনলোড এবং ইনস্টল করে। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।
আপনি আপনার বিল্ড বিতরণ করার পরে, এটি 150 দিনের জন্য Firebase কনসোলের App Distribution ড্যাশবোর্ডে উপলব্ধ। বিল্ডের মেয়াদ শেষ হওয়ার 30 দিন হলে, কনসোলে এবং পরীক্ষকের তাদের টেস্ট ডিভাইসে বিল্ডের তালিকায় একটি মেয়াদ শেষ হওয়ার বিজ্ঞপ্তি প্রদর্শিত হয়।
যে পরীক্ষকদের আগে অ্যাপটি পরীক্ষা করার জন্য আমন্ত্রণ জানানো হয়নি তারা শুরু করার জন্য ইমেল আমন্ত্রণ পান। বিদ্যমান পরীক্ষকরা ইমেল বিজ্ঞপ্তি পান যে একটি নতুন বিল্ড পরীক্ষা করার জন্য প্রস্তুত। পরীক্ষা অ্যাপটি কীভাবে ইনস্টল করবেন তা জানতে, পরীক্ষক সেট আপ গাইড দেখুন। তারা আমন্ত্রণ গ্রহণ করেছে কিনা এবং Firebase কনসোলে তারা অ্যাপটি ডাউনলোড করেছে কিনা তা নির্ধারণ করতে আপনি প্রতিটি পরীক্ষকের স্থিতি পর্যবেক্ষণ করতে পারেন।
(ঐচ্ছিক) প্রতিবার আপনি অ্যাপ ডিস্ট্রিবিউশনে একটি নতুন রিলিজ তৈরি করার সময় আপনার বিল্ড নম্বর স্বয়ংক্রিয়ভাবে বৃদ্ধি করতে, আপনি firebase_app_distribution_get_latest_release
অ্যাকশন এবং উদাহরণস্বরূপ, increment_version_code
fastlane প্লাগইন ব্যবহার করতে পারেন। নিম্নলিখিত কোডটি কীভাবে আপনার বিল্ড নম্বর স্বয়ংক্রিয়ভাবে বৃদ্ধি করতে হয় তার একটি উদাহরণ প্রদান করে:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end
firebase_app_distribution_get_latest_release
অ্যাকশন সম্পর্কে আরও জানতে, আপনার অ্যাপের সর্বশেষ রিলিজ সম্পর্কে ত��্য পান দেখুন।
ধাপ 4 (ঐচ্ছিক)। বিতরণের জন্য পরীক্ষকদের ব্যবস্থাপনা
আপনি আপনার Fastfile
ফাইল ব্যবহার করে বা সরাসরি ফাস্টলেন অ্যাকশন চালিয়ে আপনার প্রকল্প বা গোষ্ঠী থেকে পরীক্ষকদের যোগ করতে এবং সরাতে পারেন। রানিং অ্যাকশন সরাসরি আপনার Fastfile
সেট করা মানগুলিকে ওভাররাইড করে।
একবার আপনার ফায়ারবেস প্রোজেক্টে একজন পরীক্ষক যোগ করা হলে, আপনি সেগুলিকে পৃথক রিলিজে যোগ করতে পারেন। আপনার ফায়ারবেস প্রোজেক্ট থেকে সরানো হয়েছে এমন পরীক্ষকদের আর আপনার প্রোজেক্টের রিলিজগুলিতে অ্যাক্সেস নেই, তবে তারা কিছু সময়ের জন্য আপনার রিলিজের অ্যাক্সেস ধরে রাখতে পারে।
আপনার যদি প্রচুর সংখ্যক পরীক্ষক থাকে তবে আপনার গ্রুপ ব্যবহার করার কথা বিবেচনা করা উচিত।
Fastfile
ব্যবহার করুন
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers
ফাস্টলেন অ্যাকশন চালান
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
আপনি --emails
এর পরিবর্তে --file="/path/to/testers.txt
ব্যবহার করে পরীক্ষকদেরও নির্দিষ্ট করতে পারেন।
firebase_app_distribution_add_testers
এবং firebase_app_distribution_remove_testers
কার্যগুলিও নি��্নলিখিত আর্গুমেন্টগুলি গ্রহণ করে:
-
project_name
: আপনার ফায়ারবেস প্রকল্প নম্বর। -
group_alias
(ঐচ্ছিক): নির্দিষ্ট করা থাকলে, পরীক্ষকদের নির্দিষ্ট গ্রুপে যোগ করা হয় (বা থেকে সরানো হয়)। -
service_credentials_file
: আপনার Google পরিষেবা শংসাপত্র ফাইলের পথ। -
firebase_cli_token
: Firebase CLI-এর জন্য প্রমাণীকরণ টোকেন।
service_credentials_file
এবং firebase_cli_token
হল একই আর্গুমেন্ট যা আপলোড ক্রিয়া দ্বারা ব্যবহৃত হয়।
ধাপ 5 (ঐচ্ছিক)। আপনার অ্যাপের সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান
আপনি firebase_app_distribution_get_latest_release
অ্যাকশন ব্যবহার করতে পারেন অ্যাপ ডিস্ট্রিবিউশনে আপনার অ্যাপের সাম্প্রতিক রিলিজ সম্পর্কে তথ্য আনতে, অ্যাপ সংস্করণের তথ্য, রিলিজ নোট এবং তৈরির সময় সহ। ব্যবহারের ক্ষেত্রে স্বয়ংক্রিয়ভাবে সংস্করণ বৃদ্ধি করা এবং পূর্ববর্তী রিলিজ থেকে রিলিজ নোটগুলি বহন করা অন্তর্ভুক্ত।
কর্মের রিটার্ন মান হল একটি হ্যাশ যা সর্বশেষ রিলিজের প্রতিনিধিত্ব করে। এই হ্যাশটি lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
ব্যবহার করেও উপলব্ধ। এই হ্যাশে উপলব্ধ ক্ষেত্রগুলি সম্পর্কে আরও তথ্যের জন্য, REST API ডকুমেন্টেশন দেখুন।
পরামিতি
firebase_app_distribution_get_latest_release প্যারামিটার | |
---|---|
app | প্রয়োজনীয় : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন। app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token | একটি রিফ্রেশ টোকেন যা প্রিন্ট করা হয় যখন আপনি Firebase CLI এর সাথে আপনার CI পরিবেশকে প্রমাণীকরণ করেন (আরও তথ্যের জন্য CI সিস্টেমের সাথে CLI ব্যবহার করুন )। |
service_credentials_file | আপনার Google পরিষেবা অ্যাকাউন্ট json ফাইলের পথ। পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি ব্যবহার করে কীভাবে প্রমাণীকরণ করা যায় তার জন্য উপরে দেখুন। |
debug | একটি বুলিয়ান পতাকা। ভার্বোস ডিবাগ আউটপুট প্রিন্ট করতে আপনি এটি |
পরবর্তী পদক্ষেপ
পরীক্ষকদের জন্য আপনার অ্যাপ সম্পর্কে প্রতিক্রি��়া পাঠানো সহজ করতে ��্যাপ-মধ্যস্থ প্রতিক্রিয়া প্রয়োগ করুন (স্ক্রিনশট সহ)।
আপনার অ্যাপের নতুন বিল্ড ইনস্টল করার জন্য উপলব্ধ হলে আপনার পরীক্ষকদের কাছে কীভাবে অ্যাপ-মধ্যস্থ সতর্কতা প্রদর্শন করবেন তা শিখুন।
CI/CD ব্যবহার করে QA পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ বিতরণের সর্বোত্তম অনুশীলন শিখুন।