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


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

App Distribution, Google Play की संगठन में काम करने वालों के साथ ऐप्लिकेशन शेयर करने की सेवा के साथ इंटिग्रेट होता है. इससे, अपलोड किए गए AAB को प्रोसेस करने और टेस्टर के डिवाइस कॉन्फ़िगरेशन के हिसाब से ऑप्टिमाइज़ किए गए APKs को दिखाने में मदद मिलती है. AABs डिस्ट्रिब्यूट करने पर, ये काम किए जा सकते हैं:

  • टेस्टर के डिवाइसों के हिसाब से ऑप्टिमाइज़ किए गए APKs (Google Play से उपलब्ध कराए गए) चलाएं.

  • डिवाइस से जुड़ी समस्याओं का पता लगाना और उन्हें डीबग करना.

  • Play Feature Delivery और Play ऐसेट डिलीवरी जैसी ऐप्लिकेशन बंडल की सुविधाओं को टेस्ट करें.

  • टेस्टर के लिए डाउनलोड किए जाने वाले ऐप्लिकेशन का साइज़ कम करें.

ज़रूरी अनुमतियां

App Distribution पर AAB अपलोड करने के लिए, आपको अपने Firebase ऐप्लिकेशन को Google Play में मौजूद ऐप्लिकेशन से लिंक करना होगा. ये कार्रवाइयां करने के लिए, आपके पास ज़रूरी ऐक्सेस लेवल होना चाहिए.

अगर आपके पास Firebase का ज़रूरी ऐक्सेस नहीं है, तो Firebase प्रोजेक्ट के मालिक से कहें कि वह Firebase कंसोल की IAM सेटिंग के ज़रिए, आपको लागू होने वाली भूमिका असाइन करे. अगर आपको अपने Firebase प्रोजेक्ट को ऐक्सेस करने के बारे में कोई सवाल पूछना है, तो "Firebase प्रोजेक्ट की अनुमतियां और ऐक्सेस" के बारे में अक्सर पूछे जाने वाले सवाल देखें. यहां आपको प्रोजेक्ट के मालिक को ढूंढने या असाइन करने के बारे में भी जानकारी मिलेगी.

नीचे दी गई टेबल, Google Play में मौजूद किसी ऐप्लिकेशन को Firebase ऐप्लिकेशन से लिंक करने के साथ-साथ, AAB अपलोड करने पर लागू होती है.

Firebase कंसोल में कार्रवाई IAM से जुड़ी ज़रूरी अनुमति आईएएम की ऐसी भूमिकाएं जिनमें डिफ़ॉल्ट रूप से ज़रूरी अनुमतियां शामिल होती हैं ज़रूरी अन्य भूमिकाएं
Google Play में मौजूद किसी ऐप्लिकेशन को Firebase ऐप्लिकेशन से लिंक करना firebase.playLinks.update इनमें से कोई एक भूमिका: Google Play डेवलपर खाते का ऐक्सेस, एडमिन के तौर पर
App Distribution पर एएबी अपलोड करना firebaseappdistro.releases.update इनमें से कोई एक भूमिका: ––

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

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

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

  2. Google Play से Firebase लिंक बनाने और AAB अपलोड करने के लिए, पक्का करें कि आपका ऐप्लिकेशन इन ज़रूरी शर्तों को पूरा करता हो:

    • Google Play में मौजूद ऐप्लिकेशन और Firebase Android ऐप्लिकेशन, दोनों को एक ही पैकेज नाम का इस्तेमाल करके रजिस्टर किया गया हो.

    • Google Play में मौजूद ऐप्लिकेशन को ऐप्लिकेशन के डैशबोर्ड पर सेट अप किया गया हो और उसे Google Play के किसी एक ट्रैक (इंटरनल टेस्टिंग, क्लोज़्ड टेस्टिंग, ओपन टेस्टिंग या प्रोडक्शन) पर डिस्ट्रिब्यूट किया गया हो.

    • Google Play पर ऐप्लिकेशन की समीक्षा पूरी हो गई हो और ऐप्लिकेशन पब्लिश हो गया हो. अगर ऐप्लिकेशन का स्टेटस कॉलम में इनमें से कोई एक स्टेटस दिखता है, तो इसका मतलब है कि आपका ऐप्लिकेशन पब्लिश हो गया है: इंटरनल टेस्टिंग (ड्राफ़्ट की इंटरनल टेस्टिंग नहीं), क्लोज़्ड टेस्टिंग, ओपन टेस्टिंग या प्रोडक्शन.

  3. Firebase में बने Android ऐप्लिकेशन को Google Play डेवलपर खाते से लिंक करने के लिए:

    1. Firebase कंसोल में, अपने प्रोजेक्ट सेटिंग पर जाएं. इसके बाद, इंटिग्रेशन टैब चुनें.

    2. Google Play कार्ड पर जाकर, जोड़ें पर क्लिक करें.
      अगर आपके पास पहले से Google Play के लिंक हैं, तो इसके बजाय मैनेज करें पर क्लिक करें.

    3. App Distribution इंटिग्रेशन को चालू करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें. साथ ही, यह चुनें कि किन Firebase Android ऐप्लिकेशन को Google Play से लिंक करना है.

    Google Play से लिंक करने के बारे में ज़्यादा जानें.

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

जब आप टेस्टर को अपने ऐप्लिकेशन का रिलीज़ से पहले का वर्शन उपलब्ध कराने के लिए तैयार हों, तो अपना AAB बनाएं. निर्देशों के लिए, Android Studio दस्तावेज़ पर जाएं.

में अपने ऐप्लिकेशन का टेस्ट सर्टिफ़िकेट देखा जा सकता है.

दूसरा चरण. टेस्टर को अपना ऐप्लिकेशन उपलब्ध कराना

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

  1. Firebase सीएलआई को इंस्टॉल करें या नए वर्शन पर अपडेट करें (हमारा सुझाव है कि आप अपने ओएस के हिसाब से सीएलआई के लिए स्टैंडअलोन बाइनरी डाउनलोड करें). साइन इन करना न भूलें और यह जांच लें कि आपके पास अपने प्रोजेक्ट ऐक्सेस करने का ऐक्सेस है या नहीं.
  2. Firebase कंसोल के App Distribution पेज पर, वह ऐप्लिकेशन चुनें जिसे आपको डिस्ट्रिब्यूट करना है. इसके बाद, शुरू करें पर क्लिक करें.
  3. अपना ऐप्लिकेशन अपलोड करने और टेस्टर को डिस्ट्रिब्यूट करने के लिए, 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;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.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 कंसोल में रिलीज़ के बगल में, समयसीमा खत्म होने की सूचना दिखती है. टेस्टर की लाइन में मौजूद ड्रॉप-डाउन मेन्यू का इस्तेमाल करके, न्योता फिर से भेजकर उसे रिन्यू किया जा सकता है.

अगले चरण