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


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

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

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

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

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

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

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

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

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

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

    appdistribution:distribute options
    --app

    ज़रूरी है: आपके ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी. ऐप्लिकेशन आईडी, Firebase कंसोल में सामान्य सेटिंग पेज पर देखा जा सकता है.

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    एक रीफ़्रेश टोकन, जो Firebase सीएलआई की मदद से आपके सीआई एनवायरमेंट की पुष्टि करने पर प्रिंट होता है. ज़्यादा जानकारी के लिए, सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना लेख पढ़ें.

    --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 का इस्तेमाल किया जा सकता है.

    --group-alias का इस्तेमाल करके, appdistribution:testers:add और appdistribution:testers:remove कमांड के लिए कोई ग्रुप तय करें.

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

    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

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

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

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

अगले चरण