इस दस्तावेज़ में, Firebase App Distribution का इस्तेमाल करने के सबसे सही तरीकों के बारे में बताया गया है. इनकी मदद से, CI/CD एनवायरमेंट में Android के प्री-रिलीज़ टेस्टिंग वर्कफ़्लो को बनाए रखा जा सकता है और उसे दोहराया जा सकता है. इनमें Gradle और fastlane जैसे समाधान शामिल हैं. हालांकि, हम आपको और भी ज़्यादा फ़्लेक्सिबिलिटी देने के लिए Firebase console, Firebase CLI, और सार्वजनिक Firebase App Distribution API के ज़रिए उपलब्ध समाधान भी देते हैं. हम रिलीज़ और टेस्टर की सीमाओं के बारे में भी बताते हैं, ताकि आपको बेहतर अनुभव मिल सके.
अगर Apple प्लैटफ़ॉर्म का भी इस्तेमाल किया जा रहा है, तो CI/CD और fastlane का इस्तेमाल करके, क्वालिटी अश्योरेंस (QA) टेस्टर को Apple के ऐप्लिकेशन डिस्ट्रिब्यूट करने के सबसे सही तरीके लेख पढ़ें.
शुरू करने से पहले
इस दस्तावेज़ में बताए गए सबसे सही तरीकों को लागू करने से पहले, पक्का करें कि आपने App Distribution के लिए, Firebase console में हर ऐप्लिकेशन की सुविधा चालू की हो. अगर आपने सुविधा चालू नहीं की है, तो आपको 404 गड़बड़ी दिखेगी.App Distribution
App Distribution की सुविधा चालू करने के लिए, यह तरीका अपनाएं:
- Firebase console में, App Distribution page खोलें.
- अपना Android ऐप्लिकेशन चुनें.
- शुरू करें पर क्लिक करें.
Android ऐप्लिकेशन बंडल (एएबी) अब Android पैकेज का सबसे आम फ़ॉर्मैट बन रहे हैं. इसलिए, हमारा सुझाव है कि अपने टेस्टर को एएबी डिस्ट्रिब्यूट करने की सुविधा सेट अप करें Google Play.
CI/CD पाइपलाइन का इस्तेमाल करके, प्री-रिलीज़ टेस्टिंग वर्कफ़्लो को ऑटोमेट करना
अगर आपको अपने टेस्टर के लिए ऐप्लिकेशन बनाने और उन्हें रिलीज़ करने की प्रोसेस को ऑटोमेट करना है और आप CI/CD का इस्तेमाल कर रहे हैं, तो हमारा सुझाव है कि आप fastlane या Gradle का इस्तेमाल करें. एक और विकल्प है Firebase CLI का इस्तेमाल करना, इससे आपको Firebase के कई प्रॉडक्ट ऐक्सेस करने की सुविधा मिलती है.
fastlane का इस्तेमाल करना
fastlane का इस्तेमाल करके, App Distribution को अपने CI/CD पाइपलाइन में इंटिग्रेट करें. fastlane एक ओपन सोर्स टूल है, जो iOS और Android ऐप्लिकेशन बनाने और उन्हें रिलीज़ करने की प्रोसेस को ऑटोमेट करता है. अपने टेस्टर के लिए, नए वर्शन को अपने-आप बनाने और डिस्ट्रिब्यूट करने से, यह पक्का किया जा सकता है कि टेस्टर के पास हमेशा आपके ऐप्लिकेशन का सबसे नया टेस्ट वर्शन हो.
App Distribution को fastlane के साथ इंटिग्रेट करने का तरीका जानने के लिए, fastlane का इस्तेमाल करके, Android ऐप्लिकेशन को टेस्टर के साथ डिस्ट्रिब्यूट करना लेख पढ़ें.
Gradle का इस्तेमाल करना
App Distribution Gradle प्लग-इन का इस्तेमाल करके, App Distribution को अपने Android बिल्ड प्रोसेस में इंटिग्रेट करने के लिए, Gradle का इस्तेमाल करें.App Distribution इस प्लग-इन की मदद से, अपने ऐप्लिकेशन की build.gradle फ़ाइल में टेस्टर और रिलीज़ नोट तय किए जा सकते हैं. इससे, आपके ऐप्लिकेशन के अलग-अलग बिल्ड टाइप और वैरिएंट के लिए डिस्ट्रिब्यूशन कॉन्फ़िगर किए जा सकते हैं.
App Distribution को Gradle के साथ इंटिग्रेट करने का तरीका जानने के लिए, Gradle का इस्तेमाल करके, Android ऐप्लिकेशन को टेस्टर के साथ डिस्ट्रिब्यूट करना लेख पढ़ें.
Firebase CLI का इस्तेमाल करना
App Distribution के ज़रिए उपलब्ध कराए गए Firebase CLI टूल का इस्तेमाल करके, प्रोग्राम के ज़रिए बिल्ड को टेस्टर के साथ डिस्ट्रिब्यूट करें. किसी बिल्ड के लिए, टेस्टर और रिलीज़ नोट तय किए जा सकते हैं.
ऐप्लिकेशन का Firebase App ID तय करके, Android के नए बिल्ड को डिस्ट्रिब्यूट करें. इसके अलावा, रिलीज़ नोट और टेस्टर के ईमेल पते वाली फ़ाइल भी जोड़ी जा सकती है:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
बिल्ड को ऑटोमेट करने के लिए, Firebase CLI का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, देखें Firebase CLI का इस्तेमाल करके, Android ऐप्लिकेशन को टेस्टर के साथ डिस्ट्रिब्यूट करना.
पुष्टि करने के लिए, सेवा खाते के क्रेडेंशियल का इस्तेमाल करना
सेवा खातों के साथ, App Distribution fastlane प्लग-इन, Gradle प्लग-इन, या Firebase CLI का इस्तेमाल करें. एक सेवा खाता Google खाते का एक टाइप है. यह उपयोगकर्ताओं के बजाय, ऐप्लिकेशन के लिए होता है. आपका CI सिस्टम, आपके App Distribution वर्कलोड को चलाने के लिए, सेवा खातों का इस्तेमाल कर सकता है. ज़्यादा जानने के लिए, सेवा खाते से पुष्टि करना लेख पढ़ें.
अगर वर्कलोड आइडेंटिटी फ़ेडरेशन का इस्तेमाल किया जा रहा है, तो सेवा खाते की कुंजी के बजाय, क्रेडेंशियल कॉन्फ़िगरेशन फ़ाइल जनरेट और इस्तेमाल की जा सकती है.
रिलीज़ की सीमाओं के बारे में ध्यान रखना
App Distribution हर ऐप्लिकेशन के लिए ज़्यादा से ज़्यादा 1,000 रिलीज़ को सपोर्ट करता है. इसका मतलब है कि रिलीज़ की सीमा पार होने पर, App Distribution सीमा से ज़्यादा की सबसे पुरानी रिलीज़ को अपने-आप मिटा देता है. रिलीज़ की सीमाओं को मैनेज करने का तरीका जानने के लिए, ऐप्लिकेशन की रिलीज़ कितने समय तक उपलब्ध रहती हैं?
एक ही सेट के टेस्टर को कई रिलीज़ में जोड़ना
अगर आपको अपनी रिलीज़ में ज़्यादा संख्या में टेस्टर जोड़ने हैं, तो App Distribution की, बल्क में टेस्टर मैनेज करने की सुविधा का इस्तेमाल करें.
हमारा सुझाव है कि एक ही सेट के टेस्टर को कई रिलीज़ में जोड़ने के लिए, ग्रुप का इस्तेमाल करें. ग्रुप, ऐक्सेस कंट्रोल लिस्ट की तरह काम करता है. किसी टेस्टर को ग्रुप से हटाने पर, उसके पास उस ग्रुप को डिस्ट्रिब्यूट की गई सभी रिलीज़ का ऐक्सेस नहीं रहता. ज़्यादा जानने के लिए, किसी ग्रुप में टेस्टर जोड़ना और हटाना लेख पढ़ें.
अगर आपको कई टेस्टर मैनेज करने हैं, तो आप बल्क में टेस्टर जोड़ और मिटा सकते हैं Firebase console का इस्तेमाल करके. टेस्टर को जोड़ने और हटाने की प्रोसेस को ऑटोमेट करने के लिए, Firebase CLI, fastlane, Gradle, या सार्वजनिक Firebase App Distribution API का इस्तेमाल करें.
टेस्टर की सीमाओं के बारे में ध्यान रखना
App Distribution किसी Firebase प्रोजेक्ट या किसी App Distribution ग्रुप में जोड़े जा सकने वाले टेस्टर की संख्या सीमित करता है. इन सीमाओं से ज़्यादा टेस्टर जोड़ने पर, आपके पास अपने ऐप्लिकेशन को अन्य टेस्टर के साथ डिस्ट्रिब्यूट करने का विकल्प नहीं होगा. टेस्टर की सीमाओं के बारे में ज़्यादा जानने के लिए, देखें क्या मेरे ऐप्लिकेशन में टेस्टर जोड़ने की कोई सीमा है?
संभावित टेस्टर को, जांच के लिए खुद से रजिस्टर करने की अनुमति देना
अपने ऐप्लिकेशन को ज़्यादा टेस्टर के साथ डिस्ट्रिब्यूट करने के लिए, हमारा सुझाव है कि न्योते के लिंक का इस्तेमाल करें. न्योते का लिंक, एक यूनीक यूआरएल होता है. इसकी मदद से, टेस्टर किसी ऐप्लिकेशन की जांच करने के लिए साइन अप करने के लिए, अपने ईमेल पते डाल सकते हैं. उपयोगकर्ताओं को अपने ऐप्लिकेशन के टेस्टर की सूची में खुद को जोड़ने की अनुमति देने से, संगठन में काम करने वाले लोगों के साथ ऐप्लिकेशन शेयर करने की सुविधा का इस्तेमाल करने वाले लोगों की संख्या आसानी से बढ़ाई जा सकती है.
न्योते के लिंक का इस्तेमाल, कंपनी के डॉगफ़ूड प्रोग्राम, QA की बड़ी टीम वाले संगठनों, और डेवलपर ग्रुप के लिए किया जा सकता है. इन ग्रुप के क्लाइंट, टेस्टर के ऐक्सेस को कंट्रोल कर सकते हैं.
हमारा सुझाव है कि किसी ग्रुप के लिए, न्योते का लिंक बनाएं. न्योते के लिंक का इस्तेमाल करके साइन अप करने वाले किसी भी टेस्टर को, बाद की रिलीज़ में अपने-आप जोड़ दिया जाता है.
ज़्यादा जानने के लिए, न्योते के लिंक बनाना और किसी ग्रुप में टेस्टर जोड़ना और हटाना लेख पढ़ें.
पक्का करें कि टेस्टर, आपके हिसाब से सही वर्शन की जांच कर रहे हों
नया वर्शन अपलोड होने पर, आपके टेस्टर को ईमेल से सूचना मिलती है. इस सूचना के अलावा, रिलीज़ लिंक और इन-ऐप्लिकेशन चेतावनियों जैसी सुविधाओं का इस्तेमाल किया जा सकता है. इससे यह पक्का किया जा सकता है कि आपके टेस्टर, आपके हिसाब से सही ऐप्लिकेशन वर्शन की जांच कर रहे हों:
- रिलीज़ लिंक: इस सुविधा का इस्तेमाल तब करें, जब आपको टेस्टर के साथ कोई खास वर्शन शेयर करना हो. रिलीज़ लिंक का इस्तेमाल करने का तरीका जानने के लिए, Firebase console का इस्तेमाल करके, Android ऐप्लिकेशन को टेस्टर के साथ डिस्ट्रिब्यूट करना लेख पढ़ें.Firebase ये लिंक, हमारे Firebase, fastlane, और Gradle के कमांड-लाइन (CLI) टूल के साथ भी उपलब्ध हैं. इनका इस्तेमाल, बिल्ड ऑटोमेशन टूल के साथ किया जा सकता है.
- इन-ऐप्लिकेशन चेतावनियां: इन चेतावनियों का इस्तेमाल तब करें, जब आपको यह पक्का करना हो कि आपके टेस्टर, आपके ऐप्लिकेशन के सबसे नए वर्शन की जांच कर रहे हैं. Android SDK को इंटिग्रेट करके, आपके ऐप्लिकेशन के नए बिल्ड उपलब्ध होने पर, सीधे ऐप्लिकेशन में अपने टेस्टर को चेतावनियां दिखाई जा सकती हैं.App Distribution इन-ऐप्लिकेशन चेतावनियां जोड़ने का तरीका जानने के लिए, नए बिल्ड के बारे में टेस्टर को सूचना देना लेख पढ़ें.
कंपनी छोड़ने वाले टेस्टर के लिए, ऐक्सेस अपने-आप हटाना
जब आपका CI/CD इंटरनल टेस्टिंग फ़्लो चालू हो जाता है, तो आपको यह पक्का करना होता है कि कंपनी छोड़ने वाले लोगों के पास, आपके इंटरनल बिल्ड का ऐक्सेस न रहे. App Distribution, बिल्ड के लिए टेस्टर के ऐक्सेस को मैनेज करने में आपकी मदद करता है. इसके लिए, App Distribution ये विकल्प उपलब्ध हैं:
- fastlane: अपनी Fastfile फ़ाइल का इस्तेमाल करें या सीधे fastlane ऐक्शन चलाएं. ज़्यादा जानने के लिए, fastlane का इस्तेमाल करके, Android ऐप्लिकेशन को टेस्टर के साथ डिस्ट्रिब्यूट करनालेख पढ़ें.
- Firebase CLI:
firebase appdistribution:testers:removeऐक्शन का इस्तेमाल करें. ज़्यादा जानने के लिए, Firebase CLI का इस्तेमाल करके, Android ऐप्लिकेशन को टेस्टर के साथ डिस्ट्रिब्यूट करना लेख पढ़ें.Firebase - Gradle: अगर टेस्टर को हटाने के लिए Gradle का इस्तेमाल किया जा रहा है, तो अपनी
build.gradleफ़ाइल में,और--PROJECT_NUMBER आर्ग्युमेंट के साथ--EMAILS appDistributionRemoveTestersपास करें. ज़्यादा जानने के लिए, Gradle का इस्तेमाल करके, Android ऐप्लिकेशन को टेस्टर के साथ डिस्ट्रिब्यूट करना लेख पढ़ें. - सार्वजनिक Firebase App Distribution API:
testers.batchRemoveएंडपॉइंट का इस्तेमाल करें.