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

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

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

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

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

    fastlane add_plugin firebase_app_distribution

    যদি কমান্ড আপনাকে একটি বিকল্পের জন্য অনুরোধ করে, Option 3: RubyGems.org

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

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

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

  • আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি firebase_app_distribution অ্যাকশনে পাস করুন। আপনার বিল্ড এনভায়রনমেন্টে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটিকে সুবিধাজনক মনে করতে পারেন।
  • আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS সেট করুন৷ অন্য Google পরিষেবার (যেমন, Google Cloud ) জন্য আপনার যদি ইতিমধ্যেই অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) কনফিগার করা থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
  1. Google Cloud কনসোলে, আপনার প্রকল্প নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন৷
  2. Firebase App Distribution অ্যাডমিন ভূমিকা যোগ করুন।
  3. একটি ব্যক্তিগত json কী তৈরি করুন এবং আপনার বিল্ড এনভায়রনমেন্টে অ্যাক্সেসযোগ্য অবস্থানে কীটি সরান। এই ফাইলটিকে কোথাও নিরাপদ রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রোজেক্টে App Distribution অ্যাডমিনিস্ট্রেটরকে অ্যাক্সেস দেয়।
  4. আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপ তৈরি করেন তবে এই ধাপটি এড়িয়ে যান: Google APIs কনসোলে, Firebase App Distribution API সক্ষম করুন। অনুরোধ করা হলে, আপনার ফায়ারবেস প্রকল্পের মতো একই নামের প্রকল্পটি নির্বাচন করুন।
  5. আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ করুন বা সনাক্ত করুন:

    1. আপনার পরিষেবা অ্যাকাউন্ট কী আপনার লেনের firebase_app_distribution অ্যাকশনে পাস করতে, আপনার ব্যক্তিগত কী JSON ফাইলের পাথ সহ service_credentials_file প্যারামিটার সেট করুন
    2. ADC-এর সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, ব্যক্তিগত কী JSON ফাইলের জন্য পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS পাথে সেট করুন৷ যেমন:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      ADC এর সাথে প্রমাণীকরণের বিষয়ে আরও তথ্যের জন্য, আপনার আবেদনে প্রমাণপত্র সরবরাহ করা পড়ুন।

কিভাবে আপনার প্রকল্পকে প্রমাণীকরণ করতে হয় তার নির্দেশাবলীর জন্য Firebase CLI দিয়ে লগ ইন করুন দেখুন।

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

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

    শুধুমাত্র যদি আপনার অ্যাপে ফায়ারবেস কনফিগারেশন ফাইল না থাকে ( GoogleService-Info.plist ) : আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    আপনার GoogleService-Info.plist ফাইলের পাথ, আর্কাইভ করা প্রোডাক্ট পাথের সাপেক্ষে। ডিফল্টরূপে GoogleService-Info.plist এ সেট করুন।

    app প্যারামিটারটি নির্দিষ্ট না থাকলে ফাইলটি আপনার অ্যাপের Firebase অ্যাপ আইডি পেতে ব্যবহার করা হয়।

    firebase_cli_token

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

    service_credentials_file

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

    ipa_path

    apk_path প্রতিস্থাপন করে (অপ্রচলিত)। আপনি যে IPA ফাইলটি আপলোড করতে চান তার সম্পূর্ণ পথ। অনির্দিষ্ট থাকলে, ফাস্টলেন ফাইলের অবস্থান নির্ধারণ করে যে লেন থেকে ফাইলটি তৈরি করা হয়েছিল।

    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 :ios do
    desc "My awesome app"
    lane :distribute do
        build_ios_app(...)
        # build_ios_app is a built-in fastlane action.

        release = firebase_app_distribution(
            app: "1:123456789:ios: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 কনসোলের একটি লিঙ্ক যা একটি একক রিলিজ প্রদর্শন করছে। আপনি আপনার প্রতিষ্ঠানের অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন৷
  • পরীক্ষকদের অভিজ্ঞতায় (iOS ওয়েব ক্লিপ) রিলিজের একটি লিঙ্ক যা পরীক্ষকদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকের রিলিজে অ্যাক্সেস প্রয়োজন।
  • একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ বাইনারি (IPA ফাইল) ডাউনলোড এবং ইনস্টল করে। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।

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

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

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

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end

এই ফাস্টলেন প্লাগইন বৈশিষ্ট্য সম্পর্কে আরও জানতে, আপনার অ্যাপের সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান দেখুন।

ধাপ 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

শুধুমাত্র যদি আপনার অ্যাপে ফায়ারবেস কনফিগারেশন ফাইল না থাকে ( GoogleService-Info.plist ) : আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।

app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path

আপনার GoogleService-Info.plist ফাইলের পাথ, আর্কাইভ করা প্রোডাক্ট পাথের সাপেক্ষে। ডিফল্টরূপে GoogleService-Info.plist এ সেট করুন।

app প্যারামিটারটি নির্দিষ্ট না থাকলে ফাইলটি আপনার অ্যাপের Firebase অ্যাপ আইডি পেতে ব্যবহার করা হয়।

firebase_cli_token

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

service_credentials_file

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

service_credentials_json_data

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

debug

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

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

,

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

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

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

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

    fastlane add_plugin firebase_app_distribution

    যদি কমান্ড আপনাকে একটি বিকল্পের জন্য অনুরোধ করে, Option 3: RubyGems.org

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

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

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

  • আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি firebase_app_distribution অ্যাকশনে পাস করুন। আপনার বিল্ড এনভায়রনমেন্টে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটিকে সুবিধাজনক মনে করতে পারেন।
  • আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS সেট করুন৷ অন্য Google পরিষেবার (যেমন, Google Cloud ) জন্য আপনার যদি ইতিমধ্যেই অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) কনফিগার করা থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
  1. Google Cloud কনসোলে, আপনার প্রকল্প নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন৷
  2. Firebase App Distribution অ্যাডমিন ভূমিকা যোগ করুন।
  3. একটি ব্যক্তিগত json কী তৈরি করুন এবং আপনার বিল্ড এনভায়রনমেন্টে অ্যাক্সেসযোগ্য অবস্থানে কীটি সরান। এই ফাইলটিকে কোথাও নিরাপদ রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রোজেক্টে App Distribution অ্যাডমিনিস্ট্রেটরকে অ্যাক্সেস দেয়।
  4. আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপ তৈরি করেন তবে এই ধাপটি এড়িয়ে যান: Google APIs কনসোলে, Firebase App Distribution API সক্ষম করুন। অনুরোধ করা হলে, আপনার ফায়ারবেস প্রকল্পের মতো একই নামের প্রকল্পটি নির্বাচন করুন।
  5. আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ করুন বা সনাক্ত করুন:

    1. আপনার পরিষেবা অ্যাকাউন্ট কী আপনার লেনের firebase_app_distribution অ্যাকশনে পাস করতে, আপনার ব্যক্তিগত কী JSON ফাইলের পাথ সহ service_credentials_file প্যারামিটার সেট করুন
    2. ADC-এর সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, ব্যক্তিগত কী JSON ফাইলের জন্য পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS পাথে সেট করুন৷ যেমন:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      ADC এর সাথে প্রমাণীকরণের বিষয়ে আরও তথ্যের জন্য, আপনার আবেদনে প্রমাণপত্র সরবরাহ করা পড়ুন।

কিভাবে আপনার প্রকল্পকে প্রমাণীকরণ করতে হয় তার নির্দেশাবলীর জন্য Firebase CLI দিয়ে লগ ইন করুন দেখুন।

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

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

    শুধুমাত্র যদি আপনার অ্যাপে ফায়ারবেস কনফিগারেশন ফাইল না থাকে ( GoogleService-Info.plist ) : আপনার অ্যাপের Firebase অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    আপনার GoogleService-Info.plist ফাইলের পাথ, আর্কাইভ করা প্রোডাক্ট পাথের সাপেক্ষে। ডিফল্টরূপে GoogleService-Info.plist এ সেট করুন।

    app প্যারামিটারটি নির্দিষ্ট না থাকলে ফাইলটি আপনার অ্যাপের Firebase অ্যাপ আইডি পেতে ব্যবহার করা হয়।

    firebase_cli_token

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

    service_credentials_file

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

    ipa_path

    apk_path প্রতিস্থাপন করে (অপ্রচলিত)। আপনি যে IPA ফাইলটি আপলোড করতে চান তার সম্পূর্ণ পথ। অনির্দিষ্ট থাকলে, ফাস্টলেন ফাইলের অবস্থান নির্ধারণ করে যে লেন থেকে ফাইলটি তৈরি করা হয়েছিল।

    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 :ios do
    desc "My awesome app"
    lane :distribute do
        build_ios_app(...)
        # build_ios_app is a built-in fastlane action.

        release = firebase_app_distribution(
            app: "1:123456789:ios: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 কনসোলের একটি লিঙ্ক যা একটি একক রিলিজ প্রদর্শন করছে। আপনি আপনার প্রতিষ্ঠানের অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন৷
  • পরীক্ষকদের অভিজ্ঞতায় (iOS ওয়েব ক্লিপ) রিলিজের একটি লিঙ্ক যা পরীক্ষকদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকের রিলিজে অ্যাক্সেস প্রয়োজন।
  • একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ বাইনারি (IPA ফাইল) ডাউনলোড এবং ইনস্টল করে। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।

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

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

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

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end

এই ফাস্টলেন প্লাগইন বৈশিষ্ট্য সম্পর্কে আরও জানতে, আপনার অ্যাপের সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান দেখুন।

ধাপ 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

শুধুমাত্র যদি আপনার অ্যাপে ফায়ারবেস কনফিগারেশন ফাইল না থাকে ( GoogleService-Info.plist ) : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।

app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path

আপনার GoogleService-Info.plist ফাইলের পাথ, আর্কাইভ করা প্রোডাক্ট পাথের সাপেক্ষে। ডিফল্টরূপে GoogleService-Info.plist এ সেট করুন।

app প্যারামিটারটি নির্দিষ্ট না থাকলে ফাইলটি আপনার অ্যাপের Firebase অ্যাপ আইডি পেতে ব্যবহার করা হয়।

firebase_cli_token

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

service_credentials_file

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

service_credentials_json_data

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

debug

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

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

,

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

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

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

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

    fastlane add_plugin firebase_app_distribution

    যদি কমান্ড আপনাকে একটি বিকল্পের জন্য অনুরোধ করে, Option 3: RubyGems.org

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

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

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

  • আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি firebase_app_distribution অ্যাকশনে পাস করুন। আপনার বিল্ড এনভায়রনমেন্টে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটিকে সুবিধাজনক মনে করতে পারেন।
  • আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS সেট করুন৷ অন্য Google পরিষেবার (যেমন, Google Cloud ) জন্য আপনার যদি ইতিমধ্যেই অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) কনফিগার করা থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
  1. Google Cloud কনসোলে, আপনার প্রকল্প নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন৷
  2. Firebase App Distribution অ্যাডমিন ভূমিকা যোগ করুন।
  3. একটি ব্যক্তিগত json কী তৈরি করুন এবং আপনার বিল্ড এনভায়রনমেন্টে অ্যাক্সেসযোগ্য অবস্থানে কীটি সরান। এই ফাইলটিকে কোথাও নিরাপদ রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রোজেক্টে App Distribution অ্যাডমিনিস্ট্রেটরকে অ্যাক্সেস দেয়।
  4. আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপ তৈরি করেন তবে এই ধাপটি এড়িয়ে যান: Google APIs কনসোলে, Firebase App Distribution API সক্ষম করুন। অনুরোধ করা হলে, আপনার ফায়ারবেস প্রকল্পের মতো একই নামের প্রকল্পটি নির্বাচন করুন।
  5. আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ করুন বা সনাক্ত করুন:

    1. আপনার পরিষেবা অ্যাকাউন্ট কী আপনার লেনের firebase_app_distribution অ্যাকশনে পাস করতে, আপনার ব্যক্তিগত কী JSON ফাইলের পাথ সহ service_credentials_file প্যারামিটার সেট করুন
    2. ADC-এর সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, ব্যক্তিগত কী JSON ফাইলের জন্য পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS পাথে সেট করুন৷ যেমন:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      ADC এর সাথে প্রমাণীকরণের বিষয়ে আরও তথ্যের জন্য, আপনার আবেদনে প্রমাণপত্র সরবরাহ করা পড়ুন।

কিভাবে আপনার প্রকল্পকে প্রমাণীকরণ করতে হয় তার নির্দেশাবলীর জন্য Firebase CLI দিয়ে লগ ইন করুন দেখুন।

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

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

    শুধুমাত্র যদি আপনার অ্যাপে ফায়ারবেস কনফিগারেশন ফাইল না থাকে ( GoogleService-Info.plist ) : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    আপনার GoogleService-Info.plist ফাইলের পাথ, আর্কাইভ করা প্রোডাক্ট পাথের সাপেক্ষে। ডিফল্টরূপে GoogleService-Info.plist এ সেট করুন।

    app প্যারামিটারটি নির্দিষ্ট না থাকলে ফাইলটি আপনার অ্যাপের Firebase অ্যাপ আইডি পেতে ব্যবহার করা হয়।

    firebase_cli_token

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

    service_credentials_file

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

    ipa_path

    apk_path প্রতিস্থাপন করে (অপ্রচলিত)। আপনি যে IPA ফাইলটি আপলোড করতে চান তার সম্পূর্ণ পথ। অনির্দিষ্ট থাকলে, ফাস্টলেন ফাইলের অবস্থান নির্ধারণ করে যে লেন থেকে ফাইলটি তৈরি করা হয়েছিল।

    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 :ios do
    desc "My awesome app"
    lane :distribute do
        build_ios_app(...)
        # build_ios_app is a built-in fastlane action.

        release = firebase_app_distribution(
            app: "1:123456789:ios: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 কনসোলের একটি লিঙ্ক যা একটি একক রিলিজ প্রদর্শন করছে। আপনি আপনার প্রতিষ্ঠানের অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন৷
  • পরীক্ষকদের অভিজ্ঞতায় (iOS ওয়েব ক্লিপ) রিলিজের একটি লিঙ্ক যা পরীক্ষকদের রিলিজ নোট দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকের রিলিজে অ্যাক্সেস প্রয়োজন।
  • একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ বাইনারি (IPA ফাইল) ডাউনলোড এবং ইনস্টল করে। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।

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

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

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

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end

এই ফাস্টলেন প্লাগইন বৈশিষ্ট্য সম্পর্কে আরও জানতে, আপনার অ্যাপের সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান দেখুন।

ধাপ 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

শুধুমাত্র যদি আপনার অ্যাপে ফায়ারবেস কনফিগারেশন ফাইল না থাকে ( GoogleService-Info.plist ) : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।

app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path

আপনার GoogleService-Info.plist ফাইলের পাথ, আর্কাইভ করা প্রোডাক্ট পাথের সাপেক্ষে। ডিফল্টরূপে GoogleService-Info.plist এ সেট করুন।

app প্যারামিটারটি নির্দিষ্ট না থাকলে ফাইলটি আপনার অ্যাপের Firebase অ্যাপ আইডি পেতে ব্যবহার করা হয়।

firebase_cli_token

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

service_credentials_file

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

service_credentials_json_data

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

debug

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

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

,

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

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

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

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

    fastlane add_plugin firebase_app_distribution

    যদি কমান্ড আপনাকে একটি বিকল্পের জন্য অনুরোধ করে, Option 3: RubyGems.org

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

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

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

  • আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি firebase_app_distribution অ্যাকশনে পাস করুন। আপনার বিল্ড এনভায়রনমেন্টে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটিকে সুবিধাজনক মনে করতে পারেন।
  • আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে পরিবেশ পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS সেট করুন৷ অন্য Google পরিষেবার (যেমন, Google Cloud ) জন্য আপনার যদি ইতিমধ্যেই অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) কনফিগার করা থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
  1. Google Cloud কনসোলে, আপনার প্রকল্প নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন৷
  2. Firebase App Distribution অ্যাডমিন ভূমিকা যোগ করুন।
  3. একটি ব্যক্তিগত জেএসএন কী তৈরি করুন এবং আপনার বিল্ড পরিবেশে অ্যাক্সেসযোগ্য কোনও স্থানে কীটি সরান। এই ফাইলটিকে কোথাও নিরাপদ রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রোজেক্টে App Distribution অ্যাডমিনিস্ট্রেটরকে অ্যাক্সেস দেয়।
  4. আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপটি তৈরি করেন তবে এই পদক্ষেপটি এড়িয়ে যান: গুগল এপিআইএস কনসোলে, Firebase App Distribution এপিআই সক্ষম করুন। যখন অনুরোধ করা হয়, আপনার ফায়ারবেস প্রকল্পের মতো একই নাম সহ প্রকল্পটি নির্বাচন করুন।
  5. আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ বা সনাক্ত করুন:

    1. আপনার লেনের firebase_app_distribution অ্যাকশনে আপনার পরিষেবা অ্যাকাউন্ট কীটি পাস করার জন্য, আপনার ব্যক্তিগত কী জসন ফাইলের পথ সহ service_credentials_file প্যারামিটারটি সেট করুন
    2. এডিসির সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, পরিবেশের পরিবর্তনশীল GOOGLE_APPLICATION_CREDENTIALS প্রাইভেট কী জেএসএন ফাইলের পথে সেট করুন। যেমন:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      এডিসির সাথে প্রমাণীকরণ সম্পর্কিত আরও তথ্যের জন্য, আপনার অ্যাপ্লিকেশনটিতে শংসাপত্র সরবরাহ করে পড়ুন।

কীভাবে আপনার প্রকল্পটি প্রমাণীকরণ করবেন সে সম্পর্কে নির্দেশাবলীর জন্য Firebase সিএলআইয়ের সাথে লগ ইন দেখুন।

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

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

    কেবলমাত্র যদি আপনার অ্যাপ্লিকেশনটিতে ফায়ারবেস কনফিগারেশন ফাইল না থাকে ( GoogleService-Info.plist ) : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    সংরক্ষণাগারভুক্ত পণ্য পথের সাথে সম্পর্কিত আপনার GoogleService-Info.plist ফাইলের পথ। ডিফল্টরূপে GoogleService-Info.plist সেট করুন।

    যদি app প্যারামিটারটি অনির্ধারিত থাকে তবে ফাইলটি আপনার অ্যাপের ফায়ারবেস অ্যাপ্লিকেশন আইডি পেতে ব্যবহৃত হয়।

    firebase_cli_token

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

    service_credentials_file

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

    ipa_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 :ios do
    desc "My awesome app"
    lane :distribute do
        build_ios_app(...)
        # build_ios_app is a built-in fastlane action.

        release = firebase_app_distribution(
            app: "1:123456789:ios: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_build_number অ্যাকশনটি ব্যবহার করতে পারেন। নিম্নলিখিত কোডটি কীভাবে আপনার বিল্ড নম্বরটি স্বয়ংক্রিয়ভাবে বাড়ানো যায় তার একটি উদাহরণ সরবরাহ করে:

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end

এই ফাস্টলেন প্লাগইন বৈশিষ্ট্যটি সম্পর্কে আরও জানতে, আপনার অ্যাপ্লিকেশনটির সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান

ধাপ 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 (ঐচ্ছিক)। আপনার অ্যাপ্লিকেশনটির সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান

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

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

পরামিতি

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

কেবলমাত্র যদি আপনার অ্যাপ্লিকেশনটিতে ফায়ারবেস কনফিগারেশন ফাইল না থাকে ( GoogleService-Info.plist ) : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডি খুঁজে পেতে পারেন।

app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path

সংরক্ষণাগারভুক্ত পণ্য পথের সাথে সম্পর্কিত আপনার GoogleService-Info.plist ফাইলের পথ। ডিফল্টরূপে GoogleService-Info.plist সেট করুন।

যদি app প্যারামিটারটি অনির্ধারিত থাকে তবে ফাইলটি আপনার অ্যাপের ফায়ারবেস অ্যাপ্লিকেশন আইডি পেতে ব্যবহৃত হয়।

firebase_cli_token

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

service_credentials_file

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

service_credentials_json_data

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

debug

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

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