सीआई/सीडी का इस्तेमाल करके, QA जांच करने वालों को Android ऐप्लिकेशन उपलब्ध कराने के सबसे सही तरीके

इस दस्तावेज़ में Firebase App Distribution का इस्तेमाल करने के सबसे सही तरीके बताए गए हैं. इनका इस्तेमाल करके, Android की रिलीज़ से पहले वाले टेस्टिंग वर्कफ़्लो को ईको-फ़्रेंडली बनाया जा सकता है. साथ ही, सीआई/सीडी एनवायरमेंट में इसे बार-बार इस्तेमाल किया जा सकता है. समाधान में Gradle और फ़ास्टलेन शामिल हैं. हालांकि, आपको ज़्यादा सुविधाएं देने के लिए, हम Firebase कंसोल, Firebase सीएलआई, और सार्वजनिक Firebase App Distribution API के ज़रिए उपलब्ध समाधान भी शामिल करते हैं. हम रिलीज़ और टेस्टर की सीमाओं के बारे में भी बताते हैं, ताकि आप बेहतर अनुभव पाने के लिए, पहले से प्लान बना सकें.

अगर Apple प्लैटफ़ॉर्म का भी इस्तेमाल किया जा रहा है, तो CI/CD और फ़ास्टलेन का इस्तेमाल करके QA की जांच करने वाले लोगों के लिए, Apple के ऐप्लिकेशन उपलब्ध कराने के सबसे सही तरीके देखें.

वेब कंटेनर इंस्टॉल करने से पहले

इस दस्तावेज़ में दिए गए सबसे सही तरीके लागू करने से पहले, Firebase कंसोल में हर ऐप्लिकेशन के लिए ऐप्लिकेशन डिस्ट्रिब्यूशन की सुविधा चालू करना न भूलें. अगर आपने ऐप्लिकेशन डिस्ट्रिब्यूशन की सुविधा चालू नहीं की है, तो आपको 404 गड़बड़ी दिखेगी.

App Distribution चालू करने के लिए, यह तरीका अपनाएं:

  1. Firebase कंसोल में, ऐप्लिकेशन डिस्ट्रिब्यूशन पेज खोलें.
  2. अपना Android ऐप्लिकेशन चुनें.
  3. शुरू करें पर क्लिक करें.

Android ऐप्लिकेशन बंडल (एएबी) आम तौर पर इस्तेमाल किया जाने वाला Android पैकेज फ़ॉर्मैट बन रहा है. इसलिए, हमारा सुझाव है कि आप Google Play से लिंक करके, टेस्टर को एएबी उपलब्ध कराने की सुविधा सेट अप करें.

सीआई/सीडी पाइपलाइन का इस्तेमाल करके, रिलीज़ से पहले वाले टेस्टिंग वर्कफ़्लो को ऑटोमेट करें

अगर आपको टेस्टर के लिए, अपने-आप ऐप्लिकेशन बनाने और रिलीज़ करने की सुविधा चाहिए और CI/CD का इस्तेमाल किया जा रहा है, तो हमारा सुझाव है कि आप फ़ास्टलेन या Gradle का इस्तेमाल करें. इसके अलावा, Firebase सीएलआई का इस्तेमाल भी किया जा सकता है. इससे आपको कई तरह के Firebase प्रॉडक्ट ऐक्सेस करने में मदद मिलती है.

फ़ास्ट लेन का इस्तेमाल करें

फ़ास्टलेन की मदद से, App Distribution को CI/CD पाइपलाइन में इंटिग्रेट करें. फ़ास्टलेन एक ऐसा ओपन सोर्स टूल है जो अपने-आप iOS और Android ऐप्लिकेशन बनाने और रिलीज़ करने की सुविधा देता है. टेस्टर को अपने-आप नई रिलीज़ बनाने और उन्हें उपलब्ध कराने से, यह पक्का हो जाता है कि टेस्टर के पास आपके ऐप्लिकेशन का सबसे अप-टू-डेट टेस्ट वर्शन हो.

ऐप्लिकेशन डिस्ट्रिब्यूशन को फ़ास्टलेन के साथ इंटिग्रेट करने का तरीका जानने के लिए, फ़ास्टलेन का इस्तेमाल करने वाले टेस्टर को Android ऐप्लिकेशन उपलब्ध कराएं पर जाएं.

Gradle का इस्तेमाल करना

App Distribution Gradle प्लग इन की मदद से, अपने Android बिल्ड प्रोसेस में App Distribution को इंटिग्रेट करने के लिए Gradle का इस्तेमाल करना. इस प्लग इन की मदद से, अपने ऐप्लिकेशन की build.gradle फ़ाइल में टेस्टर और रिलीज़ नोट की जानकारी दी जा सकती है. इससे अपने ऐप्लिकेशन के अलग-अलग बिल्ड टाइप और वैरिएंट के लिए, डिस्ट्रिब्यूशन को कॉन्फ़िगर किया जा सकता है.

ऐप्लिकेशन डिस्ट्रिब्यूशन को Gradle के साथ इंटिग्रेट करने का तरीका जानने के लिए, Gradle का इस्तेमाल करके, टेस्टर को Android ऐप्लिकेशन उपलब्ध कराना देखें.

Firebase सीएलआई का इस्तेमाल करना

उन Firebase सीएलआई टूल का इस्तेमाल करें जिन्हें App Distribution से ही टेस्टर को प्रोग्राम के हिसाब से बिल्ड उपलब्ध कराया जाता है. बिल्ड के लिए, टेस्टर और प्रॉडक्ट की जानकारी तय की जा सकती है.

ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी बताकर, अपना नया Android बिल्ड डिस्ट्रिब्यूट करें. इसके लिए, रिलीज़ नोट और टेस्टर के ईमेल वाली फ़ाइल जोड़ना भी ज़रूरी है:

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

अपने बिल्ड को ऑटोमेट करने के लिए, Firebase सीएलआई का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Firebase सीएलआई का इस्तेमाल करके जांच करने वाले लोगों को Android ऐप्लिकेशन डिस्ट्रिब्यूट करें पर जाएं.

पुष्टि करने के लिए सेवा क्रेडेंशियल का इस्तेमाल करें

सेवा खातों के साथ, App Distribution फ़ास्टलेन प्लगिन, Gradle प्लगिन या Firebase सीएलआई का इस्तेमाल करें. सेवा खाता एक तरह का Google खाता होता है. यह ऐप्लिकेशन, उपयोगकर्ताओं के बजाय ऐप्लिकेशन को दिखाता है. App Distribution से जुड़े वर्कलोड को चलाने के लिए, आपका सीआई सिस्टम, सेवा खातों का इस्तेमाल कर सकता है. ज़्यादा जानने के लिए, सेवा खाते से पुष्टि करें देखें.

अगर वर्कलोड आइडेंटिटी फ़ेडरेशन का इस्तेमाल किया जा रहा है, तो आपके पास सेवा खाता कुंजी के बजाय, क्रेडेंशियल कॉन्फ़िगरेशन फ़ाइल जनरेट करने और उसका इस्तेमाल करने का विकल्प होता है.

रिलीज़ की सीमाओं का ध्यान रखना

ऐप्लिकेशन डिस्ट्रिब्यूशन, हर ऐप्लिकेशन के लिए ज़्यादा से ज़्यादा 1,000 रिलीज़ की सुविधा देता है. इसका मतलब है कि रिलीज़ की सीमा पार करने पर, App Distribution आपकी तय की गई सीमा से ज़्यादा पुरानी रिलीज़ को अपने-आप मिटा देगा. रिलीज़ की सीमाओं को मैनेज करने का तरीका जानने के लिए, देखें ऐप्लिकेशन की रिलीज़ कितने समय के लिए उपलब्ध होती हैं?

एक से ज़्यादा रिलीज़ में, टेस्टर का एक ही सेट जोड़ना

अगर आपको अपनी रिलीज़ में बड़ी संख्या में टेस्टर जोड़ना है, तो App Distribution की बल्क टेस्टर मैनेजमेंट सुविधा का इस्तेमाल करें.

हमारा सुझाव है कि आप एक से ज़्यादा रिलीज़ में एक ही टेस्टर को जोड़ने के लिए, ग्रुप का इस्तेमाल करें. ग्रुप एक ऐक्सेस कंट्रोल सूची के तौर पर काम करता है. जब ग्रुप से किसी टेस्टर को हटाया जाता है, तो वह उस ग्रुप को दी गई सभी रिलीज़ का ऐक्सेस खो देता है. ज़्यादा जानने के लिए, ग्रुप में टेस्टर जोड़ना और हटाना देखें.

अगर आपको कई टेस्टर मैनेज करने हैं, तो Firebase कंसोल का इस्तेमाल करके, एक साथ कई टेस्टर जोड़े और मिटाए जा सकते हैं. टेस्टर को अपने-आप जोड़ने और हटाने के लिए, Firebase सीएलआई, फ़ास्टलेन, Gradle या सार्वजनिक Firebase App Distribution API का इस्तेमाल करें.

टेस्टर की तय सीमाओं का ध्यान रखें

App Distribution टेस्टर की संख्या को सीमित करता है. इसे Firebase प्रोजेक्ट या App Distribution ग्रुप में जोड़ा जा सकता है. अगर इन सीमाओं को पार कर लिया जाता है, तो अन्य टेस्टर को अपना ऐप्लिकेशन उपलब्ध नहीं कराया जा सकेगा. टेस्टर की सीमाओं के बारे में ज़्यादा जानने के लिए, क्या मेरे ऐप्लिकेशन में टेस्टर जोड़ने की कोई सीमा है? सेक्शन देखें

संभावित टेस्टर को टेस्टिंग के लिए खुद रजिस्ट्रेशन करने की सुविधा दें

हमारा सुझाव है कि टेस्टर को अपना ऐप्लिकेशन आसानी से उपलब्ध कराने के लिए, न्योते के लिंक का इस्तेमाल करें. न्योते का लिंक एक यूनीक यूआरएल होता है. इसकी मदद से, टेस्टर अपने ईमेल पते डालकर किसी ऐप्लिकेशन की जांच कर सकते हैं. इससे लोगों को ऐप्लिकेशन टेस्टर की सूची में खुद को जोड़ने की सुविधा मिलती है. इससे, इंटरनल टेस्टिंग बेस को आसानी से बढ़ाने में मदद मिलती है.

न्योते के लिंक के इस्तेमाल के उदाहरणों में कंपनी के dogfood प्रोग्राम, बड़ी QA टीम वाले संगठन, और ऐसे डेवलपर ग्रुप शामिल हैं जिन्हें अलग-अलग क्लाइंट, टेस्टर ऐक्सेस को कंट्रोल कर सकें.

हमारा सुझाव है कि आप किसी ग्रुप के लिए न्योते का लिंक बनाएं. न्योते के लिंक का इस्तेमाल करके साइन अप करने वाला टेस्टर, बाद वाली रिलीज़ में अपने-आप जुड़ जाता है.

ज़्यादा जानने के लिए, न्योते के लिंक बनाना और टेस्टर को ग्रुप में जोड़ना और हटाना लेख पढ़ें.

पक्का करें कि टेस्टर उस वर्शन की जांच कर रहे हैं जो आपके लिए अहम है

नया वर्शन अपलोड किए जाने पर, आपके टेस्टर को ईमेल से इसकी सूचना दी जाती है. इस सूचना को जोड़ने के लिए, इन सुविधाओं – रिलीज़ लिंक और इन-ऐप्लिकेशन अलर्ट – का इस्तेमाल किया जा सकता है. इससे यह पक्का किया जा सकता है कि आपके टेस्टर, ऐप्लिकेशन के उस खास वर्शन की जांच कर रहे हैं जो आपके लिए अहम है:

  • रिलीज़ लिंक: इस सुविधा का इस्तेमाल तब करें, जब आपको टेस्टर के साथ कोई खास वर्शन शेयर करना हो. रिलीज़ लिंक का इस्तेमाल करने का तरीका जानने के लिए, Firebase कंसोल का इस्तेमाल करके, जांच करने वाले लोगों को Android ऐप्लिकेशन डिस्ट्रिब्यूट करें देखें. ये लिंक हमारे Firebase, फ़ास्टलेन, और Gradle कमांड-लाइन (सीएलआई) टूल के साथ भी उपलब्ध हैं. इनका इस्तेमाल बिल्ड ऑटोमेशन टूल के साथ किया जाता है.
  • इन-ऐप्लिकेशन सूचनाएं: इन सूचनाओं का इस्तेमाल तब करें, जब आपको यह पक्का करना हो कि आपके टेस्टर आपके ऐप्लिकेशन के नए वर्शन की जांच कर रहे हैं. Firebase App Distribution Android SDK टूल इंटिग्रेट करके टेस्टर को ऐप्लिकेशन के नए बिल्ड उपलब्ध होने पर, सीधे ऐप्लिकेशन में सूचनाएं दिखाई जा सकती हैं. इन-ऐप्लिकेशन सूचनाएं जोड़ने का तरीका जानने के लिए, टेस्टर को नए बिल्ड के बारे में सूचना दें देखें.

कंपनी छोड़ने वाले टेस्टर के लिए, ऐक्सेस अपने-आप हटाने की सुविधा

CI/CD की इंटरनल टेस्टिंग का फ़्लो ठीक से काम करने के बाद, आपको यह पक्का करना होगा कि कंपनी को छोड़ने वाले लोगों के पास अब आपके इंटरनल बिल्ड का ऐक्सेस न हो. बिल्ड के टेस्टर का ऐक्सेस मैनेज करने में आपकी मदद करने के लिए, App Distribution ये विकल्प देता है: