फ़ास्टलेन का इस्तेमाल करके जांच करने वाले लोगों को iOS ऐप्लिकेशन उपलब्ध कराना

ऐप्लिकेशन का इस्तेमाल करके, टेस्टर को बिल्ड डिस्ट्रिब्यूट किए जा सकते हैं फ़ास्टलेन, यह एक ओपन सोर्स प्लैटफ़ॉर्म है, जो अपने-आप iOS और Android बनाने और रिलीज़ करने में मदद करता है दिखाई देता है. यह Fastfile में बताए गए आसान निर्देशों का पालन करता है. सेट अप करने के बाद Fastlane और आपके Fastfile के साथ, आप App Distribution को अपने फ़ास्टलेन के साथ इंटिग्रेट कर सकते हैं कॉन्फ़िगरेशन.

पहला चरण. फ़ास्टलेन सेट अप करें

  1. फ़ास्टलेन इंस्टॉल करें और उसे सेट अप करें.

  2. अपने फ़ास्टलेन कॉन्फ़िगरेशन में App Distribution जोड़ने के लिए इन निर्देशों का पालन करें कमांड:

    fastlane add_plugin firebase_app_distribution

    अगर निर्देश आपको कोई विकल्प दिखाता है, तो Option 3: RubyGems.org चुनें.

दूसरा चरण. Firebase की मदद से पुष्टि करें

फ़ास्टलेन प्लगिन का इस्तेमाल करने से पहले, आपको अपने Firebase प्रोजेक्ट को इनमें से किसी एक तरीके से प्रोजेक्ट किया जा सकता है. डिफ़ॉल्ट रूप से, फ़ास्टलेन प्लगिन अगर पुष्टि करने का कोई दूसरा तरीका नहीं है, तो Firebase सीएलआई से क्रेडेंशियल खोजता है का तरीका इस्तेमाल किया जाता है.

चरण 3. अपनी फ़ास्टफ़ाइल सेट अप करना और अपने ऐप्लिकेशन को लोगों तक पहुंचाना

  1. ./fastlane/Fastfile लेन में, जोड़ें firebase_app_distribution ब्लॉक. इन पैरामीटर का इस्तेमाल करके डिस्ट्रिब्यूशन को कॉन्फ़िगर करें:
    firebase_app_डिस्ट्रिब्यूशन पैरामीटर
    app

    यह सिर्फ़ तब ज़रूरी है, जब आपके ऐप्लिकेशन में Firebase कॉन्फ़िगरेशन फ़ाइल (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 सीएलआई (पढ़ें सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना देखें).

    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 फ़ाइल) इंस्टॉल करता है. एक घंटे बाद लिंक काम नहीं करेगा.

बिल्ड डिस्ट्रिब्यूट करने के बाद, यह Firebase कंसोल का App Distribution डैशबोर्ड 150 दिनों के लिए. बिल्ड की समयसीमा खत्म होने के 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

इस फ़ास्टलेन प्लगिन के बारे में ज़्यादा जानने के लिए, यहां देखें अपने ऐप्लिकेशन की हाल ही की रिलीज़ के बारे में जानकारी पाएं.

चौथा चरण (ज़रूरी नहीं). डिस्ट्रिब्यूशन के लिए, टेस्टर मैनेज करें

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.

firebase_app_distribution_add_testers और firebase_app_distribution_remove_testers टास्क के लिए, ये भी स्वीकार किए जाते हैं तर्क:

  • project_name: आपके Firebase प्रोजेक्ट का नंबर.
  • group_alias (ज़रूरी नहीं): अगर बताया गया, तो टेस्टर को इसमें जोड़ा जाता है या हटाया जाता है शामिल किया गया समूह.
  • service_credentials_file: आपकी Google सेवा क्रेडेंशियल फ़ाइल का पाथ.
  • firebase_cli_token: Firebase सीएलआई के लिए पुष्टि करने वाला टोकन.

service_credentials_file और firebase_cli_token एक जैसे हैं अपलोड कार्रवाई में इस्तेमाल होने वाले आर्ग्युमेंट.

पांचवां चरण (ज़रूरी नहीं). अपने ऐप्लिकेशन के नए वर्शन के बारे में जानकारी पाना

firebase_app_distribution_get_latest_release कार्रवाई का इस्तेमाल किया जा सकता है ऐप्लिकेशन डिस्ट्रिब्यूशन में, अपने ऐप्लिकेशन की हाल ही की रिलीज़ के बारे में जानकारी फ़ेच की जा सकती है. इसमें ऐप्लिकेशन के वर्शन की जानकारी, प्रॉडक्ट की जानकारी, और कॉन्टेंट बनाने का समय शामिल है. इस्तेमाल के उदाहरण में, वर्शन को अपने-आप बढ़ाना और रिलीज़ को आगे बढ़ाना शामिल है पिछली रिलीज़ के नोट शामिल हैं.

कार्रवाई की रिटर्न वैल्यू एक हैश है, जो नई रिलीज़ को दिखाता है. यह हैश, lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] का इस्तेमाल करके भी उपलब्ध है. इस हैश में उपलब्ध फ़ील्ड के बारे में ज़्यादा जानकारी के लिए, देखें REST API दस्तावेज़.

पैरामीटर

firebase_app_डिस्ट्रिब्यूशन_get_latest_release पैरामीटर
app

यह सिर्फ़ तब ज़रूरी है, जब आपके ऐप्लिकेशन में Firebase कॉन्फ़िगरेशन फ़ाइल (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 सीएलआई (पढ़ें सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना देखें).

service_credentials_file

आपके Google सेवा खाते की json फ़ाइल का पाथ. इसका तरीका जानने के लिए पहले के दस्तावेज़ देखें सेवा खाते के क्रेडेंशियल का इस्तेमाल करके पुष्टि करें.

service_credentials_json_data

Google सेवा खाते की JSON फ़ाइल का कॉन्टेंट. इसका तरीका जानने के लिए पहले के दस्तावेज़ देखें सेवा खाते के क्रेडेंशियल का इस्तेमाल करके पुष्टि करें.

debug

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

अगले चरण