आप ऐप डिस्ट्रीब्यूशन ग्रेडल प्लगइन का उपयोग करके ऐप डिस्ट्रीब्यूशन को अपने एंड्रॉइड बिल्ड प्रक्रिया में एकीकृत कर सकते हैं। प्लगइन आपको अपने परीक्षकों को निर्दिष्ट करने और अपने ऐप की ग्रैडल फ़ाइल में नोट्स जारी करने की सुविधा देता है, जिससे आप अपने ऐप के विभिन्न बिल्ड प्रकारों और वेरिएंट के लिए वितरण कॉन्फ़िगर कर सकते हैं।
यह मार्गदर्शिका बताती है कि ऐप डिस्ट्रीब्यूशन ग्रैडल प्लगइन का उपयोग करके परीक्षकों को एपीके कैसे वितरित किया जाए।
शुरू करने से पहले
यदि आपने पहले से नहीं किया है, तो अपने एंड्रॉइड प्रोजेक्ट में फायरबेस जोड़ें ।
यदि आप किसी अन्य फायरबेस उत्पाद का उपयोग नहीं कर रहे हैं, तो आपको केवल एक प्रोजेक्ट बनाना होगा और अपना ऐप पंजीकृत करना होगा। हालाँकि, यदि आप भविष्य में अतिरिक्त उत्पादों का उपयोग करने का निर्णय लेते हैं, तो ऊपर लिंक किए गए पृष्ठ पर सभी चरणों को पूरा करना सुनिश्चित करें।
चरण 1. अपना Android प्रोजेक्ट सेट करें
अपने रूट-लेवल (प्रोजेक्ट-लेवल) ग्रैडल फ़ाइल (
<project>/build.gradle.kts
या<project>/build.gradle
) में, ऐप डिस्ट्रीब्यूशन ग्रैडल प्लगइन को एक निर्भरता के रूप में जोड़ें:Kotlin
plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.0" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "4.0.1" apply false }
Groovy
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.0' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '4.0.1' apply false }
अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में (आमतौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
), ऐप डिस्ट्रीब्यूशन ग्रैडल प्लगइन जोड़ें:Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' }
यदि आप कॉर्पोरेट प्रॉक्सी या फ़ायरवॉल के पीछे हैं, तो निम्नलिखित जावा सिस्टम प्रॉपर्टी जोड़ें जो ऐप डिस्ट्रीब्यूशन को आपके वितरण को फ़ायरबेस पर अपलोड करने में सक्षम बनाता है:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
चरण 2. फायरबेस से प्रमाणित करें
इससे पहले कि आप ग्रैडल प्लगइन का उपयोग कर सकें, आपको पहले अपने फायरबेस प्रोजेक्ट को निम्नलिखित में से किसी एक तरीके से प्रमाणित करना होगा। डिफ़ॉल्ट रूप से, यदि कोई अन्य प्रमाणीकरण विधि का उपयोग नहीं किया जाता है, तो ग्रैडल प्लगइन फायरबेस सीएलआई से क्रेडेंशियल ढूंढता है।
सेवा खाते से प्रमाणीकरण करने से आप अपने सतत एकीकरण (सीआई) सिस्टम के साथ प्लगइन का लचीले ढंग से उपयोग कर सकते हैं। सेवा खाता क्रेडेंशियल प्रदान करने के दो तरीके हैं:
- अपनी सेवा खाता कुंजी फ़ाइल को
build.gradle
पर पास करें। यदि आपके पास पहले से ही आपके बिल्ड वातावरण में आपकी सेवा खाता कुंजी फ़ाइल है तो आपको यह विधि सुविधाजनक लग सकती है। - अपनी सेवा खाता कुंजी फ़ाइल को इंगित करने के लिए पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
सेट करें। यदि आपके पास पहले से ही किसी अन्य Google सेवा (जैसे, Google क्लाउड) के लिए एप्लिकेशन डिफॉल्ट क्रेडेंशियल (ADC) कॉन्फ़िगर है, तो आप इस पद्धति को प्राथमिकता दे सकते हैं।
सेवा खाता क्रेडेंशियल का उपयोग करके प्रमाणित करने के लिए:
- Google क्लाउड कंसोल पर, अपना प्रोजेक्ट चुनें और एक नया सेवा खाता बनाएं।
- फायरबेस ऐप डिस्ट्रीब्यूशन एडमिन भूमिका जोड़ें।
- एक निजी json कुंजी बनाएं और कुंजी को अपने निर्माण परिवेश के लिए पहुंच योग्य स्थान पर ले जाएं। इस फ़ाइल को कहीं सुरक्षित रखना सुनिश्चित करें , क्योंकि यह आपके फायरबेस प्रोजेक्ट में ऐप वितरण तक व्यवस्थापक पहुंच प्रदान करता है।
- यदि आपने 20 सितंबर, 2019 के बाद अपना ऐप बनाया है तो इस चरण को छोड़ दें: Google एपीआई कंसोल में, फायरबेस ऐप वितरण एपीआई को सक्षम करें। संकेत मिलने पर, अपने फायरबेस प्रोजेक्ट के समान नाम वाला प्रोजेक्ट चुनें।
अपने सेवा खाते के क्रेडेंशियल प्रदान करें या पता लगाएं:
- ग्रैडल को अपनी सेवा खाता कुंजी पास करने के लिए, अपनी
build.gradle
फ़ाइल में, संपत्तिserviceCredentialsFile
को निजी कुंजी JSON फ़ाइल पर सेट करें। ADC के साथ अपने क्रेडेंशियल्स का पता लगाने के लिए, निजी कुंजी JSON फ़ाइल के पथ पर पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
सेट करें। उदाहरण के लिए:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
एडीसी के साथ प्रमाणीकरण के बारे में अधिक जानकारी के लिए, अपने आवेदन में क्रेडेंशियल प्रदान करना पढ़ें।
- ग्रैडल को अपनी सेवा खाता कुंजी पास करने के लिए, अपनी
अपने प्रोजेक्ट को प्रमाणित करने के निर्देशों के लिए फायरबेस सीएलआई के साथ लॉग इन करें देखें।
चरण 3. अपने वितरण गुणों को कॉन्फ़िगर करें
आपके मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में (आमतौर पर <project>/<app-module>/build.gradle.kts
या <project>/<app-module>/build.gradle
), कम से कम जोड़कर ऐप वितरण को कॉन्फ़िगर करें एक firebaseAppDistribution
अनुभाग।
उदाहरण के लिए, परीक्षकों को release
बिल्ड वितरित करने के लिए, इन निर्देशों का पालन करें::
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "APK" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Groovy
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
आप बिल्ड प्रकार और उत्पाद स्वाद के लिए ऐप वितरण को कॉन्फ़िगर कर सकते हैं।
उदाहरण के लिए, "डेमो" और "पूर्ण" उत्पाद फ्लेवर में debug
और release
बिल्ड वितरित करने के लिए, इन निर्देशों का पालन करें:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
Groovy
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 | आपके ऐप की फायरबेस ऐप आईडी। केवल तभी आवश्यक है जब आपके पास 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
और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"
अतिरिक्त परीक्षकों को आमंत्रित करने या मौजूदा परीक्षकों को अपने फायरबेस प्रोजेक्ट से हटाने के लिए:
./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
एक बार आपके फायरबेस प्रोजेक्ट में एक परीक्षक जुड़ जाने के बाद, आप उन्हें अलग-अलग रिलीज़ में जोड़ सकते हैं। जिन परीक्षकों को हटा दिया गया है, उनके पास अब आपके प्रोजेक्ट में रिलीज़ तक पहुंच नहीं होगी, लेकिन फिर भी वे कुछ समय के लिए आपकी रिलीज़ तक पहुंच बनाए रख सकते हैं।
आप
--emails
के बजाय--file="/path/to/testers.txt"
का उपयोग करके भी परीक्षक निर्दिष्ट कर सकते हैं।appDistributionAddTesters
औरappDistributionRemoveTesters
कार्य भी निम्नलिखित तर्क स्वीकार करते हैं:projectNumber
: आपका फायरबेस प्रोजेक्ट नंबर।serviceCredentialsFile
: आपकी Google सेवा क्रेडेंशियल फ़ाइल का पथ। यह वही तर्क है जिसका उपयोग अपलोड कार्रवाई द्वारा किया जाता है।
ग्रैडल प्लगइन रिलीज़ अपलोड के बाद निम्नलिखित लिंक आउटपुट करता है। ये लिंक आपको बायनेरिज़ प्रबंधित करने में मदद करते हैं और यह सुनिश्चित करते हैं कि परीक्षकों और अन्य डेवलपर्स के पास सही रिलीज़ है:
-
firebase_console_uri
- एकल रिलीज प्रदर्शित करने वाले फायरबेस कंसोल का एक लिंक। आप इस लिंक को अपने संगठन के अन्य डेवलपर्स के साथ साझा कर सकते हैं। -
testing_uri
- परीक्षक अनुभव (एंड्रॉइड मूल ऐप) में रिलीज़ का एक लिंक जो परीक्षकों को रिलीज़ नोट्स देखने और ऐप को उनके डिवाइस पर इंस्टॉल करने देता है। लिंक का उपयोग करने के लिए परीक्षक को रिलीज़ तक पहुंच की आवश्यकता होती है। -
binary_download_uri
- एक हस्ताक्षरित लिंक जो सीधे ऐप बाइनरी (एपीके या एएबी फ़ाइल) को डाउनलोड और इंस्टॉल करता है। लिंक एक घंटे के बाद समाप्त हो जाता है.
एक बार जब आप अपना बिल्ड वितरित कर देते हैं, तो यह 150 दिनों (पांच महीने) के लिए फायरबेस कंसोल के ऐप डिस्ट्रीब्यूशन डैशबोर्ड में उपलब्ध हो जाता है। जब बिल्ड की समाप्ति तिथि 30 दिन रह जाती है, तो कंसोल और आपके परीक्षक की उनके परीक्षण डिवाइस पर बिल्ड की सूची में एक समाप्ति सूचना दिखाई देती है।
जिन परीक्षकों को ऐप का परीक्षण करने के लिए आमंत्रित नहीं किया गया है, उन्हें आरंभ करने के लिए ईमेल आमंत्रण प्राप्त होते हैं, और मौजूदा परीक्षकों को ईमेल सूचनाएं प्राप्त होती हैं कि एक नया निर्माण परीक्षण के लिए तैयार है (परीक्षण ऐप इंस्टॉल करने के निर्देशों के लिए परीक्षक सेट अप गाइड पढ़ें)। आप फायरबेस कंसोल में प्रत्येक परीक्षक की स्थिति की निगरानी कर सकते हैं - कि क्या उन्होंने निमंत्रण स्वीकार किया है और क्या उन्होंने ऐप डाउनलोड किया है।
ऐप की समय सीमा समाप्त होने से पहले उसका परीक्षण करने के लिए परीक्षकों के पास निमंत्रण स्वीकार करने के लिए 30 दिन का समय होता है। जब किसी आमंत्रण की समाप्ति से 5 दिन शेष होते हैं, तो रिलीज़ पर परीक्षक के बगल में फायरबेस कंसोल में एक समाप्ति सूचना दिखाई देती है। किसी आमंत्रण को परीक्षक पंक्ति पर ड्रॉप-डाउन मेनू का उपयोग करके पुनः भेजकर नवीनीकृत किया जा सकता है।
अगले कदम
परीक्षकों के लिए आपके ऐप के बारे में फीडबैक (स्क्रीनशॉट सहित) भेजना आसान बनाने के लिए इन-ऐप फीडबैक लागू करें।
जानें कि जब आपके ऐप के नए बिल्ड इंस्टॉल करने के लिए उपलब्ध हों तो अपने परीक्षकों को इन-ऐप अलर्ट कैसे प्रदर्शित करें।
ऐप बंडल रिलीज़ को चरण दर चरण वितरित करने का तरीका जानने के लिए एंड्रॉइड ऐप बंडल कोडलैब पर जाएँ।
सीआई/सीडी का उपयोग करके क्यूए परीक्षकों को एंड्रॉइड ऐप्स वितरित करने की सर्वोत्तम प्रक्रियाएं जानें।
आप ऐप डिस्ट्रीब्यूशन ग्रेडल प्लगइन का उपयोग करके ऐप डिस्ट्रीब्यूशन को अपने एंड्रॉइड बिल्ड प्रक्रिया में एकीकृत कर सकते हैं। प्लगइन आपको अपने परीक्षकों को निर्दिष्ट करने और अपने ऐप की ग्रैडल फ़ाइल में नोट्स जारी करने की सुविधा देता है, जिससे आप अपने ऐप के विभिन्न बिल्ड प्रकारों और वेरिएंट के लिए वितरण कॉन्फ़िगर कर सकते हैं।
यह मार्गदर्शिका बताती है कि ऐप डिस्ट्रीब्यूशन ग्रैडल प्लगइन का उपयोग करके परीक्षकों को एपीके कैसे वितरित किया जाए।
शुरू करने से पहले
यदि आपने पहले से नहीं किया है, तो अपने एंड्रॉइड प्रोजेक्ट में फायरबेस जोड़ें ।
यदि आप किसी अन्य फायरबेस उत्पाद का उपयोग नहीं कर रहे हैं, तो आपको केवल एक प्रोजेक्ट बनाना होगा और अपना ऐप पंजीकृत करना होगा। हालाँकि, यदि आप भविष्य में अतिरिक्त उत्पादों का उपयोग करने का निर्णय लेते हैं, तो ऊपर लिंक किए गए पृष्ठ पर सभी चरणों को पूरा करना सुनिश्चित करें।
चरण 1. अपना Android प्रोजेक्ट सेट करें
अपने रूट-लेवल (प्रोजेक्ट-लेवल) ग्रैडल फ़ाइल (
<project>/build.gradle.kts
या<project>/build.gradle
) में, ऐप डिस्ट्रीब्यूशन ग्रैडल प्लगइन को एक निर्भरता के रूप में जोड़ें:Kotlin
plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.0" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "4.0.1" apply false }
Groovy
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.0' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '4.0.1' apply false }
अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में (आमतौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
), ऐप डिस्ट्रीब्यूशन ग्रैडल प्लगइन जोड़ें:Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' }
यदि आप कॉर्पोरेट प्रॉक्सी या फ़ायरवॉल के पीछे हैं, तो निम्नलिखित जावा सिस्टम प्रॉपर्टी जोड़ें जो ऐप डिस्ट्रीब्यूशन को आपके वितरण को फ़ायरबेस पर अपलोड करने में सक्षम बनाता है:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
चरण 2. फायरबेस से प्रमाणित करें
इससे पहले कि आप ग्रैडल प्लगइन का उपयोग कर सकें, आपको पहले अपने फायरबेस प्रोजेक्ट को निम्नलिखित में से किसी एक तरीके से प्रमाणित करना होगा। डिफ़ॉल्ट रूप से, यदि कोई अन्य प्रमाणीकरण विधि का उपयोग नहीं किया जाता है, तो ग्रैडल प्लगइन फायरबेस सीएलआई से क्रेडेंशियल ढूंढता है।
सेवा खाते से प्रमाणीकरण करने से आप अपने सतत एकीकरण (सीआई) सिस्टम के साथ प्लगइन का लचीले ढंग से उपयोग कर सकते हैं। सेवा खाता क्रेडेंशियल प्रदान करने के दो तरीके हैं:
- अपनी सेवा खाता कुंजी फ़ाइल को
build.gradle
पर पास करें। यदि आपके पास पहले से ही आपके बिल्ड वातावरण में आपकी सेवा खाता कुंजी फ़ाइल है तो आपको यह विधि सुविधाजनक लग सकती है। - अपनी सेवा खाता कुंजी फ़ाइल को इंगित करने के लिए पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
सेट करें। यदि आपके पास पहले से ही किसी अन्य Google सेवा (जैसे, Google क्लाउड) के लिए एप्लिकेशन डिफॉल्ट क्रेडेंशियल (ADC) कॉन्फ़िगर है, तो आप इस पद्धति को प्राथमिकता दे सकते हैं।
सेवा खाता क्रेडेंशियल का उपयोग करके प्रमाणित करने के लिए:
- Google क्लाउड कंसोल पर, अपना प्रोजेक्ट चुनें और एक नया सेवा खाता बनाएं।
- फायरबेस ऐप डिस्ट्रीब्यूशन एडमिन भूमिका जोड़ें।
- एक निजी json कुंजी बनाएं और कुंजी को अपने निर्माण परिवेश के लिए पहुंच योग्य स्थान पर ले जाएं। इस फ़ाइल को कहीं सुरक्षित रखना सुनिश्चित करें , क्योंकि यह आपके फायरबेस प्रोजेक्ट में ऐप वितरण तक व्यवस्थापक पहुंच प्रदान करता है।
- यदि आपने 20 सितंबर, 2019 के बाद अपना ऐप बनाया है तो इस चरण को छोड़ दें: Google एपीआई कंसोल में, फायरबेस ऐप वितरण एपीआई को सक्षम करें। संकेत मिलने पर, अपने फायरबेस प्रोजेक्ट के समान नाम वाला प्रोजेक्ट चुनें।
अपने सेवा खाते के क्रेडेंशियल प्रदान करें या पता लगाएं:
- ग्रैडल को अपनी सेवा खाता कुंजी पास करने के लिए, अपनी
build.gradle
फ़ाइल में, संपत्तिserviceCredentialsFile
को निजी कुंजी JSON फ़ाइल पर सेट करें। ADC के साथ अपने क्रेडेंशियल्स का पता लगाने के लिए, निजी कुंजी JSON फ़ाइल के पथ पर पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
सेट करें। उदाहरण के लिए:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
एडीसी के साथ प्रमाणीकरण के बारे में अधिक जानकारी के लिए, अपने आवेदन में क्रेडेंशियल प्रदान करना पढ़ें।
- ग्रैडल को अपनी सेवा खाता कुंजी पास करने के लिए, अपनी
अपने प्रोजेक्ट को प्रमाणित करने के निर्देशों के लिए फायरबेस सीएलआई के साथ लॉग इन करें देखें।
चरण 3. अपने वितरण गुणों को कॉन्फ़िगर करें
आपके मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में (आमतौर पर <project>/<app-module>/build.gradle.kts
या <project>/<app-module>/build.gradle
), कम से कम जोड़कर ऐप वितरण को कॉन्फ़िगर करें एक firebaseAppDistribution
अनुभाग।
उदाहरण के लिए, परीक्षकों को release
बिल्ड वितरित करने के लिए, इन निर्देशों का पालन करें::
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "APK" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Groovy
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
आप बिल्ड प्रकार और उत्पाद स्वाद के लिए ऐप वितरण को कॉन्फ़िगर कर सकते हैं।
उदाहरण के लिए, "डेमो" और "पूर्ण" उत्पाद फ्लेवर में debug
और release
बिल्ड वितरित करने के लिए, इन निर्देशों का पालन करें:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
Groovy
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 | आपके ऐप की फायरबेस ऐप आईडी। केवल तभी आवश्यक है जब आपके पास 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
और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
आप अपने
build.gradle
फ़ाइल में निर्धारित मानों को भी ओवरराइड कर सकते हैं--<property-name>=<property-value>
उदाहरण के लिए:ऐप डिस्ट्रीब्यूशन के लिए डिबग बिल्ड अपलोड करने के लिए:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
अतिरिक्त परीक्षकों को आमंत्रित करने या अपने फायरबेस प्रोजेक्ट से मौजूदा परीक्षकों को हटाने के लिए:
./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
एक बार जब एक परीक्षक को आपके फायरबेस प्रोजेक्ट में जोड़ा गया है, तो आप उन्हें व्यक्तिगत रिलीज़ में जोड़ सकते हैं। जिन परीक्षकों को हटा दिया जाता है, उन्हें अब आपके प्रोजेक्ट में रिलीज़ तक पहुंच नहीं मिलेगी, लेकिन अभी भी समय की खिड़की के लिए आपकी रिलीज़ तक पहुंच बनाए रख सकते हैं।
आप परीक्षकों को भी निर्दिष्ट कर सकते हैं
--file="/path/to/testers.txt"
के बजाय--emails
का उपयोग करके।appDistributionAddTesters
औरappDistributionRemoveTesters
कार्य भी निम्नलिखित तर्कों को स्वीकार करते हैं:projectNumber
: आपका फायरबेस प्रोजेक्ट नंबर।serviceCredentialsFile
: आपकी Google सेवा क्रेडेंशियल्स फ़ाइल का मार्ग। यह वही तर्क है जिसका उपयोग अपलोड कार्रवाई द्वारा किया जाता है।
ग्रेडल प्लगइन रिलीज़ अपलोड के बाद निम्न लिंक को आउटपुट करता है। ये लिंक आपको बायनेरिज़ का प्रबंधन करने में मदद करते हैं और यह सुनिश्चित करते हैं कि परीक्षकों और अन्य डेवलपर्स को सही रिलीज है:
-
firebase_console_uri
- एक एकल रिलीज़ प्रदर्शित करने वाले फायरबेस कंसोल का एक लिंक। आप इस लिंक को अन्य डेवलपर्स के साथ अपने org में साझा कर सकते हैं। -
testing_uri
- परीक्षक अनुभव (एंड्रॉइड नेटिव ऐप) में रिलीज का एक लिंक जो परीक्षकों को रिलीज़ नोट्स देखने और उनके डिवाइस पर ऐप को इंस्टॉल करने देता है। लिंक का उपयोग करने के लिए परीक्षक को रिलीज तक पहुंच की आवश्यकता होती है। -
binary_download_uri
- एक हस्ताक्षरित लिंक जो सीधे डाउनलोड करता है और ऐप बाइनरी (APK या AAB फ़ाइल) को इंस्टॉल करता है। लिंक एक घंटे के बाद समाप्त हो जाता है।
एक बार जब आप अपना निर्माण वितरित करते हैं, तो यह 150 दिनों (पांच महीने) के लिए फायरबेस कंसोल के ऐप डिस्ट्रीब्यूशन डैशबोर्ड में उपलब्ध हो जाता है। जब निर्माण समाप्त होने से 30 दिन का होता है, तो एक समाप्ति नोटिस कंसोल और आपके परीक्षक दोनों में उनके परीक्षण डिवाइस पर बिल्ड की सूची में दिखाई देता है।
जिन परीक्षकों को ऐप का परीक्षण करने के लिए आमंत्रित नहीं किया गया है, वे आरंभ करने के लिए ईमेल निमंत्रण प्राप्त करते हैं, और मौजूदा परीक्षकों को ईमेल सूचनाएं प्राप्त होती हैं कि एक नया बिल्ड परीक्षण करने के लिए तैयार है (परीक्षण ऐप को इंस्टॉल करने के तरीके के निर्देशों के लिए टेस्टर सेट अप गाइड पढ़ें)। आप प्रत्येक परीक्षक की स्थिति की निगरानी कर सकते हैं-क्या उन्होंने निमंत्रण स्वीकार किया और क्या उन्होंने फायरबेस कंसोल में ऐप डाउनलोड किया था।
परीक्षकों के पास समाप्त होने से पहले ऐप का परीक्षण करने के लिए एक निमंत्रण स्वीकार करने के लिए 30 दिन हैं। जब एक निमंत्रण समाप्त होने से 5 दिन का होता है, तो एक रिलीज पर परीक्षक के बगल में फायरबेस कंसोल में एक समाप्ति नोटिस दिखाई देता है। परीक्षक पंक्ति पर ड्रॉप-डाउन मेनू का उपयोग करके इसे बचाने के द्वारा एक निमंत्रण को नवीनीकृत किया जा सकता है।
अगले कदम
अपने ऐप (स्क्रीनशॉट सहित) के बारे में प्रतिक्रिया भेजने के लिए परीक्षकों के लिए आसान बनाने के लिए इन-ऐप फीडबैक को लागू करें।
जब आपके ऐप के नए बिल्ड इंस्टॉल करने के लिए उपलब्ध हों, तो अपने परीक्षकों को इन-ऐप अलर्ट प्रदर्शित करें।
Android App Bundle Codelab पर जाएं, यह जानने के लिए कि ऐप बंडल रिलीज़ स्टेप द्वारा कैसे वितरित किया जाए।
CI/CD का उपयोग करके QA परीक्षकों को Android ऐप वितरित करने के लिए सर्वोत्तम प्रथाओं को जानें।