फास्टलेन का उपयोग करने वाले परीक्षकों को एंड्रॉइड ऐप्स वितरित करें

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

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

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

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

  • प्ले फ़ीचर डिलीवरी और प्ले एसेट डिलीवरी जैसी ऐप बंडल सुविधाओं का परीक्षण करें।

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

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

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

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

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

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

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

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

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

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

    • Google Play में ऐप और Firebase Android ऐप दोनों एक ही पैकेज नाम का उपयोग करके पंजीकृत हैं।

    • 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. अपना फास्टफ़ाइल सेट करें और अपना ऐप वितरित करें

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

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

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

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

    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"
    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

    स्वचालित परीक्षण अतुल्यकालिक रूप से चलाएँ। स्वचालित परीक्षण परिणामों के लिए फायरबेस कंसोल पर जाएँ।

    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.
        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!",
            android_artifact_type: "AAB"
        )
    end
end

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

fastlane <lane>

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

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

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

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

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

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

आप --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

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

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

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

service_credentials_file

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

debug

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

अगले कदम