इस गाइड में, Firebase CLI का इस्तेमाल करके, टेस्टर को Android ऐप्लिकेशन बंडल (AAB) डिस्ट्रिब्यूट करने का तरीका बताया गया है. सीएलआई टूल की मदद से, किसी बिल्ड के लिए टेस्टर और रिलीज़ नोट तय किए जा सकते हैं. इसके बाद, यह टूल बिल्ड को उसी के हिसाब से डिस्ट्रिब्यूट करता है.
App Distribution, Google Play की संगठन में काम करने वालों के साथ ऐप्लिकेशन शेयर करने की सुविधा के साथ इंटिग्रेट होता है. इससे, आपके अपलोड किए गए AAB प्रोसेस किए जाते हैं और टेस्टर के डिवाइस कॉन्फ़िगरेशन के हिसाब से ऑप्टिमाइज़ किए गए APK उपलब्ध कराए जाते हैं. AAB फ़ाइलें डिस्ट्रिब्यूट करने पर, ये काम किए जा सकते हैं:
Google Play की ओर से उपलब्ध कराए गए ऑप्टिमाइज़ किए गए APK चलाएं. ये APK, आपके टेस्टर के डिवाइसों के हिसाब से ऑप्टिमाइज़ किए जाते हैं.
डिवाइस से जुड़ी समस्याओं का पता लगाएं और उन्हें डीबग करें.
ऐप्लिकेशन बंडल की सुविधाओं को टेस्ट करें. जैसे, Play Feature Delivery और Play Asset Delivery.
टेस्टर के लिए, डाउनलोड का साइज़ कम करें.
ज़रूरी अनुमतियां
App Distribution पर AAB अपलोड करने के लिए, आपको अपने Firebase ऐप्लिकेशन को Google Play में मौजूद किसी ऐप्लिकेशन से लिंक करना होगा. ये कार्रवाइयां करने के लिए, आपके पास ज़रूरी लेवल का ऐक्सेस होना चाहिए.
अगर आपके पास Firebase का ज़रूरी ऐक्सेस नहीं है, तो Firebase प्रोजेक्ट के मालिक से कहें कि वह Firebase कंसोल IAM सेटिंग के ज़रिए, आपको लागू होने वाली भूमिका असाइन करे. अगर आपको अपने Firebase प्रोजेक्ट को ऐक्सेस करने के बारे में कोई सवाल पूछना है, तो "Firebase प्रोजेक्ट की अनुमतियां और ऐक्सेस" के बारे में अक्सर पूछे जाने वाले सवाल पढ़ें. इसमें आपको किसी प्रोजेक्ट के लिए मालिक असाइन करने या उसे ढूंढने के तरीके के बारे में भी जानकारी मिलेगी.
नीचे दी गई टेबल में, Google Play में मौजूद किसी ऐप्लिकेशन को Firebase ऐप्लिकेशन से लिंक करने और AAB अपलोड करने के बारे में बताया गया है.
| Firebase कंसोल में कार्रवाई | IAM से जुड़ी ज़रूरी अनुमति | आईएएम रोल, जिनमें ज़रूरी अनुमतियां डिफ़ॉल्ट रूप से शामिल होती हैं | अन्य ज़रूरी भूमिकाएं |
|---|---|---|---|
| किसी Firebase ऐप्लिकेशन को Google Play में मौजूद किसी ऐप्लिकेशन से लिंक करना | firebase.playLinks.update
|
इनमें से कोई एक भूमिका: | Google Play डेवलपर खाते का ऐक्सेस, एडमिन के तौर पर |
| App Distribution पर एएबी अपलोड करना | firebaseappdistro.releases.update
|
इनमें से कोई एक भूमिका: | –– |
शुरू करने से पहले
अगर आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें. इस वर्कफ़्लो के आखिर में, आपके Firebase प्रोजेक्ट में Firebase Android ऐप्लिकेशन होगा.
अगर आपको Firebase के किसी अन्य प्रॉडक्ट का इस्तेमाल नहीं करना है, तो आपको सिर्फ़ एक प्रोजेक्ट बनाना होगा और अपना ऐप्लिकेशन रजिस्टर करना होगा. अगर आपको अन्य प्रॉडक्ट इस्तेमाल करने हैं, तो अपने Android प्रोजेक्ट में Firebase जोड़ना लेख में दिए गए सभी चरणों को पूरा करें.
Google Play से Firebase लिंक करने और एएबी अपलोड करने के लिए, पक्का करें कि आपका ऐप्लिकेशन इन ज़रूरी शर्तों को पूरा करता हो:
Google Play और Firebase Android ऐप्लिकेशन, दोनों एक ही पैकेज नाम का इस्तेमाल करके रजिस्टर किए गए हों.
Google Play पर मौजूद ऐप्लिकेशन, ऐप्लिकेशन के डैशबोर्ड पर सेट अप किया गया हो और Google Play के किसी एक ट्रैक (इंटरनल टेस्टिंग, क्लोज़्ड टेस्टिंग, ओपन टेस्टिंग या प्रोडक्शन) पर डिस्ट्रिब्यूट किया गया हो.
Google Play पर ऐप्लिकेशन की समीक्षा पूरी हो गई है और ऐप्लिकेशन पब्लिश हो गया है. अगर ऐप्लिकेशन का स्टेटस कॉलम में इनमें से कोई एक स्टेटस दिखता है, तो इसका मतलब है कि आपका ऐप्लिकेशन पब्लिश हो गया है: इंटरनल टेस्टिंग (ड्राफ़्ट की इंटरनल टेस्टिंग नहीं), क्लोज़्ड टेस्टिंग, ओपन टेस्टिंग या प्रोडक्शन.
अपने Firebase Android ऐप्लिकेशन को Google Play डेवलपर खाते से लिंक करें:
Firebase कंसोल में,
प्रोजेक्ट सेटिंग पर जाएं. इसके बाद, इंटिग्रेशन टैब चुनें.Google Play कार्ड पर जाकर, जोड़ें पर क्लिक करें.
अगर आपने पहले ही Google Play से लिंक किए हुए हैं, तो इसके बजाय मैनेज करें पर क्लिक करें.App Distribution इंटिग्रेशन चालू करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें. साथ ही, चुनें कि कौनसे Firebase Android ऐप्लिकेशन को Google Play से लिंक करना है.
Google Play से लिंक करने के बारे में ज़्यादा जानें.
पहला चरण. अपना ऐप्लिकेशन बनाना
जब आपको अपने ऐप्लिकेशन के रिलीज़ से पहले वाले वर्शन को टेस्टर के साथ शेयर करना हो, तब अपना AAB बनाएं. इसके लिए, Android Studio के दस्तावेज़ पर जाकर निर्देश देखें.
दूसरा चरण. अपने ऐप्लिकेशन को टेस्टर के साथ शेयर करना
टेस्टर के साथ ऐप्लिकेशन डिस्ट्रिब्यूट करने के लिए, Firebase CLI का इस्तेमाल करके ऐप्लिकेशन की फ़ाइल अपलोड करें:
- Firebase सीएलआई का नया वर्शन इंस्टॉल करें या उसे अपडेट करें (हमारा सुझाव है कि आप अपने ओएस के लिए, सीएलआई का स्टैंडअलोन बाइनरी डाउनलोड करें). पक्का करें कि आपने साइन इन किया हो और यह जांच लें कि आपके पास अपने प्रोजेक्ट ऐक्सेस करने की अनुमति है.
-
अपने ऐप्लिकेशन को अपलोड करने और उसे टेस्टर के साथ शेयर करने के लिए,
appdistribution:distributeकमांड चलाएं. डिस्ट्रिब्यूशन को कॉन्फ़िगर करने के लिए, इन पैरामीटर का इस्तेमाल करें:appdistribution:distribute options --appज़रूरी है: आपके ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी. आपको ऐप्लिकेशन आईडी, Firebase कंसोल में सामान्य सेटिंग पेज पर मिलेगा.
--app 1:1234567890:android:0a1b2c3d4e5f67890
--tokenयह एक रीफ़्रेश टोकन है. इसे तब प्रिंट किया जाता है, जब Firebase CLI का इस्तेमाल करके अपने सीआई एनवायरमेंट की पुष्टि की जाती है. ज़्यादा जानकारी के लिए, सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना पढ़ें.
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-fileइस बिल्ड के लिए रिलीज़ नोट.
रिलीज़ नोट सीधे तौर पर दिए जा सकते हैं:
--release-notes "Text of release notes"
इसके अलावा, सामान्य टेक्स्ट फ़ाइल का पाथ तय करें:
--release-notes-file "/path/to/release-notes.txt"
--testers
--testers-fileउन टेस्टर के ईमेल पते जिन्हें आपको न्योता भेजना है.
टेस्टर को कॉमा लगाकर अलग किए गए ईमेल पतों की सूची के तौर पर तय किया जा सकता है:
--testers "ali@example.com, bri@example.com, cal@example.com"
इसके अलावा, ईमेल पतों की कॉमा लगाकर अलग की गई सूची वाली किसी सादे टेक्स्ट फ़ाइल का पाथ भी दिया जा सकता है:
--testers-file "/path/to/testers.txt"
--groups
--groups-fileटेस्टर के वे ग्रुप जिन्हें आपको न्योता भेजना है. इसके लिए, टेस्टर मैनेज करें पर जाएं. ग्रुप के लिए
ग्रुप के अन्य डोमेन नेम का इस्तेमाल किया जाता है. इन्हें Firebase कंसोल में देखा जा सकता है.कॉमा लगाकर अलग की गई सूची के तौर पर ग्रुप तय किए जा सकते हैं:
--groups "qa-team, trusted-testers"
इसके अलावा, ग्रुप के नामों की कॉमा लगाकर अलग की गई सूची वाली सादे टेक्स्ट फ़ाइल का पाथ भी दिया जा सकता है:
--groups-file "/path/to/groups.txt"
--debugयह एक ऐसा फ़्लैग है जिसे वर्बोस लॉग आउटपुट को प्रिंट करने के लिए शामिल किया जा सकता है.
--test-devices
--test-devices-fileयहां दिए गए डिस्ट्रिब्यूशन टाइप, ऑटोमेटेड टेस्टर की बीटा सुविधा का हिस्सा हैं.
वे टेस्ट डिवाइस जिन पर आपको बिल्ड डिस्ट्रिब्यूट करने हैं (ऑटोमेटेड टेस्ट देखें).
टेस्टर को कॉमा लगाकर अलग किए गए ईमेल पतों की सूची के तौर पर तय किया जा सकता है:
--test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
इसके अलावा, सादे टेक्स्ट वाली किसी ऐसी फ़ाइल का पाथ भी दिया जा सकता है जिसमें टेस्ट डिवाइसों की सूची दी गई हो. इस सूची में डिवाइसों के नाम सेमीकोलन से अलग किए गए हों:
--test-devices-file: "/path/to/test-devices.txt"
--test-usernameयह उपयोगकर्ता का वह नाम है जिसका इस्तेमाल ऑटोमेटेड टेस्ट के दौरान, अपने-आप लॉगिन करने के लिए किया जाता है.
--test-password
--test-password-fileऑटोमैटिक लॉगिन के लिए पासवर्ड, जिसका इस्तेमाल ऑटोमेटेड टेस्ट के दौरान किया जाता है.
इसके अलावा, पासवर्ड वाली किसी सामान्य टेक्स्ट फ़ाइल का पाथ भी दिया जा सकता है:
--test-password-file: "/path/to/test-password.txt"
--test-username-resourceउपयोगकर्ता नाम वाले फ़ील्ड के लिए संसाधन का नाम. इसका इस्तेमाल ऑटोमेटेड टेस्ट के दौरान, अपने-आप लॉगिन होने की सुविधा के लिए किया जाता है.
--test-password-resourceपासवर्ड फ़ील्ड के लिए संसाधन का नाम. इसका इस्तेमाल ऑटोमेटेड टेस्ट के दौरान, अपने-आप लॉगिन करने के लिए किया जाता है.
--test-non-blockingअपने-आप होने वाले टेस्ट को एसिंक्रोनस तरीके से चलाएं. अपने-आप होने वाली जांच के नतीजे देखने के लिए, Firebase कंसोल पर जाएं.
उदाहरण के लिए:
firebase appdistribution:distribute test.aab \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtरिलीज़ अपलोड करने के बाद, Firebase CLI इन लिंक को आउटपुट करता है. इन लिंक की मदद से, बाइनरी मैनेज की जा सकती हैं. साथ ही, यह पक्का किया जा सकता है कि टेस्टर और अन्य डेवलपर के पास सही रिलीज़ हो:
firebase_console_uri- Firebase कंसोल का लिंक, जिसमें एक रिलीज़ दिखती है. इस लिंक को अपने संगठन के अन्य डेवलपर के साथ शेयर किया जा सकता है.testing_uri- टेस्टर के लिए रिलीज़ का लिंक (Android नेटिव ऐप्लिकेशन) इस लिंक की मदद से, टेस्टर रिलीज़ नोट देख सकते हैं और अपने डिवाइस पर ऐप्लिकेशन इंस्टॉल कर सकते हैं. लिंक का इस्तेमाल करने के लिए, टेस्टर के पास रिलीज़ का ऐक्सेस होना चाहिए.binary_download_uri- यह एक ऐसा लिंक होता है जिस पर हस्ताक्षर किया गया होता है. इस लिंक पर क्लिक करने से, ऐप्लिकेशन बाइनरी (APK या AAB फ़ाइल) सीधे तौर पर डाउनलोड और इंस्टॉल हो जाती है. लिंक एक घंटे बाद काम नहीं करेगा.
टेस्टर और ग्रुप मैनेज करना
रिलीज़ डिस्ट्रिब्यूट करने के अलावा,
appdistribution:testers:addऔरappdistribution:testers:removeका इस्तेमाल करके, नए टेस्टर को न्योता भेजा जा सकता है या मौजूदा टेस्टर को अपने Firebase प्रोजेक्ट से हटाया जा सकता है.किसी टेस्टर को Firebase प्रोजेक्ट में जोड़ने के बाद, उसे अलग-अलग रिलीज़ में जोड़ा जा सकता है. किसी टेस्टर को हटाने के बाद, उसके पास आपके प्रोजेक्ट की रिलीज़ को ऐक्सेस करने का अधिकार नहीं रहेगा. ध्यान दें कि हाल ही में हटाए गए टेस्टर, कुछ समय तक आपकी रिलीज़ को ऐक्सेस कर सकते हैं.
उदाहरण के लिए:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comटेस्टर के ईमेल पतों को स्पेस से अलग किया जाना चाहिए.
--file /path/to/testers.txtका इस्तेमाल करके, टेस्टर भी तय किए जा सकते हैं.अगर आपके पास जांचकर्ताओं की बड़ी संख्या है, तो आपको ग्रुप का इस्तेमाल करना चाहिए: अपने Firebase प्रोजेक्ट में ग्रुप बनाने या मिटाने के लिए,
appdistribution:group:createऔरappdistribution:group:deleteका इस्तेमाल किया जा सकता है.appdistribution:testers:addऔरappdistribution:testers:removeकमांड के लिए, ग्रुप तय करने के लिए--group-aliasका इस्तेमाल करें.उदाहरण के लिए:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
अपनी बिल्ड को डिस्ट्रिब्यूट करने के बाद, यह Firebase कंसोल के App Distribution डैशबोर्ड में 150 दिनों (पांच महीने) तक उपलब्ध रहती है. जब बिल्ड की समयसीमा खत्म होने में 30 दिन बाकी होते हैं, तब समयसीमा खत्म होने की सूचना, कंसोल और टेस्टर के टेस्ट डिवाइस पर मौजूद बिल्ड की सूची, दोनों में दिखती है.
जिन टेस्टर को ऐप्लिकेशन की जांच करने का न्योता नहीं मिला है उन्हें ईमेल से न्योता भेजा जाता है. वहीं, मौजूदा टेस्टर को ईमेल से सूचना मिलती है कि जांच के लिए नया बिल्ड उपलब्ध है. जांच के लिए ऐप्लिकेशन इंस्टॉल करने के निर्देश पाने के लिए, टेस्टर के लिए सेट अप गाइड पढ़ें. Firebase कंसोल में जाकर, हर टेस्टर की स्थिति देखी जा सकती है. इससे यह पता चलता है कि टेस्टर ने न्योता स्वीकार किया है या नहीं और उसने ऐप्लिकेशन डाउनलोड किया है या नहीं.
टेस्टर के पास, ऐप्लिकेशन को टेस्ट करने के न्योते को स्वीकार करने के लिए 30 दिन होते हैं. इसके बाद, न्योते की समयसीमा खत्म हो जाती है. जब न्योते की समयसीमा खत्म होने में पांच दिन बाकी होते हैं, तब रिलीज़ पर टेस्टर के बगल में Firebase कंसोल में, समयसीमा खत्म होने की सूचना दिखती है. टेस्टर की लाइन में मौजूद ड्रॉप-डाउन मेन्यू का इस्तेमाल करके, न्योते को फिर से भेजा जा सकता है.
अगले चरण
ऐप्लिकेशन में सुझाव/राय देने या शिकायत करने की सुविधा लागू करें, ताकि टेस्टर आपके ऐप्लिकेशन के बारे में आसानी से सुझाव/राय दे सकें या शिकायत कर सकें. इसमें स्क्रीनशॉट भी शामिल हैं.
जब आपके ऐप्लिकेशन के नए बिल्ड इंस्टॉल करने के लिए उपलब्ध हों, तब टेस्टर को ऐप्लिकेशन में दिखने वाली चेतावनियां दिखाने का तरीका जानें.
सीआई/सीडी का इस्तेमाल करके, क्वालिटी अश्योरेंस टेस्टर को Android ऐप्लिकेशन उपलब्ध कराने के सबसे सही तरीके जानें.