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