इस दस्तावेज़ में, Firebase App Distribution का इस्तेमाल करने के सबसे सही तरीकों के बारे में बताया गया है. इन तरीकों की मदद से, Android ऐप्लिकेशन को रिलीज़ करने से पहले की जाने वाली टेस्टिंग के वर्कफ़्लो को सीआई/सीडी (कंट्रोल इंटिग्रेशन/कंट्रोल डिप्लॉयमेंट) वाले एनवायरमेंट में, बार-बार इस्तेमाल किया जा सकता है. इनमें Gradle और fastlane शामिल हैं. हालांकि, आपको ज़्यादा सुविधाएं देने के लिए, हमने Firebase कंसोल, Firebase CLI, और सार्वजनिक FirebaseApp Distribution एपीआई के ज़रिए उपलब्ध समाधान भी शामिल किए हैं. हम रिलीज़ और टेस्टर की सीमाओं के बारे में भी बताते हैं, ताकि आप बेहतर अनुभव के लिए पहले से योजना बना सकें.
अगर Apple के प्लैटफ़ॉर्म का भी इस्तेमाल किया जा रहा है, तो CI/CD और fastlane का इस्तेमाल करके, Apple ऐप्लिकेशन को क्यूए टेस्टर को डिस्ट्रिब्यूट करने के सबसे सही तरीके देखें.
शुरू करने से पहले
इस दस्तावेज़ में दिए गए सबसे सही तरीकों को लागू करने से पहले, Firebase कंसोल में हर ऐप्लिकेशन के लिए App Distribution को चालू करना न भूलें. अगर आपने App Distribution को चालू नहीं किया है, तो आपको 404 कोड वाली गड़बड़ी दिखेगी.
App Distribution को चालू करने के लिए, यह तरीका अपनाएं:
- Firebase कंसोल में, App Distribution पेज खोलें.
- अपना Android ऐप्लिकेशन चुनें.
- शुरू करें पर क्लिक करें.
Android ऐप्लिकेशन बंडल (एएबी), Android पैकेज का सबसे सामान्य फ़ॉर्मैट बन रहे हैं. इसलिए, हमारा सुझाव है कि आप Google Play से लिंक करके, अपने टेस्टर को एएबी डिस्ट्रिब्यूट करने की सुविधा सेट अप करें.
सीआई/सीडी पाइपलाइन का इस्तेमाल करके, रिलीज़ से पहले की टेस्टिंग के वर्कफ़्लो को ऑटोमेट करना
अगर आपको अपने टेस्टर के लिए ऐप्लिकेशन बनाने और उन्हें रिलीज़ करने की प्रोसेस को ऑटोमेट करना है और आपने CI/CD का इस्तेमाल किया है, तो हमारा सुझाव है कि आप fastlane या Gradle का इस्तेमाल करें. Firebase CLI का इस्तेमाल करने का भी विकल्प है. इससे आपको Firebase के कई प्रॉडक्ट ऐक्सेस करने की सुविधा मिलती है.
fastlane का इस्तेमाल करना
fastlane का इस्तेमाल करके, App Distribution को अपनी CI/CD पाइपलाइन में इंटिग्रेट करें. यह एक ओपन सोर्स टूल है, जो iOS और Android ऐप्लिकेशन को बनाने और रिलीज़ करने की प्रोसेस को ऑटोमेट करता है. टेस्टर के लिए, अपने ऐप्लिकेशन के नए वर्शन अपने-आप बनाने और उन्हें डिस्ट्रिब्यूट करने से, यह पक्का किया जा सकता है कि टेस्टर के पास आपके ऐप्लिकेशन का सबसे अप-टू-डेट टेस्ट वर्शन हमेशा उपलब्ध हो.
App Distribution को fastlane के साथ इंटिग्रेट करने का तरीका जानने के लिए, fastlane का इस्तेमाल करके, टेस्टर को Android ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें.
Gradle का इस्तेमाल करना
App Distribution Gradle प्लग इन का इस्तेमाल करके, App Distribution को अपनी Android बिल्ड प्रोसेस में इंटिग्रेट करने के लिए Gradle का इस्तेमाल करें. इस प्लग इन की मदद से, अपने ऐप्लिकेशन की build.gradle
फ़ाइल में टेस्टर और रिलीज़ नोट की जानकारी दी जा सकती है. इससे, अपने ऐप्लिकेशन के अलग-अलग बिल्ड टाइप और वैरिएंट के लिए डिस्ट्रिब्यूशन कॉन्फ़िगर किए जा सकते हैं.
App Distribution को Gradle के साथ इंटिग्रेट करने का तरीका जानने के लिए, Gradle का इस्तेमाल करके टेस्टर को Android ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें.
Firebase CLI का इस्तेमाल करना
Firebase CLI टूल का इस्तेमाल करें. ये टूल, 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 CLI का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Firebase CLI का इस्तेमाल करके, टेस्टर को Android ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें.
पुष्टि करने के लिए, सेवा खाते के क्रेडेंशियल का इस्तेमाल करना
सेवा खातों के साथ App Distribution fastlane प्लग इन, Gradle प्लग इन या Firebase सीएलआई का इस्तेमाल करें. सेवा खाता एक तरह का Google खाता होता है. यह उपयोगकर्ताओं के बजाय, ऐप्लिकेशन के लिए होता है. आपका सीआई सिस्टम, आपके App Distribution वर्कलोड को चलाने के लिए सेवा खातों का इस्तेमाल कर सकता है. ज़्यादा जानने के लिए, सेवा खाते से पुष्टि करना लेख पढ़ें.
अगर वर्कलोड आइडेंटिटी फ़ेडरेशन का इस्तेमाल किया जा रहा है, तो सेवा खाते की कुंजी के बजाय, क्रेडेंशियल कॉन्फ़िगरेशन फ़ाइल जनरेट और इस्तेमाल की जा सकती है.
रिलीज़ की सीमाओं का ध्यान रखें
App Distribution में हर ऐप्लिकेशन के लिए ज़्यादा से ज़्यादा 1,000 रिलीज़ की सुविधा होती है. इसका मतलब है कि रिलीज़ की सीमा से ज़्यादा रिलीज़ होने पर, App Distribution उन रिलीज़ को अपने-आप मिटा देता है जो सीमा से ज़्यादा पुरानी हैं. रिलीज़ की सीमाओं को मैनेज करने का तरीका जानने के लिए, ऐप्लिकेशन रिलीज़ कितने समय तक उपलब्ध रहती हैं? लेख पढ़ें
एक से ज़्यादा रिलीज़ में, टेस्टर का एक ही सेट जोड़ना
अगर आपको अपनी रिलीज़ में बड़ी संख्या में टेस्टर जोड़ने हैं, तो App Distribution की एक साथ कई टेस्टर मैनेज करने की सुविधा का इस्तेमाल करें.
हमारा सुझाव है कि एक ही टेस्टर को कई रिलीज़ में जोड़ने के लिए, ग्रुप का इस्तेमाल करें. ग्रुप, ऐक्सेस कंट्रोल सूची के तौर पर काम करता है. किसी टेस्टर को ग्रुप से हटाने पर, उसके पास उस ग्रुप में डिस्ट्रिब्यूट की गई सभी रिलीज़ का ऐक्सेस नहीं रहेगा. ज़्यादा जानने के लिए, किसी ग्रुप में टेस्टर जोड़ना और हटाना लेख पढ़ें.
अगर आपको कई टेस्टर मैनेज करने हैं, तो Firebase कंसोल का इस्तेमाल करके, एक साथ कई टेस्टर जोड़े और मिटाए जा सकते हैं. टेस्टर को जोड़ने और हटाने की प्रोसेस को ऑटोमेट करने के लिए, Firebase CLI, fastlane, Gradle या सार्वजनिक Firebase App Distribution एपीआई का इस्तेमाल करें.
टेस्टर की सीमाओं का ध्यान रखें
App Distribution, Firebase प्रोजेक्ट या App Distribution ग्रुप में जोड़े जा सकने वाले टेस्टर की संख्या को सीमित करता है. इन सीमाओं से ज़्यादा टेस्टर जोड़ने पर, आपके पास अपने ऐप्लिकेशन को अन्य टेस्टर को डिस्ट्रिब्यूट करने का विकल्प नहीं होगा. टेस्टर की संख्या से जुड़ी सीमाओं के बारे में ज़्यादा जानने के लिए, क्या मेरे ऐप्लिकेशन में टेस्टर जोड़ने की सीमाएं हैं? लेख पढ़ें
टेस्टर के तौर पर शामिल होने के लिए, लोगों को खुद रजिस्टर करने की सुविधा चालू करना
हमारा सुझाव है कि ज़्यादा टेस्टर को अपना ऐप्लिकेशन आसानी से उपलब्ध कराने के लिए, आप न्योते के लिंक का इस्तेमाल करें. न्योते का लिंक एक यूनीक यूआरएल होता है. इसकी मदद से, जांच करने वाले लोग ऐप्लिकेशन की जांच करने के लिए साइन अप करने के लिए, अपने ईमेल पते डाल सकते हैं. उपयोगकर्ताओं को ऐप्लिकेशन टेस्टर की सूची में खुद को जोड़ने की सुविधा देने से, ऐप्लिकेशन की जांच करने वाले लोगों की संख्या को आसानी से बढ़ाया जा सकता है.
न्योते के लिंक के इस्तेमाल के उदाहरणों में, कंपनी के Dogfood प्रोग्राम, बड़ी क्यूए टीम वाले संगठन, और डेवलपर ग्रुप शामिल हैं. ये ग्रुप, अलग-अलग क्लाइंट को टेस्टर का ऐक्सेस कंट्रोल करने की अनुमति देना चाहते हैं.
हमारा सुझाव है कि आप किसी ग्रुप के लिए न्योते का लिंक बनाएं. न्योते के लिंक का इस्तेमाल करके साइन अप करने वाला हर टेस्टर, बाद में रिलीज़ होने वाले वर्शन में अपने-आप जुड़ जाता है.
ज़्यादा जानने के लिए, न्योते के लिंक बनाना और किसी ग्रुप में टेस्टर जोड़ना और हटाना लेख पढ़ें.
पक्का करें कि टेस्टर आपके लिए अहम वर्शन की जांच कर रहे हों
नया वर्शन अपलोड होने पर, टेस्टर को ईमेल से इसकी सूचना दी जाती है. इस सूचना के साथ, रिलीज़ के लिंक और ऐप्लिकेशन में सूचनाएं भेजने की सुविधा का इस्तेमाल किया जा सकता है. इससे यह पक्का किया जा सकता है कि आपके टेस्टर, ऐप्लिकेशन के उस वर्शन की जांच कर रहे हैं जिस पर आपको ध्यान देना है:
- रिलीज़ के लिंक: इस सुविधा का इस्तेमाल तब करें, जब आपको टेस्टर के साथ कोई खास वर्शन शेयर करना हो. रिलीज़ लिंक इस्तेमाल करने का तरीका जानने के लिए, Firebase कंसोल का इस्तेमाल करके, टेस्टर को Android ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें. ये लिंक, Firebase, fastlane, और Gradle कमांड-लाइन (CLI) टूल के साथ भी उपलब्ध हैं. इनका इस्तेमाल, बिल्ड ऑटोमेशन टूल के साथ किया जा सकता है.
- ऐप्लिकेशन में सूचनाएं: इन सूचनाओं का इस्तेमाल तब करें, जब आपको यह पक्का करना हो कि आपके टेस्टर आपके ऐप्लिकेशन के नए वर्शन की जांच कर रहे हैं. Firebase App Distribution Android SDK टूल को इंटिग्रेट करके, ऐप्लिकेशन के नए बिल्ड उपलब्ध होने पर, टेस्टर को सीधे ऐप्लिकेशन में सूचनाएं दिखाई जा सकती हैं. ऐप्लिकेशन में सूचनाएं जोड़ने का तरीका जानने के लिए, टेस्टर को नए बिल्ड के बारे में सूचना देना लेख पढ़ें.
कंपनी छोड़ने वाले टेस्टर का ऐक्सेस अपने-आप हटने की सुविधा
जब आपका CI/CD इंटरनल टेस्टिंग फ़्लो चालू हो, तो आपको यह पक्का करना होगा कि कंपनी छोड़ने वाले लोगों के पास आपके इंटरनल बिल्ड का ऐक्सेस न हो. टेस्टर के लिए, बिल्ड का ऐक्सेस मैनेज करने में आपकी मदद करने के लिए, App Distribution ये विकल्प उपलब्ध कराता है:
- fastlane: अपनी Fastfile फ़ाइल का इस्तेमाल करें या सीधे fastlane कार्रवाइयां चलाएं. ज़्यादा जानने के लिए, fastlane का इस्तेमाल करके, टेस्टर को Android ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें.
- Firebase सीएलआई:
firebase appdistribution:testers:remove
ऐक्शन का इस्तेमाल करें. ज़्यादा जानने के लिए, Firebase सीएलआई का इस्तेमाल करके, टेस्टर को Android ऐप्लिकेशन उपलब्ध कराना लेख पढ़ें. - Gradle: अगर टेस्टर हटाने के लिए Gradle का इस्तेमाल किया जा रहा है, तो अपनी
build.gradle
फ़ाइल में,appDistributionRemoveTesters
को आर्ग्युमेंट के साथ
और--PROJECT_NUMBER
के साथ पास करें. ज़्यादा जानने के लिए, Gradle का इस्तेमाल करके, टेस्टर को Android ऐप्लिकेशन उपलब्ध कराना लेख पढ़ें.--EMAILS - सार्वजनिक Firebase App Distribution API:
testers.batchRemove
एंडपॉइंट का इस्तेमाल करें.