Catch up on highlights from Firebase at Google I/O 2023. Learn more

Fastlane का उपयोग करने वाले परीक्षकों को iOS ऐप्स वितरित करें

आप फास्टलेन का उपयोग करके परीक्षकों को बिल्ड वितरित कर सकते हैं, यह एक ओपन सोर्स प्लेटफॉर्म है जो आईओएस और एंड्रॉइड ऐप बनाने और जारी करने को स्वचालित करता है। यह Fastfile में परिभाषित सरल निर्देशों का पालन करता है। आपके द्वारा फास्टलेन और अपने Fastfile सेट करने के बाद, आप ऐप वितरण को अपने फास्टलेन कॉन्फ़िगरेशन के साथ एकीकृत कर सकते हैं।

चरण 1. फास्टलेन सेट करें

  1. फास्टलेन स्थापित करें और सेट अप करें

  2. अपने फास्टलेन कॉन्फ़िगरेशन में ऐप डिस्ट्रीब्यूशन जोड़ने के लिए, अपने iOS प्रोजेक्ट के रूट से निम्न कमांड चलाएँ:

    fastlane add_plugin firebase_app_distribution

    यदि आदेश आपको एक विकल्प के साथ संकेत देता है, तो Option 3: RubyGems.org

चरण 2. फायरबेस के साथ प्रमाणित करें

इससे पहले कि आप फास्टलेन प्लगइन का उपयोग कर सकें, आपको सबसे पहले निम्नलिखित में से किसी एक तरीके से अपने फायरबेस प्रोजेक्ट के साथ प्रमाणित करना होगा। यदि कोई अन्य प्रमाणीकरण विधि का उपयोग नहीं किया जाता है, तो डिफ़ॉल्ट रूप से, फास्टलेन प्लगइन फायरबेस सीएलआई से क्रेडेंशियल्स की तलाश करता है।

स्टेप 3. अपना फास्टफाइल सेट करें और अपने ऐप को वितरित करें

  1. एक ./fastlane/Fastfile लेन में, एक firebase_app_distribution ब्लॉक जोड़ें। वितरण को कॉन्फ़िगर करने के लिए निम्न पैरामीटर का उपयोग करें:
    firebase_app_distribution पैरामीटर
    app

    केवल तभी आवश्यक है जब आपके ऐप में फायरबेस कॉन्फ़िगरेशन फ़ाइल ( GoogleService-Info.plist ) न हो : आपके ऐप की फायरबेस ऐप आईडी। आप सामान्य सेटिंग्स पृष्ठ पर, फायरबेस कंसोल में ऐप आईडी पा सकते हैं।

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

    संग्रहीत उत्पाद पथ के सापेक्ष, आपकी GoogleService-Info.plist फ़ाइल का पथ। डिफ़ॉल्ट रूप से GoogleService-Info.plist पर सेट करें।

    यदि app पैरामीटर निर्दिष्ट नहीं है तो फ़ाइल का उपयोग आपके ऐप की फायरबेस ऐप आईडी प्राप्त करने के लिए किया जाता है।

    firebase_cli_token

    एक रीफ्रेश टोकन जो तब प्रिंट होता है जब आप फायरबेस सीएलआई के साथ अपने सीआई पर्यावरण को प्रमाणित करते हैं (अधिक जानकारी के लिए सीआई सिस्टम के साथ सीएलआई का उपयोग करें पढ़ें)।

    service_credentials_file

    आपकी Google सेवा खाता json फ़ाइल का पथ। सेवा खाता क्रेडेंशियल्स का उपयोग करके प्रमाणित करने के तरीके के लिए ऊपर देखें।

    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"
    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 दस्तावेज़ीकरण देखें।

फास्टलेन प्लगइन रिलीज़ अपलोड के बाद निम्न लिंक को आउटपुट करता है। ये लिंक आपको बायनेरिज़ प्रबंधित करने में मदद करते हैं और यह सुनिश्चित करते हैं कि परीक्षकों और अन्य डेवलपर्स के पास सही रिलीज़ है:

  • एकल रिलीज प्रदर्शित करने वाले फायरबेस कंसोल का लिंक। आप इस लिंक को अपने संगठन में अन्य डेवलपर्स के साथ साझा कर सकते हैं।
  • परीक्षक अनुभव (iOS वेब क्लिप) में रिलीज़ का एक लिंक जो परीक्षकों को रिलीज़ नोट्स देखने और ऐप को अपने डिवाइस पर इंस्टॉल करने देता है। लिंक का उपयोग करने के लिए परीक्षक को रिलीज़ तक पहुंच की आवश्यकता होती है।
  • एक हस्ताक्षरित लिंक जो ऐप बाइनरी (IPA फ़ाइल) को सीधे डाउनलोड और इंस्टॉल करता है। लिंक एक घंटे के बाद समाप्त हो जाता है।

आपके बिल्ड को वितरित करने के बाद, यह 150 दिनों के लिए Firebase कंसोल के ऐप डिस्ट्रीब्यूशन डैशबोर्ड में उपलब्ध रहता है। जब बिल्ड समाप्त होने के 30 दिन बाद होता है, तो कंसोल में और उनके टेस्ट डिवाइस पर टेस्टर की सूची में एक समाप्ति नोटिस दिखाई देता है।

जिन परीक्षकों को पहले ऐप का परीक्षण करने के लिए आमंत्रित नहीं किया गया था, उन्हें आरंभ करने के लिए ईमेल आमंत्रण प्राप्त होते हैं। मौजूदा परीक्षकों को ईमेल सूचनाएँ प्राप्त होती हैं कि एक नया निर्माण परीक्षण के लिए तैयार है। परीक्षण ऐप इंस्टॉल करने का तरीका जानने के लिए, परीक्षक के रूप में सेट अप करें देखें. आप यह निर्धारित करने के लिए प्रत्येक परीक्षक की स्थिति की निगरानी कर सकते हैं कि उन्होंने आमंत्रण स्वीकार किया है या नहीं और उन्होंने फायरबेस कंसोल में ऐप डाउनलोड किया है या नहीं।

(वैकल्पिक) जब भी आप ऐप वितरण में कोई नई रिलीज़ बनाते हैं, तो हर बार अपनी बिल्ड संख्या को स्वचालित रूप से बढ़ाने के लिए, आप 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 में सेट मानों को ओवरराइड करती हैं।

एक बार आपके Firebase प्रोजेक्ट में परीक्षक जुड़ जाने के बाद, आप उन्हें अलग-अलग रिलीज़ में जोड़ सकते हैं। जिन परीक्षकों को आपके Firebase प्रोजेक्ट से हटा दिया गया है, उनके पास अब आपके प्रोजेक्ट में रिलीज़ तक पहुंच नहीं है, लेकिन वे कुछ समय के लिए आपकी रिलीज़ तक पहुंच बनाए रख सकते हैं।

यदि आपके पास बड़ी संख्या में परीक्षक हैं, तो आपको समूहों का उपयोग करने पर विचार करना चाहिए।

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 के बजाय --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 : फायरबेस सीएलआई के लिए प्रामाणिक टोकन।

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 ) न हो : आपके ऐप की फायरबेस ऐप आईडी। आप सामान्य सेटिंग्स पृष्ठ पर, फायरबेस कंसोल में ऐप आईडी पा सकते हैं।

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

संग्रहीत उत्पाद पथ के सापेक्ष, आपकी GoogleService-Info.plist फ़ाइल का पथ। डिफ़ॉल्ट रूप से GoogleService-Info.plist पर सेट करें।

यदि app पैरामीटर निर्दिष्ट नहीं है तो फ़ाइल का उपयोग आपके ऐप की फायरबेस ऐप आईडी प्राप्त करने के लिए किया जाता है।

firebase_cli_token

एक रीफ्रेश टोकन जो तब प्रिंट होता है जब आप फायरबेस सीएलआई के साथ अपने सीआई पर्यावरण को प्रमाणित करते हैं (अधिक जानकारी के लिए सीआई सिस्टम के साथ सीएलआई का उपयोग करें पढ़ें)।

service_credentials_file

आपकी Google सेवा खाता json फ़ाइल का पथ। सेवा खाता क्रेडेंशियल्स का उपयोग करके प्रमाणित करने के तरीके के लिए ऊपर देखें।

debug

एक बूलियन झंडा। वर्बोज़ डिबग आउटपुट प्रिंट करने के लिए आप इसे true पर सेट कर सकते हैं।

अगले कदम