App Distribution Gradle प्लग इन का इस्तेमाल करके, App Distribution को Android बिल्ड प्रोसेस में इंटिग्रेट किया जा सकता है. इस प्लग इन की मदद से, अपने ऐप्लिकेशन की Gradle फ़ाइल में टेस्टर और रिलीज़ नोट की जानकारी दी जा सकती है. साथ ही, अपने ऐप्लिकेशन के अलग-अलग बिल्ड टाइप और वैरिएंट के लिए डिस्ट्रिब्यूशन कॉन्फ़िगर किए जा सकते हैं.
इस गाइड में बताया गया है कि App Distribution Gradle प्लग इन.
शुरू करने से पहले
अगर आपने पहले से Firebase को नहीं जोड़ा है, तो अपने Android में Firebase जोड़ें प्रोजेक्ट.
अगर किसी अन्य Firebase प्रॉडक्ट का इस्तेमाल नहीं किया जा रहा है, तो आपको सिर्फ़ प्रोजेक्ट करें और अपना ऐप्लिकेशन रजिस्टर करें. हालांकि, अगर आपको सदस्यता के बजाय आने वाले समय में प्रॉडक्ट बेचने के लिए, पेज पर दिए गए सभी चरणों को पूरा करें ऊपर लिंक किया गया है.
पहला चरण. अपना Android प्रोजेक्ट सेट अप करना
अपनी रूट-लेवल (प्रोजेक्ट-लेवल) Gradle फ़ाइल (
<project>/build.gradle.kts
या<project>/build.gradle
) में, App Distribution 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.2" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "5.0.0" 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.2' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '5.0.0' apply false }
अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (आम तौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
) में, App Distribution 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' }
अगर आप किसी कॉर्पोरेट प्रॉक्सी या फ़ायरवॉल के पीछे हैं, तो यहां दी गई Java सिस्टम प्रॉपर्टी जोड़ें, ताकि App Distribution आपके डिस्ट्रिब्यूशन को Firebase पर अपलोड कर सके:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
दूसरा चरण. Firebase की मदद से पुष्टि करें
Gradle प्लग इन का इस्तेमाल करने से पहले, आपको अपने Firebase प्रोजेक्ट को इनमें से किसी एक तरीके से प्रोजेक्ट किया जा सकता है. अगर पुष्टि करने के लिए किसी दूसरे तरीके का इस्तेमाल नहीं किया जाता है, तो डिफ़ॉल्ट रूप से Gradle प्लग इन, Firebase सीएलआई से क्रेडेंशियल खोजता है.
चरण 3. डिस्ट्रिब्यूशन की अपनी प्रॉपर्टी कॉन्फ़िगर करना
आपके मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर) में
<project>/<app-module>/build.gradle.kts
या
<project>/<app-module>/build.gradle
), इसे जोड़कर App Distribution को कॉन्फ़िगर करें
कम से कम एक 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" } } } // ... }
App Distribution को इनके लिए कॉन्फ़िगर किया जा सकता है बिल्ड टाइप और प्रॉडक्ट के फ़्लेवर.
उदाहरण के लिए, 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" } } } // ... }
डिस्ट्रिब्यूशन को कॉन्फ़िगर करने के लिए, इन पैरामीटर का इस्तेमाल करें:
App Distribution बिल्ड पैरामीटर | |
---|---|
appId
|
आपके ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी. यह सिर्फ़ तब ज़रूरी है, जब आपने
Google Services Gradle प्लग इन इंस्टॉल न किया हो. ऐप्लिकेशन आईडी यहां देखा जा सकता है:
appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile
|
आपके सेवा खाते की निजी कुंजी की JSON फ़ाइल का पाथ. यह सिर्फ़ तब ज़रूरी है, जब सेवा खाते की पुष्टि करने की सुविधा का इस्तेमाल किया जा रहा हो. |
artifactType
|
यह आपके ऐप्लिकेशन का फ़ाइल टाइप बताता है. इस पर सेट किया जा सकता है
|
artifactPath
|
आपको जिस APK या AAB फ़ाइल को अपलोड करना है उसका ऐब्सलूट पाथ. |
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" |
testDevices या testDevicesFile |
यहां दिए गए डिस्ट्रिब्यूशन टाइप, ऑटोमेटेड टेस्टर की बीटा सुविधा का हिस्सा हैं. वे टेस्ट डिवाइस जिन पर आपको बिल्ड डिस्ट्रिब्यूट करने हैं (ऑटोमेटेड टेस्ट देखें). टेस्ट डिवाइसों की जानकारी, डिवाइस की ज़रूरी जानकारी के तौर पर दी जा सकती है. इसके लिए, सेमी-कोलन का इस्तेमाल करके डिवाइस की जानकारी को अलग-अलग किया जा सकता है: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" या फिर सेमीकोलन से अलग की गई फ़ाइल का पाथ बताया जा सकता है डिवाइस में मिलने वाली खास जानकारी की सूची: testDevicesFile="/path/to/testDevices.txt" |
testUsername |
ऑटोमेटेड टेस्ट के दौरान, अपने-आप लॉगिन करने के लिए इस्तेमाल किया जाने वाला उपयोगकर्ता नाम. |
testPassword या testPasswordFile |
ऑटोमेटेड टेस्ट के दौरान, अपने-आप लॉगिन करने के लिए इस्तेमाल किया जाने वाला पासवर्ड. या, आप पासवर्ड वाली सादी टेक्स्ट फ़ाइल का पाथ तय कर सकते हैं: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource |
ऑटोमेटेड टेस्ट के दौरान अपने-आप लॉगिन होने के लिए, उपयोगकर्ता नाम फ़ील्ड के संसाधन का नाम. |
testPasswordResource |
ऑटोमेटेड टेस्ट के दौरान अपने-आप लॉगिन होने के लिए, पासवर्ड फ़ील्ड के लिए संसाधन का नाम. |
testNonBlocking |
एसिंक्रोनस तरीके से ऑटोमेटेड टेस्ट चलाएं. अपने-आप होने वाली जांच के नतीजे देखने के लिए, Firebase कंसोल पर जाएं. |
stacktrace
|
उपयोगकर्ता से जुड़ी अपवादों के लिए स्टैक ट्रेस को प्रिंट करता है. यह सुविधा, समस्याओं को डीबग करने के दौरान मददगार होती है. |
चौथा चरण. टेस्टर को अपना ऐप्लिकेशन उपलब्ध कराना
आखिर में, अपने टेस्ट ऐप्लिकेशन को पैकेज करने और टेस्टर को न्योता देने के लिए, अपने प्रोजेक्ट के Gradle रैपर की मदद से टारगेट
BUILD-VARIANT
औरappDistributionUploadBUILD-VARIANT
बनाएं. यहां BUILD-VARIANT, वैकल्पिक प्रॉडक्ट फ़्लेवर और बिल्ड टाइप है, जिसे आपने पिछले चरण में कॉन्फ़िगर किया था. प्रॉडक्ट के फ़्लेवर के बारे में ज़्यादा जानकारी के लिए, देखें बिल्ड वैरिएंट कॉन्फ़िगर करें.उदाहरण के लिए,
release
बिल्ड वैरिएंट का इस्तेमाल करके अपना ऐप्लिकेशन डिस्ट्रिब्यूट करने के लिए, यह कमांड चलाएं:./gradlew assembleRelease appDistributionUploadRelease
इसके अलावा, अगर आपने Google खाते से पुष्टि की है और अपनी Gradle बिल्ड फ़ाइल में क्रेडेंशियल नहीं दिए हैं, तो
FIREBASE_TOKEN
वैरिएबल शामिल करें:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
आप पास करके अपनी
build.gradle
फ़ाइल में सेट किए गए मानों को भी ओवरराइड कर सकते हैं कमांड लाइन आर्ग्युमेंट--<property-name>=<property-value>
. उदाहरण के लिए:App Distribution में डीबग बिल्ड अपलोड करने के लिए:
./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
के बजाय--file="/path/to/testers.txt"
का इस्तेमाल करके भी टेस्टर की जानकारी दी जा सकती है.appDistributionAddTesters
औरappDistributionRemoveTesters
टास्क साथ ही निम्नलिखित तर्क स्वीकार करें:projectNumber
: आपका Firebase प्रोजेक्ट नंबर.serviceCredentialsFile
: Google की सेवा के क्रेडेंशियल वाली फ़ाइल का पाथ. अपलोड ऐक्शन के लिए इसी तर्क का इस्तेमाल किया जाता है.
रिलीज़ अपलोड होने के बाद, Gradle प्लग इन ये लिंक दिखाता है. इन लिंक की मदद से, बाइनरी को मैनेज किया जा सकता है. साथ ही, यह पक्का किया जा सकता है कि टेस्टर और दूसरे डेवलपर के पास सही रिलीज़ हो:
firebase_console_uri
- Firebase कंसोल का लिंक, जो सिंगल रिलीज़ किया गया. इस लिंक को यहां पर दूसरे डेवलपर के साथ शेयर किया जा सकता है संगठनtesting_uri
- टेस्टर के अनुभव (Android नेटिव ऐप्लिकेशन) में रिलीज़ का लिंक, जिससे टेस्टर रिलीज़ नोट देख सकते हैं और अपने डिवाइस पर ऐप्लिकेशन इंस्टॉल कर सकते हैं. लिंक का इस्तेमाल करने के लिए, टेस्टर के पास रिलीज़ का ऐक्सेस होना चाहिए.binary_download_uri
- हस्ताक्षर किया गया एक लिंक, जो सीधे तौर पर डाउनलोड करता है और ऐप्लिकेशन बाइनरी (APK या एएबी फ़ाइल) इंस्टॉल करता है. लिंक इस्तेमाल करने की समयसीमा एक घंटे में खत्म हो जाएगी.
अपना बिल्ड डिस्ट्रिब्यूट करने के बाद, वह Firebase कंसोल के App Distribution डैशबोर्ड में 150 दिनों (पांच महीने) तक उपलब्ध रहता है. जब बिल्ड की समयसीमा खत्म होने से 30 दिन का समय होता है, तो दोनों में समयसीमा खत्म होने की सूचना दिखती है कंसोल और आपके टेस्टर के टेस्ट डिवाइस पर बिल्ड की सूची.
जिन टेस्टर को ऐप्लिकेशन की जांच करने का न्योता नहीं मिला है उन्हें जांच शुरू करने के लिए ईमेल से न्योते मिलते हैं. साथ ही, मौजूदा टेस्टर को ईमेल से सूचनाएं मिलती हैं कि नया बिल्ड जांच के लिए तैयार है. जांच के लिए ऐप्लिकेशन इंस्टॉल करने के तरीके के बारे में जानने के लिए, टेस्टर सेट अप गाइड पढ़ें. Firebase कंसोल में जाकर, हर टेस्टर की स्थिति पर नज़र रखी जा सकती है. जैसे, उन्होंने न्योता स्वीकार किया है या नहीं और उन्होंने ऐप्लिकेशन डाउनलोड किया है या नहीं.
टेस्टर को 30 दिनों के अंदर, ऐप्लिकेशन की जांच करने का न्योता स्वीकार करना होगा. इसके बाद, ऐप्लिकेशन की समयसीमा खत्म हो जाएगी. न्योते की समयसीमा खत्म होने के पांच दिन पहले, Firebase कंसोल में रिलीज़ के बगल में, समयसीमा खत्म होने की सूचना दिखती है. न्योता टेस्टर की लाइन पर मौजूद ड्रॉप-डाउन मेन्यू का इस्तेमाल करके, उसे फिर से भेजकर रिन्यू किया जा सकता है.
अगले चरण
ऐप्लिकेशन में सुझाव लागू करें ताकि टेस्टर आपके ऐप्लिकेशन के बारे में आसानी से सुझाव/राय दे सकें या शिकायत कर सकें. इसमें ये भी शामिल हैं स्क्रीनशॉट).
अपने ऐप्लिकेशन के नए बिल्ड इंस्टॉल करने के लिए उपलब्ध होने पर, टेस्टर को ऐप्लिकेशन में सूचनाएं दिखाने का तरीका जानें.
ऐप्लिकेशन बंडल की रिलीज़ को सिलसिलेवार तरीके से डिस्ट्रिब्यूट करने का तरीका जानने के लिए, Android ऐप्लिकेशन बंडल कोडलैब पर जाएं.
सीआई/सीडी का इस्तेमाल करके, Android ऐप्लिकेशन को क्यूए टेस्टर को डिस्ट्रिब्यूट करने के सबसे सही तरीके जानें.