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


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

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 इनमें से कोई एक भूमिका: ––

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

  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 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;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

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

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

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

अगले चरण