এই দস্তাবেজটি বর্ণনা করে কিভাবে ফাস্টলেন ব্যবহার করে পরীক্ষকদের কাছে 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 থেকে শংসাপত্রের সন্ধান করে যদি অন্য কোনো প্রমাণীকরণ পদ্ধতি ব্যবহার না করা হয়।
একটি পরিষেবা অ্যাকাউন্টের সাথে প্রমাণীকরণ আপনাকে আপনার ক্রমাগত ইন্টিগ্রেশন (CI) সিস্টেমের সাথে প্লাগইনটি নমনীয়ভাবে ব্যবহার করতে দেয়। পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ করার দুটি উপায় রয়েছে:
- আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি
firebase_app_distribution
অ্যাকশনে পাস করুন। আপনার বিল্ড এনভায়রনমেন্টে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটিকে সুবিধাজনক মনে করতে পারেন। - আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে পরিবেশ পরিবর্তনশীল
GOOGLE_APPLICATION_CREDENTIALS
সেট করুন৷ অন্য Google পরিষেবার (যেমন, Google Cloud ) জন্য আপনার যদি ইতিমধ্যেই অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) কনফিগার করা থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
- Google Cloud কনসোলে, আপনার প্রকল্প নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন৷
- Firebase App Distribution অ্যাডমিন ভূমিকা যোগ করুন।
- একটি ব্যক্তিগত json কী তৈরি করুন এবং আপনার বিল্ড এনভায়রনমেন্টে অ্যাক্সেসযোগ্য অবস্থানে কীটি সরান। এই ফাইলটিকে কোথাও নিরাপদ রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রোজেক্টে App Distribution অ্যাডমিনিস্ট্রেটরকে অ্যাক্সেস দেয়।
- আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপ তৈরি করেন তবে এই ধাপটি এড়িয়ে যান: Google APIs কনসোলে, Firebase App Distribution API সক্ষম করুন। অনুরোধ করা হলে, আপনার ফায়ারবেস প্রকল্পের মতো একই নামের প্রকল্পটি নির্বাচন করুন।
আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ করুন বা সনাক্ত করুন:
- আপনার পরিষেবা অ্যাকাউন্ট কী আপনার লেনের
firebase_app_distribution
অ্যাকশনে পাস করতে, আপনার ব্যক্তিগত কী JSON ফাইলের পাথ সহservice_credentials_file
প্যারামিটার সেট করুন ADC-এর সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, ব্যক্তিগত কী JSON ফাইলের জন্য পরিবেশ পরিবর্তনশীল
GOOGLE_APPLICATION_CREDENTIALS
পাথে সেট করুন৷ যেমন:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
ADC এর সাথে প্রমাণীকরণের বিষয়ে আরও তথ্যের জন্য, আপনার আবেদনে প্রমাণপত্র সরবরাহ করা পড়ুন।
- আপনার পরিষেবা অ্যাকাউন্ট কী আপনার লেনের
কিভাবে আপনার প্রকল্পকে প্রমাণীকরণ করতে হয় তার নির্দেশাবলীর জন্য 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 পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ বিতরণের সর্বোত্তম অনুশীলন শিখুন।