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

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

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

  • आपके टेस्टर के डिवाइस के हिसाब से ऑप्टिमाइज़ किए गए, ऑप्टिमाइज़ किए गए ऐसे APK चलाएं जो Google Play उपलब्ध कराता है.

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

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

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

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

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

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

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

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

वेब कंटेनर इंस्टॉल करने से पहले

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

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

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

    • 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 इंटिग्रेशन को चालू करने और Google Play से लिंक करने के लिए Firebase Android ऐप्लिकेशन चुनने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.

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

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

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

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

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

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

    ऐप्लिकेशनडिस्ट्रिब्यूशन:डिस्ट्रिब्यूट के विकल्प
    --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 सीएलआई ये लिंक दिखाता है. इन लिंक की मदद से, बाइनरी को मैनेज किया जा सकता है. साथ ही, यह पक्का किया जा सकता है कि टेस्टर और अन्य डेवलपर के पास सही रिलीज़ है या नहीं:

    • firebase_console_uri - Firebase कंसोल का लिंक, जिसमें सिंगल रिलीज़ दिखाया जाता है. आपके पास इस लिंक को अपने संगठन के दूसरे डेवलपर के साथ शेयर करने का विकल्प है.
    • testing_uri - टेस्टर के अनुभव में रिलीज़ का लिंक (Android के लिए बना ऐप्लिकेशन) जो टेस्टर को रिलीज़ की जानकारी देखने और अपने डिवाइस पर ऐप्लिकेशन इंस्टॉल करने की सुविधा देता है. लिंक का इस्तेमाल करने के लिए, टेस्टर को रिलीज़ का ऐक्सेस चाहिए.
    • binary_download_uri - हस्ताक्षर किया गया ऐसा लिंक जो सीधे ऐप्लिकेशन बाइनरी को डाउनलोड और इंस्टॉल करता है (APK या एएबी फ़ाइल) . एक घंटे बाद लिंक काम नहीं करेगा.

    टेस्टर और ग्रुप को मैनेज करना

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

अगले चरण