आप ऐप डिस्ट्रीब्यूशन ग्रैडल प्लगइन का उपयोग करके अपने एंड्रॉइड बिल्ड प्रोसेस में ऐप डिस्ट्रीब्यूशन को एकीकृत कर सकते हैं। प्लगइन आपको अपने ऐप की build.gradle
फ़ाइल में अपने परीक्षकों को निर्दिष्ट करने और नोट्स जारी करने देता है, जिससे आप अपने ऐप के विभिन्न बिल्ड प्रकारों और प्रकारों के लिए वितरण कॉन्फ़िगर कर सकते हैं।
यह मार्गदर्शिका बताती है कि ऐप डिस्ट्रीब्यूशन ग्रैडल प्लगइन का उपयोग करके एपीके को परीक्षकों को कैसे वितरित किया जाए।
शुरू करने से पहले
यदि आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें ।
यदि आप किसी अन्य Firebase उत्पादों का उपयोग नहीं कर रहे हैं, तो आपको केवल एक प्रोजेक्ट बनाना होगा और अपना ऐप पंजीकृत करना होगा। हालांकि, यदि आप भविष्य में अतिरिक्त उत्पादों का उपयोग करने का निर्णय लेते हैं, तो ऊपर लिंक किए गए पृष्ठ पर सभी चरणों को पूरा करना सुनिश्चित करें।
चरण 1. अपना Android प्रोजेक्ट सेट करें
अपनी प्रोजेक्ट-स्तरीय ग्रैडल फ़ाइल (आमतौर पर
android/build.gradle
) में, ऐप डिस्ट्रीब्यूशन प्लगइन को बिल्डस्क्रिप्ट निर्भरता के रूप में जोड़ें:buildscript { repositories { // Check that you have Google's Maven repository (if not, add it). google() jcenter() } dependencies { // Add the App Distribution Gradle plugin classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.1' } }
अपनी ऐप-स्तरीय ग्रैडल फ़ाइल (आमतौर पर
android/app/build.gradle
) में, Android प्लगइन के नीचे ऐप वितरण प्लग इन शामिल करें:apply plugin: 'com.android.application' // ... // Apply the App Distribution Gradle plugin apply plugin: 'com.google.firebase.appdistribution' // ...
यदि आप किसी कॉर्पोरेट प्रॉक्सी या फ़ायरवॉल के पीछे हैं, तो निम्न जावा सिस्टम गुण जोड़ें जो ऐप वितरण को आपके वितरणों को Firebase पर अपलोड करने में सक्षम बनाता है:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
चरण 2. फायरबेस के साथ प्रमाणित करें
इससे पहले कि आप ग्रैडल प्लगइन का उपयोग कर सकें, आपको पहले अपने फायरबेस प्रोजेक्ट के साथ प्रमाणित करना होगा। इसे हासिल करने के तीन तरीके हैं:
- निम्न आदेश चलाएँ:
./gradlew appDistributionLogin
आदेश एक प्रमाणीकरण लिंक मुद्रित करता है। एक ब्राउज़र में लिंक खोलें।
संकेत मिलने पर, अपने Google खाते में साइन इन करें और अपने फायरबेस प्रोजेक्ट को एक्सेस करने की अनुमति दें। ग्रैडल कमांड एक रिफ्रेश टोकन प्रिंट करता है, जिसे ऐप डिस्ट्रीब्यूशन प्लगइन फायरबेस के साथ प्रमाणित करने के लिए उपयोग करता है।
- पर्यावरण चर
FIREBASE_TOKEN
को पिछले चरण से टोकन पर सेट करें:export FIREBASE_TOKEN=token
सेवा खाते के साथ प्रमाणीकरण करने से आप अपने निरंतर एकीकरण (CI) सिस्टम के साथ प्लगइन का लचीले ढंग से उपयोग कर सकते हैं। सेवा खाता क्रेडेंशियल प्रदान करने के दो तरीके हैं:
- अपनी सेवा खाता कुंजी फ़ाइल को
build.gradle
पर पास करें। यदि आपके पास पहले से ही आपके बिल्ड वातावरण में आपकी सेवा खाता कुंजी फ़ाइल है, तो आपको यह विधि सुविधाजनक लग सकती है। - अपनी सेवा खाता कुंजी फ़ाइल को इंगित करने के लिए पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
सेट करें। आप इस विधि को पसंद कर सकते हैं यदि आपके पास पहले से ही किसी अन्य Google सेवा (जैसे, Google क्लाउड) के लिए एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल्स (ADC) कॉन्फ़िगर किया गया है।
सेवा खाता क्रेडेंशियल का उपयोग करके प्रमाणित करने के लिए:
- Google क्लाउड कंसोल पर, अपना प्रोजेक्ट चुनें और एक नया सेवा खाता बनाएं।
- Firebase ऐप वितरण व्यवस्थापक भूमिका जोड़ें।
- एक निजी जेसन कुंजी बनाएं और कुंजी को अपने निर्माण वातावरण के लिए सुलभ स्थान पर ले जाएं। इस फ़ाइल को कहीं सुरक्षित रखना सुनिश्चित करें , क्योंकि यह आपके Firebase प्रोजेक्ट में व्यवस्थापक को ऐप वितरण तक पहुंच प्रदान करती है।
- अगर आपने 20 सितंबर, 2019 के बाद अपना ऐप बनाया है तो इस चरण को छोड़ दें: Google API कंसोल में, Firebase ऐप वितरण API सक्षम करें। संकेत मिलने पर, उसी नाम से प्रोजेक्ट चुनें, जिसका नाम आपका Firebase प्रोजेक्ट है।
अपना सेवा खाता क्रेडेंशियल प्रदान करें या उनका पता लगाएं:
- अपनी सेवा खाता कुंजी को ग्रैडल पास करने के लिए, अपनी
build.gradle
फ़ाइल में, संपत्तिserviceCredentialsFile
को निजी कुंजी JSON फ़ाइल पर सेट करें। एडीसी के साथ अपने क्रेडेंशियल्स का पता लगाने के लिए, पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
को निजी कुंजी JSON फ़ाइल के पथ पर सेट करें। उदाहरण के लिए:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
एडीसी के साथ प्रमाणीकरण के बारे में अधिक जानकारी के लिए, अपने आवेदन के लिए क्रेडेंशियल प्रदान करना पढ़ें।
- अपनी सेवा खाता कुंजी को ग्रैडल पास करने के लिए, अपनी
अपने प्रोजेक्ट को प्रमाणित करने के तरीके के बारे में निर्देशों के लिए Firebase CLI के साथ लॉग इन करें देखें।
चरण 3. अपने वितरण गुणों को कॉन्फ़िगर करें
अपनी
app/build.gradle
फ़ाइल में, कम से कम एकfirebaseAppDistribution
अनुभाग जोड़कर ऐप वितरण को कॉन्फ़िगर करें। उदाहरण के लिए,release
बिल्ड को परीक्षकों को वितरित करने के लिए:android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
ऐप वितरण को बिल्ड प्रकार और उत्पाद स्वाद के लिए कॉन्फ़िगर किया जा सकता है। उदाहरण के लिए, "डेमो" और "पूर्ण" उत्पाद स्वादों में
debug
औरrelease
बिल्ड वितरित करने के लिए:android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
वितरण को कॉन्फ़िगर करने के लिए निम्नलिखित मापदंडों का उपयोग करें:
ऐप डिस्ट्रीब्यूशन बिल्ड पैरामीटर्स | |
---|---|
appId | आपके ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी. केवल तभी आवश्यक है जब आपके पास Google Services Gradle प्लगइन स्थापित न हो। आप ऐप आईडी को appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | आपके सेवा खाते का पथ निजी कुंजी JSON फ़ाइल। केवल तभी आवश्यक है जब आप सेवा खाता प्रमाणीकरण का उपयोग करते हैं। |
artifactType | आपके ऐप का फ़ाइल प्रकार निर्दिष्ट करता है। |
artifactPath | आप जिस एपीके या एएबी फ़ाइल को अपलोड करना चाहते हैं, उसका पूर्ण पथ। |
releaseNotes या releaseNotesFile | इस निर्माण के लिए नोट जारी करें। आप या तो रिलीज़ नोट्स को सीधे निर्दिष्ट कर सकते हैं या एक सादा पाठ फ़ाइल का पथ निर्दिष्ट कर सकते हैं। |
testers या testersFile | जिन परीक्षकों को आप वितरित करना चाहते हैं उनके ईमेल पते बिल्ड हो जाते हैं। आप परीक्षकों को ईमेल पतों की अल्पविराम से अलग की गई सूची के रूप में निर्दिष्ट कर सकते हैं: testers="ali@example.com, bri@example.com, cal@example.com" या, आप ईमेल पतों की अल्पविराम से अलग की गई सूची वाली फ़ाइल का पथ निर्दिष्ट कर सकते हैं: testersFile="/path/to/testers.txt" |
groups या groupsFile | आप जिन परीक्षक समूहों को वितरित करना चाहते हैं, वे बनते हैं ( परीक्षकों को प्रबंधित करें देखें)। समूह का उपयोग करके निर्दिष्ट किया जाता है आप समूहों को समूह उपनामों की अल्पविराम से अलग की गई सूची के रूप में निर्दिष्ट कर सकते हैं: groups="qa-team, android-testers" या, आप समूह उपनामों की अल्पविराम से अलग की गई सूची वाली फ़ाइल का पथ निर्दिष्ट कर सकते हैं: groupsFile="/path/to/tester-groups.txt" |
stacktrace | उपयोगकर्ता अपवादों के लिए स्टैकट्रेस प्रिंट करता है। डीबगिंग समस्याओं के दौरान यह सहायक होता है। |
चरण 4. अपना ऐप परीक्षकों को वितरित करें
अंत में, अपने परीक्षण ऐप को पैकेज करने और परीक्षकों को आमंत्रित करने के लिए, लक्ष्य बनाएं
BUILD-VARIANT
VARIANT औरappDistributionUpload BUILD-VARIANT
अपने प्रोजेक्ट के ग्रैडल रैपर के साथ, जहां BUILD-VARIANT वैकल्पिक उत्पाद स्वाद और बिल्ड प्रकार है जिसे आपने पिछले चरण में कॉन्फ़िगर किया था। उत्पाद फ्लेवर के बारे में अधिक जानकारी के लिए, बिल्ड वेरिएंट कॉन्फ़िगर करें देखें।उदाहरण के लिए,
release
बिल्ड संस्करण का उपयोग करके अपने ऐप को वितरित करने के लिए, निम्न आदेश चलाएँ:./gradlew assembleRelease appDistributionUploadRelease
या, यदि आपने अपने Google खाते से प्रमाणित किया है और अपनी ग्रैडल बिल्ड फ़ाइल में क्रेडेंशियल प्रदान नहीं किया है, तो
FIREBASE_TOKEN
चर शामिल करें:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
आप
--<property-name>=<property-value>
के रूप में कमांड लाइन तर्क पारित करके अपनीbuild.gradle
फ़ाइल में सेट किए गए मानों को ओवरराइड भी कर सकते हैं। उदाहरण के लिए:डिबग बिल्ड को ऐप डिस्ट्रीब्यूशन में अपलोड करने के लिए:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
अपने Firebase प्रोजेक्ट से अतिरिक्त परीक्षकों को आमंत्रित करने या मौजूदा परीक्षकों को निकालने के लिए:
./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
आपके Firebase प्रोजेक्ट में परीक्षक जोड़े जाने के बाद, आप उन्हें अलग-अलग रिलीज़ में जोड़ सकते हैं। निकाले गए परीक्षकों के पास अब आपके प्रोजेक्ट में रिलीज़ की एक्सेस नहीं होगी, लेकिन वे कुछ समय के लिए आपकी रिलीज़ तक पहुंच बनाए रख सकते हैं।
आप --emails के बजाय
--emails
--file="/path/to/testers.txt"
का उपयोग करके भी परीक्षक निर्दिष्ट कर सकते हैं।appDistributionAddTesters
औरappDistributionRemoveTesters
कार्य भी निम्नलिखित तर्कों को स्वीकार करते हैं:प्रोजेक्टनंबर: आपका
projectNumber
प्रोजेक्ट नंबर।serviceCredentialsFile
: आपकी Google सेवा क्रेडेंशियल फ़ाइल का पथ। यह वही तर्क है जिसका उपयोग अपलोड कार्रवाई द्वारा किया जाता है।
एक बार जब आप अपना निर्माण वितरित कर देते हैं, तो यह 150 दिनों (पांच महीने) के लिए फायरबेस कंसोल के ऐप वितरण डैशबोर्ड में उपलब्ध हो जाता है। जब बिल्ड की समय-सीमा समाप्त होने के 30 दिन बाद होते हैं, तो कंसोल और आपके टेस्टर की उनके परीक्षण डिवाइस पर बिल्ड की सूची दोनों में एक समाप्ति सूचना दिखाई देती है।
जिन परीक्षकों को ऐप का परीक्षण करने के लिए आमंत्रित नहीं किया गया है, उन्हें आरंभ करने के लिए ईमेल आमंत्रण प्राप्त होते हैं, और मौजूदा परीक्षकों को ईमेल सूचनाएं प्राप्त होती हैं कि एक नया बिल्ड परीक्षण के लिए तैयार है (परीक्षण ऐप को कैसे स्थापित करें, इस पर निर्देशों के लिए परीक्षक सेट अप मार्गदर्शिका पढ़ें)। आप प्रत्येक परीक्षक की स्थिति की निगरानी कर सकते हैं-क्या उन्होंने आमंत्रण स्वीकार किया है और क्या उन्होंने ऐप डाउनलोड किया है-Firebase कंसोल में।
परीक्षकों के पास ऐप की समय-सीमा समाप्त होने से पहले उसका परीक्षण करने का आमंत्रण स्वीकार करने के लिए 30 दिन का समय होता है। जब किसी आमंत्रण की समय-सीमा समाप्त होने के 5 दिन होते हैं, तो रिलीज़ पर परीक्षक के बगल में Firebase कंसोल में एक समाप्ति सूचना दिखाई देती है। परीक्षक पंक्ति पर ड्रॉप-डाउन मेनू का उपयोग करके इसे फिर से भेजकर एक आमंत्रण का नवीनीकरण किया जा सकता है।
अगला कदम
ऐप बंडल रिलीज़ को चरण दर चरण वितरित करने का तरीका जानने के लिए Android ऐप बंडल कोडलैब पर जाएं।