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


इस गाइड में, Firebase CLI का इस्तेमाल करके, टेस्टर को APK डिस्ट्रिब्यूट करने का तरीका बताया गया है. सीएलआई टूल की मदद से, किसी बिल्ड के लिए टेस्टर और रिलीज़ नोट तय किए जा सकते हैं. इसके बाद, बिल्ड को उसी के मुताबिक डिस्ट्रिब्यूट किया जाता है.

शुरू करने से पहले

  1. अगर आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.

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

  2. Firebase कंसोल का App Distribution पेज खोलें. जब आपसे पूछा जाए, तब अपना Firebase प्रोजेक्ट चुनें. इसके बाद, ऐप्लिकेशन स्विचर का इस्तेमाल करके अपना ऐप्लिकेशन चुनें और शुरू करें पर क्लिक करें.

पहला चरण. अपना ऐप्लिकेशन बनाना

जब आपको अपने ऐप्लिकेशन के रिलीज़ से पहले वाले वर्शन को टेस्टर के साथ शेयर करना हो, तो सामान्य प्रोसेस का इस्तेमाल करके अपना APK बनाएं. आपको APK पर अपने डीबग पासकोड या ऐप्लिकेशन साइनिंग पासकोड से साइन करना होगा.

दूसरा चरण. टेस्टर के साथ ऐप्लिकेशन शेयर करना

टेस्टर के साथ अपना ऐप्लिकेशन शेयर करने के लिए, Firebase CLI का इस्तेमाल करके, अपने ऐप्लिकेशन की फ़ाइल अपलोड करें:

  1. Firebase सीएलआई का नया वर्शन इंस्टॉल करें या उसे अपडेट करें (हमारा सुझाव है कि आप अपने ओएस के लिए, सीएलआई की स्टैंडअलोन बाइनरी डाउनलोड करें). साइन इन करें और यह जांच करें कि आपके पास अपने प्रोजेक्ट ऐक्सेस करने की अनुमति है या नहीं.
  2. अपने ऐप्लिकेशन को अपलोड करने और उसे टेस्टर के साथ डिस्ट्रिब्यूट करने के लिए, appdistribution:distribute कमांड चलाएं. डिस्ट्रिब्यूशन को कॉन्फ़िगर करने के लिए, इन पैरामीटर का इस्तेमाल करें:

    appdistribution:distribute विकल्प
    --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"

    इसके अलावा, सादे टेक्स्ट वाली किसी ऐसी फ़ाइल का पाथ भी दिया जा सकता है जिसमें सेमीकोलन से अलग किए गए टेस्ट डिवाइसों की सूची मौजूद हो:

    --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 कंसोल पर जाएं. अगर यह फ़्लैग सेट नहीं किया जाता है, तो टेस्ट पूरे होने तक कमांड ब्लॉक हो जाएगी. साथ ही, अगर कोई भी टेस्ट पूरा नहीं होता है, तो यह फ़ेल होने के कोड के साथ बंद हो जाएगी.

    --results-bucket

    Google Cloud Storage (GCS) का कस्टम बकेट, जिसमें टेस्ट के नतीजे सेव किए जाते हैं. अगर इसे खाली छोड़ दिया जाता है, तो डिफ़ॉल्ट बकेट का इस्तेमाल किया जाता है. बकेट का मालिकाना हक, बिलिंग की सुविधा वाले प्रोजेक्ट के पास होना चाहिए. बकेट तय करने पर, इस्तेमाल किए गए स्टोरेज के लिए बिलिंग शुल्क लगता है.

    उदाहरण के लिए:

    firebase appdistribution:distribute test.apk  \
        --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.com
    
    firebase 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-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

बिल्ड डिस्ट्रिब्यूट करने के बाद, यह Firebase कंसोल के App Distribution डैशबोर्ड में 150 दिनों (पांच महीने) तक उपलब्ध रहता है. जब बिल्ड की समयसीमा खत्म होने में 30 दिन बाकी होते हैं, तब आपको और टेस्टर को सूचना मिलती है. यह सूचना, कंसोल और टेस्टर के टेस्ट डिवाइस पर मौजूद बिल्ड की सूची में दिखती है.

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

टेस्टर के पास, ऐप्लिकेशन को टेस्ट करने के न्योते को स्वीकार करने के लिए 30 दिन होते हैं. इसके बाद, न्योते की समयसीमा खत्म हो जाती है. जब किसी न्योते की समयसीमा खत्म होने में पांच दिन बाकी होते हैं, तब रिलीज़ पर टेस्टर के बगल में Firebase कंसोल में, समयसीमा खत्म होने की सूचना दिखती है. न्योते को रिन्यू किया जा सकता है. इसके लिए, टेस्टर की लाइन में मौजूद ड्रॉप-डाउन मेन्यू का इस्तेमाल करके, न्योता फिर से भेजें.

अगले चरण