इस दस्तावेज़ में, 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 ऐप्लिकेशन बंडल (AAB), Android पैकेज का सबसे आम फ़ॉर्मैट बनता जा रहा है. इसलिए, हमारा सुझाव है कि अपने टेस्टर को AAB डिस्ट्रिब्यूट करने की सुविधा सेट अप करें. इसके लिए, लिंक करके Google Play.
CI/CD पाइपलाइन का इस्तेमाल करके, प्री-रिलीज़ टेस्टिंग वर्कफ़्लो को ऑटोमेट करना
अगर आपको अपने टेस्टर के लिए ऐप्लिकेशन बनाने और रिलीज़ करने की प्रोसेस को ऑटोमेट करना है और CI/CD का इस्तेमाल करना है, तो हमारा सुझाव है कि fastlane या Gradle का इस्तेमाल करें. एक और विकल्प है Firebase CLI का इस्तेमाल करना. इससे, Firebase के कई प्रॉडक्ट को ऐक्सेस किया जा सकता है.
fastlane का इस्तेमाल करना
अपनी CI/CD पाइपलाइन में App Distribution को इंटिग्रेट करने के लिए, 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 के ज़रिए उपलब्ध कराए गए App Distribution CLI टूल का इस्तेमाल करके, प्रोग्राम के ज़रिए बिल्ड को टेस्टर के लिए डिस्ट्रिब्यूट करें.Firebase किसी बिल्ड के लिए, टेस्टर और रिलीज़ नोट की जानकारी दी जा सकती है.
अपने Android के सबसे नए बिल्ड को डिस्ट्रिब्यूट करने के लिए, ऐप्लिकेशन का Firebase App ID डालें. इसके अलावा, रिलीज़ नोट और टेस्टर के ईमेल पते वाली फ़ाइल भी जोड़ी जा सकती है:
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) टूल के साथ भी उपलब्ध हैं. इनका इस्तेमाल, बिल्ड ऑटोमेशन टूल के साथ किया जा सकता है.
- इन-ऐप्लिकेशन चेतावनियां: इन चेतावनियों का इस्तेमाल तब करें, जब आपको यह पक्का करना हो कि आपके टेस्टर, आपके ऐप्लिकेशन के सबसे नए वर्शन की जांच कर रहे हैं. Firebase App Distribution Android SDK को इंटिग्रेट करके, अपने ऐप्लिकेशन के नए बिल्ड उपलब्ध होने पर, सीधे ऐप्लिकेशन में अपने टेस्टर को चेतावनियां दिखाई जा सकती हैं. इन-ऐप्लिकेशन चेतावनियां जोड़ने का तरीका जानने के लिए, नए बिल्ड के बारे में टेस्टर को सूचना देना लेख पढ़ें.
कंपनी छोड़ने वाले टेस्टर के लिए, ऐक्सेस अपने-आप हटाना
जब आपका 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एंडपॉइंट का इस्तेमाल करें.