ফাস্টলেন ব্যবহার করে পরীক্ষকদের কাছে Android অ্যাপ বিতরণ করুন


এই দস্তাবেজটি কীভাবে আইওএস এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি বিল্ডিং এবং প্রকাশের স্বয়ংক্রিয় করে তোলে এবং ফাস্টলেন ব্যবহার করে পরীক্ষকদের কাছে এপিকে বিল্ডগুলি বিতরণ করতে পারে তা বর্ণনা করে। এই দস্তাবেজটি একটি Fastfile সংজ্ঞায়িত নির্দেশাবলী অনুসরণ করে। আপনি ফাস্টলেন এবং আপনার Fastfile সেট আপ করার পরে, আপনি আপনার ফাস্টলেন কনফিগারেশনের সাথে App Distribution সংহত করতে পারেন।

আপনি শুরু করার আগে

যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন

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

পদক্ষেপ 1. ফাস্টলেন সেট আপ করুন

  1. ফাস্টলেন ইনস্টল এবং সেট আপ করুন

  2. আপনার ফাস্টলেন কনফিগারেশনে App Distribution যুক্ত করতে, আপনার অ্যান্ড্রয়েড প্রকল্পের মূল থেকে নিম্নলিখিত কমান্ডটি চালান:

    fastlane add_plugin firebase_app_distribution

    যদি কমান্ডটি আপনাকে কোনও বিকল্পের সাথে অনুরোধ করে তবে Option 3: RubyGems.org .

ধাপ 2. ফায়ারবেস দিয়ে প্রমাণীকরণ করুন

আপনি ফাস্টলেন প্লাগইন ব্যবহার করার আগে, আপনাকে প্রথমে আপনার ফায়ারবেস প্রকল্পের সাথে নিম্নলিখিত একটি উপায়ে প্রমাণ করতে হবে। ডিফল্টরূপে, ফাস্টলেন প্লাগইন Firebase সিএলআই থেকে শংসাপত্রগুলি সন্ধান করে যদি অন্য কোনও প্রমাণীকরণ পদ্ধতি ব্যবহার না করা হয়।

পদক্ষেপ 3. আপনার ফাস্টফাইল সেট আপ করুন এবং আপনার অ্যাপ্লিকেশন বিতরণ করুন

  1. একটি ./fastlane/Fastfile লেনে, একটি firebase_app_distribution ব্লক যুক্ত করুন। বিতরণ কনফিগার করতে নিম্নলিখিত পরামিতিগুলি ব্যবহার করুন:
    ফায়ারবেস_এপ_ডিস্ট্রিবিউশন পরামিতি
    app

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

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    আপনি যখন Firebase সিএলআই দিয়ে আপনার সিআই পরিবেশকে প্রমাণীকরণ করেন তখন একটি রিফ্রেশ টোকেন মুদ্রিত হয় (আরও তথ্যের জন্য সিআই সিস্টেম সহ সিএলআই ব্যবহার করুন ) পড়ুন।

    service_credentials_file

    আপনার গুগল সার্ভিস অ্যাকাউন্ট জেএসএন ফাইলের পথ। পরিষেবা অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে কীভাবে প্রমাণীকরণ করবেন তার জন্য উপরে দেখুন।

    android_artifact_type

    অ্যান্ড্রয়েড ফাইলের ধরণ (এপিকে বা এএবি) নির্দিষ্ট করে।

    android_artifact_path

    apk_path (অবমূল্যায়িত) প্রতিস্থাপন করে। আপনি আপলোড করতে চান এপিকে বা এএবি ফাইলের নিখুঁত পথ। যদি অনির্ধারিত হয় তবে ফাস্টলেন ফাইলটির অবস্থানটি যে গলিতে উত্পন্ন হয়েছিল তা থেকে ফাইলটির অবস্থান নির্ধারণ করে।

    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

    অটোমেটেড টেস্টগুলি asynchronsicallyভাবে চালান। স্বয়ংক্রিয় পরীক্ষার ফলাফলের জন্য ফায়ারবেস কনসোলটি দেখুন।

    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 এপিআই ডকুমেন্টেশন দেখুন।

ফাস্টলেন প্লাগইন রিলিজ আপলোডের পরে নিম্নলিখিত লিঙ্কগুলি আউটপুট করে। এই লিঙ্কগুলি আপনাকে বাইনারিগুলি পরিচালনা করতে এবং পরীক্ষক এবং অন্যান্য বিকাশকারীদের সঠিক মুক্তি পেয়েছে তা নিশ্চিত করতে সহায়তা করে:

  • Firebase কনসোলের একটি লিঙ্ক একটি একক প্রকাশ প্রদর্শন করে। আপনি আপনার org এর অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন।
  • পরীক্ষক অভিজ্ঞতার (অ্যান্ড্রয়েড নেটিভ অ্যাপ্লিকেশন) রিলিজের একটি লিঙ্ক যা পরীক্ষকদের প্রকাশের নোটগুলি দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকটির রিলিজে অ্যাক্সেসের প্রয়োজন।
  • একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ্লিকেশন বাইনারি (এপিকে বা এএবি ফাইল) ডাউনলোড করে এবং ইনস্টল করে। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।

আপনি আপনার বিল্ড বিতরণ করার পরে, এটি 150 দিনের জন্য Firebase কনসোলের App Distribution ড্যাশবোর্ডে উপলব্ধ। যখন বিল্ডটি শেষ হওয়ার 30 দিন পরে হয়, তখন কনসোলে এবং পরীক্ষকের তাদের পরীক্ষার ডিভাইসে বিল্ডগুলির তালিকায় একটি মেয়াদোত্তীর্ণ নোটিশ উপস্থিত হয়।

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

(Al চ্ছিক) প্রতিবার অ্যাপ বিতরণে নতুন রিলিজ তৈরি করার সময় আপনার বিল্ড নম্বরটি স্বয়ংক্রিয়ভাবে বাড়ানোর জন্য, আপনি firebase_app_distribution_get_latest_release অ্যাকশন ব্যবহার করতে পারেন এবং উদাহরণস্বরূপ, increment_version_code ফাস্টলেন প্লাগইন । নিম্নলিখিত কোডটি কীভাবে আপনার বিল্ড নম্বরটি স্বয়ংক্রিয়ভাবে বাড়ানো যায় তার একটি উদাহরণ সরবরাহ করে:

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"

আপনি --file="/path/to/testers.txt -এর পরিবর্তে --emails পরিবর্তে পরীক্ষকগণকে নির্দিষ্ট করতে পারেন।

firebase_app_distribution_add_testers টেস্টার এবং firebase_app_distribution_remove_testers কাজগুলিও নিম্নলিখিত যুক্তিগুলি গ্রহণ করে:

  • project_name : আপনার ফায়ারবেস প্রকল্প নম্বর।
  • group_alias (al চ্ছিক): নির্দিষ্ট করা হলে, পরীক্ষকগণ নির্দিষ্ট গ্রুপে যুক্ত (বা সরানো) যুক্ত করা হয়।
  • service_credentials_file : আপনার গুগল পরিষেবা শংসাপত্র ফাইলের পথ।
  • firebase_cli_token : Firebase সিএলআইয়ের জন্য আথ টোকেন।

service_credentials_file এবং firebase_cli_token আপলোড ক্রিয়া দ্বারা ব্যবহৃত একই যুক্তি।

পদক্ষেপ 5 (al চ্ছিক)। আপনার অ্যাপ্লিকেশনটির সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান

অ্যাপ সংস্করণ তথ্য, রিলিজ নোট এবং সৃষ্টির সময় সহ অ্যাপ্লিকেশন বিতরণে আপনার অ্যাপ্লিকেশনটির সর্বশেষ প্রকাশ সম্পর্কে তথ্য আনতে আপনি firebase_app_distribution_get_latest_release অ্যাকশনটি ব্যবহার করতে পারেন। ব্যবহারের ক্ষেত্রেগুলি স্বয়ংক্রিয়ভাবে সংস্করণটি বাড়ানো এবং পূর্ববর্তী রিলিজ থেকে রিলিজ নোটগুলি বহন করা অন্তর্ভুক্ত।

ক্রিয়াটির রিটার্ন মান হ'ল সর্বশেষ প্রকাশের প্রতিনিধিত্বকারী একটি হ্যাশ। এই হ্যাশটি lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] ব্যবহার করেও উপলব্ধ। এই হ্যাশে উপলভ্য ক্ষেত্রগুলি সম্পর্কে আরও তথ্যের জন্য, REST এপিআই ডকুমেন্টেশন দেখুন।

পরামিতি

ফায়ারবেস_এপ_ডিস্ট্রিবিউশন_গেট_লেটেস্ট_রেলিজ প্যারামিটারগুলি
app

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

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

আপনি যখন Firebase সিএলআই দিয়ে আপনার সিআই পরিবেশকে প্রমাণীকরণ করেন তখন একটি রিফ্রেশ টোকেন মুদ্রিত হয় (আরও তথ্যের জন্য সিআই সিস্টেম সহ সিএলআই ব্যবহার করুন ) পড়ুন।

service_credentials_file

আপনার গুগল সার্ভিস অ্যাকাউন্ট জেএসএন ফাইলের পথ। পরিষেবা অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে কীভাবে প্রমাণীকরণ করবেন তার জন্য উপরে দেখুন।

debug

একটি বুলিয়ান পতাকা। ভার্বোজ ডিবাগ আউটপুট মুদ্রণ করতে আপনি এটিকে true সেট করতে পারেন।

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