App Distribution को अपनी Android बिल्ड प्रोसेस में इंटिग्रेट करने के लिए, इनका इस्तेमाल करें: App Distribution 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 सेवाएं Gradle प्लग इन इंस्टॉल किया गया. ऐप्लिकेशन आईडी यहां देखा जा सकता है:
appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile
|
आपके सेवा खाते की निजी कुंजी वाली JSON फ़ाइल का पाथ. सिर्फ़ ज़रूरी है अगर आप सेवा खाते की पुष्टि करने की सुविधा का इस्तेमाल करते हैं. |
artifactType
|
यह आपके ऐप्लिकेशन का फ़ाइल टाइप बताता है. इस पर सेट किया जा सकता है
|
artifactPath
|
उस APK या एएबी फ़ाइल का ऐब्सलूट पाथ जिसे आपको अपलोड करना है. |
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
|
यह उपयोगकर्ता अपवादों के लिए स्टैकट्रेस को प्रिंट करता है. यह तब मददगार होता है, जब डीबग करने से जुड़ी समस्याएं. |
चौथा चरण. टेस्टर को अपना ऐप्लिकेशन उपलब्ध कराना
आखिर में, अपने टेस्ट ऐप्लिकेशन को पैकेज करने और टेस्टर को न्योता भेजने के लिए, टारगेट बनाएं
BUILD-VARIANT
औरappDistributionUploadBUILD-VARIANT
को अपने प्रोजेक्ट का Gradle रैपर, जहां 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 प्रोजेक्ट में जोड़ने के बाद, उसे इसमें जोड़ा जा सकता है रिलीज़ कर सकें. जिन टेस्टर को हटाया गया है वे अब इन्हें ऐक्सेस नहीं कर पाएंगे रिलीज़ होने के बावजूद, अपनी रिलीज़ का ऐक्सेस बनाए रख सकते हैं. को हाइलाइट किया जाता है.
इसके बजाय,
--file="/path/to/testers.txt"
का इस्तेमाल करके भी टेस्टर तय किए जा सकते हैं--emails
.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 ऐप्लिकेशन बंडल कोडलैब पर जाएं ऐप्लिकेशन बंडल की रिलीज़ को सिलसिलेवार तरीके से उपलब्ध कराने का तरीका जानने के लिए.
सीआई/सीडी का इस्तेमाल करके, QA जांच करने वाले लोगों को Android ऐप्लिकेशन उपलब्ध कराने के सबसे सही तरीके जानें.