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


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

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

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

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

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

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

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

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

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

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

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

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

  1. अगर आपने पहले से ऐसा नहीं किया है, तो Firebase को अपने Android प्रोजेक्ट में जोड़ें. इस वर्कफ़्लो के आखिर में, आपके 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 कंसोल में, न्योते की समयसीमा खत्म होने की सूचना दिखती है. टेस्टर की लाइन में मौजूद ड्रॉप-डाउन मेन्यू का इस्तेमाल करके, न्योता फिर से भेजकर उसे रिन्यू किया जा सकता है.

अगले चरण