यह दस्तावेज़ बताता है कि फास्टलेन का उपयोग करके परीक्षकों को एपीके बिल्ड को कैसे वितरित किया जाए, एक ओपन सोर्स प्लेटफॉर्म जो आईओएस और एंड्रॉइड ऐप के निर्माण और रिलीज को स्वचालित करता है। यह दस्तावेज़ Fastfile
में परिभाषित निर्देशों का पालन करता है। फास्टलेन और अपना Fastfile
सेट करने के बाद, आप ऐप वितरण को अपने फास्टलेन कॉन्फ़िगरेशन के साथ एकीकृत कर सकते हैं।
शुरू करने से पहले
यदि आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें ।
यदि आप किसी अन्य Firebase उत्पादों का उपयोग नहीं कर रहे हैं, तो आपको केवल एक प्रोजेक्ट बनाना होगा और अपना ऐप पंजीकृत करना होगा। हालांकि, यदि आप भविष्य में अतिरिक्त उत्पादों का उपयोग करने का निर्णय लेते हैं, तो ऊपर लिंक किए गए पृष्ठ पर सभी चरणों को पूरा करना सुनिश्चित करें।
चरण 1. फास्टलेन सेट करें
अपने फास्टलेन कॉन्फ़िगरेशन में ऐप डिस्ट्रीब्यूशन जोड़ने के लिए, अपने एंड्रॉइड प्रोजेक्ट के रूट से निम्न कमांड चलाएँ:
fastlane add_plugin firebase_app_distribution
यदि कमांड आपको एक विकल्प के साथ संकेत देता है, तो
Option 3: RubyGems.org
चुनें।
चरण 2. फायरबेस के साथ प्रमाणित करें
Fastlane प्लगइन का उपयोग करने से पहले, आपको पहले अपने Firebase प्रोजेक्ट से प्रमाणित करना होगा। इसे हासिल करने के तीन तरीके हैं:
- निम्न आदेश चलाएँ:
bundle exec fastlane run firebase_app_distribution_login
आदेश एक प्रमाणीकरण लिंक मुद्रित करता है। एक ब्राउज़र में लिंक खोलें।
संकेत मिलने पर, अपने Google खाते में साइन इन करें और अपने फायरबेस प्रोजेक्ट को एक्सेस करने की अनुमति दें। लॉगिन क्रिया फिर एक ताज़ा टोकन प्रिंट करती है, जिसका उपयोग ऐप वितरण प्लगइन फायरबेस के साथ प्रमाणित करने के लिए करता है।
- अपने Fastfile को सेट करते समय या तो बाद में
firebase_cli_token
पैरामीटर का उपयोग करके, याFIREBASE_TOKEN
पर्यावरण चर सेट करके, पिछले चरण से टोकन पास करें:export FIREBASE_TOKEN=token
सेवा खाते के साथ प्रमाणीकरण करने से आप अपने निरंतर एकीकरण (CI) सिस्टम के साथ प्लगइन का लचीले ढंग से उपयोग कर सकते हैं। सेवा खाता क्रेडेंशियल प्रदान करने के दो तरीके हैं:
- अपनी सेवा खाता कुंजी फ़ाइल को
firebase_app_distribution
कार्रवाई में पास करें। यदि आपके पास पहले से ही आपके बिल्ड वातावरण में आपकी सेवा खाता कुंजी फ़ाइल है, तो आपको यह विधि सुविधाजनक लग सकती है। - अपनी सेवा खाता कुंजी फ़ाइल को इंगित करने के लिए पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
सेट करें। आप इस विधि को पसंद कर सकते हैं यदि आपके पास पहले से ही किसी अन्य Google सेवा (जैसे, Google क्लाउड) के लिए एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल्स (ADC) कॉन्फ़िगर किया गया है।
- Google क्लाउड कंसोल पर, अपना प्रोजेक्ट चुनें और एक नया सेवा खाता बनाएं।
- Firebase ऐप वितरण व्यवस्थापक भूमिका जोड़ें।
- एक निजी जेसन कुंजी बनाएं और कुंजी को अपने निर्माण वातावरण के लिए सुलभ स्थान पर ले जाएं। इस फ़ाइल को कहीं सुरक्षित रखना सुनिश्चित करें , क्योंकि यह आपके Firebase प्रोजेक्ट में व्यवस्थापक को ऐप वितरण तक पहुंच प्रदान करती है।
- अगर आपने 20 सितंबर, 2019 के बाद अपना ऐप बनाया है तो इस चरण को छोड़ दें: Google API कंसोल में, Firebase ऐप वितरण API सक्षम करें। संकेत मिलने पर, उसी नाम से प्रोजेक्ट चुनें, जिसका नाम आपका Firebase प्रोजेक्ट है।
अपना सेवा खाता क्रेडेंशियल प्रदान करें या उनका पता लगाएं:
- अपने लेन की
firebase_app_distribution
क्रिया के लिए अपनी सेवा खाता कुंजी पास करने के लिए, अपनी निजी कुंजी JSON फ़ाइल के पथ के साथservice_credentials_file
पैरामीटर सेट करें एडीसी के साथ अपने क्रेडेंशियल्स का पता लगाने के लिए, पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
को निजी कुंजी JSON फ़ाइल के पथ पर सेट करें। उदाहरण के लिए:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
4एडीसी के साथ प्रमाणीकरण के बारे में अधिक जानकारी के लिए, अपने आवेदन के लिए क्रेडेंशियल प्रदान करना पढ़ें।
- अपने लेन की
अपने प्रोजेक्ट को प्रमाणित करने के तरीके के बारे में निर्देशों के लिए Firebase CLI के साथ लॉग इन करें देखें।
चरण 3. अपना Fastfile सेट करें और अपना ऐप वितरित करें
- एक
./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(...) # 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!" ) 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प्लेसहोल्डर17
फास्टलेन क्रियाएं चलाएं
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 | एक बुलियन झंडा। वर्बोज़ डीबग आउटपुट प्रिंट करने के लिए आप इसे |