Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

ऐप वितरण आपके द्वारा अपलोड किए गए एएबी को संसाधित करने और आपके परीक्षकों के डिवाइस कॉन्फ़िगरेशन के लिए अनुकूलित किए गए एपीके की सेवा के लिए Google Play की आंतरिक ऐप साझाकरण सेवा के साथ एकीकृत होता है। एएबी वितरित करने से आप निम्न कार्य कर सकते हैं:

  • अनुकूलित APK चलाएं (Google Play द्वारा प्रस्तुत) जो आपके परीक्षकों के उपकरणों के लिए अनुकूलित हैं।

  • डिवाइस-विशिष्ट मुद्दों को उजागर करें और डीबग करें।

  • टेस्ट ऐप बंडल फ़ीचर जैसे Play फ़ीचर डिलीवरी और Play एसेट डिलीवरी

  • अपने परीक्षकों के लिए डाउनलोड का आकार कम करें।

आवश्यक अनुमतियाँ

एएबी को ऐप वितरण में अपलोड करने के लिए, आपको अपने फायरबेस ऐप को Google Play में किसी ऐप से लिंक करना होगा। इन कार्यों को करने के लिए आपके पास आवश्यक स्तर की पहुंच होनी चाहिए।

यदि आपके पास आवश्यक Firebase एक्सेस नहीं है, तो आप Firebase प्रोजेक्ट स्वामी से Firebase कंसोल IAM सेटिंग के माध्यम से आपको लागू भूमिका सौंपने के लिए कह सकते हैं। अगर आपके पास अपने फायरबेस प्रोजेक्ट तक पहुंचने के बारे में प्रश्न हैं, जिसमें मालिक को ढूंढना या असाइन करना शामिल है, तो "फायरबेस प्रोजेक्ट्स की अनुमतियां और एक्सेस" अक्सर पूछे जाने वाले प्रश्नों की समीक्षा करें।

निम्न तालिका Google Play में एक Firebase ऐप को किसी ऐप से लिंक करने के साथ-साथ AAB को अपलोड करने पर लागू होती है।

फायरबेस कंसोल में कार्रवाई आवश्यक IAM अनुमति IAM भूमिका (भूमिकाएं) जिनमें डिफ़ॉल्ट रूप से आवश्यक अनुमतियां शामिल हैं अतिरिक्त आवश्यक भूमिका (भूमिकाएं)
किसी Firebase ऐप्लिकेशन को Google Play में ऐप्लिकेशन से लिंक करें firebase.playLinks.update निम्नलिखित भूमिकाओं में से एक: व्यवस्थापक के रूप में Google Play डेवलपर खाते तक पहुंच
ऐप वितरण में एएबी अपलोड करें firebaseappdistro.releases.update निम्नलिखित भूमिकाओं में से एक: —–

शुरू करने से पहले

  1. यदि आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें । इस वर्कफ़्लो के अंत में, आपके Firebase प्रोजेक्ट में आपके पास एक Firebase Android ऐप होगा।

    अगर आप किसी अन्य Firebase उत्पादों का उपयोग नहीं कर रहे हैं, तो आपको केवल एक प्रोजेक्ट बनाना होगा और अपना ऐप पंजीकृत करना होगा। यदि आप अतिरिक्त उत्पादों का उपयोग करने का निर्णय लेते हैं, तो अपने Android प्रोजेक्ट में Firebase जोड़ें में सभी चरणों को पूरा करना सुनिश्चित करें।

  2. Google Play से Firebase लिंक बनाने और AAB अपलोड करने के लिए, सुनिश्चित करें कि आपका ऐप निम्नलिखित आवश्यकताओं को पूरा करता है:

    • Google Play में ऐप और फायरबेस एंड्रॉइड ऐप दोनों एक ही पैकेज नाम का उपयोग करके पंजीकृत हैं।

    • Google Play में ऐप को ऐप डैशबोर्ड पर सेट किया गया है और इसे Google Play ट्रैक (आंतरिक परीक्षण, बंद परीक्षण, खुला परीक्षण, या उत्पादन) में से एक में वितरित किया जाता है।

    • Google Play में ऐप की समीक्षा पूरी हो गई है और ऐप प्रकाशित हो गया है। यदि ऐप स्थिति कॉलम निम्न में से कोई एक स्थिति प्रदर्शित करता है तो आपका ऐप प्रकाशित होता है: आंतरिक परीक्षण (ड्राफ़्ट आंतरिक परीक्षण नहीं), बंद परीक्षण, खुला परीक्षण, या उत्पादन।

  3. अपने फायरबेस एंड्रॉइड ऐप को अपने Google Play डेवलपर खाते से लिंक करें:

    1. फायरबेस कंसोल में, अपनी प्रोजेक्ट सेटिंग्स पर जाएं, फिर इंटीग्रेशन टैब चुनें।

    2. Google Play कार्ड पर, लिंक पर क्लिक करें।
      यदि आपके पास पहले से Google Play के लिंक हैं, तो इसके बजाय प्रबंधित करें पर क्लिक करें।

    3. ऐप वितरण एकीकरण को सक्षम करने के लिए ऑन-स्क्रीन निर्देशों का पालन करें और चुनें कि कौन से फायरबेस एंड्रॉइड ऐप को Google Play से लिंक करना है।

    Google Play से लिंक करने के बारे में और जानें।

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

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

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

    fastlane add_plugin firebase_app_distribution

    यदि कमांड आपको एक विकल्प के साथ संकेत देता है, तो Option 3: RubyGems.org चुनें।

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

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

चरण 3. अपना Fastfile सेट करें और अपना ऐप वितरित करें

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

    आवश्यक : आपके ऐप का फायरबेस ऐप आईडी। आप सामान्य सेटिंग पृष्ठ पर, Firebase कंसोल में ऐप आईडी पा सकते हैं।

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

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

    service_credentials_file

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

    android_artifact_type

    Android फ़ाइल प्रकार (APK या AAB) निर्दिष्ट करता है।

    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

    वे परीक्षक समूह जिन्हें आप आमंत्रित करना चाहते हैं ( परीक्षकों को प्रबंधित करें देखें)। समूह का उपयोग करके निर्दिष्ट किया जाता है समूह उपनाम , जिसे आप फायरबेस कंसोल में देख सकते हैं।

    आप समूहों को अल्पविराम से अलग की गई सूची के रूप में निर्दिष्ट कर सकते हैं:

    groups: "qa-team, trusted-testers"

    या, आप समूह नामों की अल्पविराम से अलग की गई सूची वाली सादा पाठ फ़ाइल का पथ निर्दिष्ट कर सकते हैं:

    groups_file: "/path/to/groups.txt"
    debug

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

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(task: "bundle", ...)
        # build_android_app is a built-in fastlane action.
        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!",
            android_artifact_type: "AAB"
        )
    end
end

टेस्टर्स को बिल्ड उपलब्ध कराने के लिए, अपनी लेन चलाएं:

fastlane <lane>

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

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

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

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

Fastfile का प्रयोग करें

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

फास्टलेन क्रियाएं चलाएं

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

आप --emails के बजाय --emails --file="/path/to/testers.txt का उपयोग करके भी परीक्षक निर्दिष्ट कर सकते हैं।

firebase_app_distribution_add_testers और firebase_app_distribution_remove_testers कार्य भी निम्नलिखित तर्कों को स्वीकार करते हैं:

  • project_name : आपका project_name प्रोजेक्ट नंबर।
  • 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

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

service_credentials_file

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

debug

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

अगले कदम

CI/CD का उपयोग करके QA परीक्षकों को Android ऐप्स वितरित करने के सर्वोत्तम अभ्यासों के बारे में जानें।