इस गाइड में, एएबी बिल्ड डिस्ट्रिब्यूट करने का तरीका बताया गया है.
फ़ास्टलेन,
यह एक ओपन सोर्स प्लैटफ़ॉर्म है, जो अपने-आप iOS और Android बनाने और रिलीज़ करने में मदद करता है
दिखाई देता है. यह Fastfile
में बताए गए आसान निर्देशों का पालन करता है. सेट अप करने के बाद
फ़ास्टलेन और अपने Fastfile
के साथ, App Distribution को अपने फ़ास्टलेन के साथ इंटिग्रेट किया जा सकता है
कॉन्फ़िगरेशन.
App Distribution, Google Play की संगठन में काम करने वालों के साथ ऐप्लिकेशन शेयर करने की सुविधा के साथ इंटिग्रेट करता है आपके अपलोड किए गए एएबी को प्रोसेस करता है और उन APKs को उपलब्ध कराता है जो आपके टेस्टर के लिए ऑप्टिमाइज़ होते हैं डिवाइस कॉन्फ़िगरेशन. एएबी डिस्ट्रिब्यूट करके ये काम किए जा सकते हैं:
आपके डिवाइस के लिए ऑप्टिमाइज़ किए गए, ऑप्टिमाइज़ किए गए ऐसे APK चलाएं जो Google Play उपलब्ध कराता है टेस्टर की डिवाइस.
डिवाइस से जुड़ी समस्याओं का पता लगाना और उन्हें डीबग करना.
ऐप्लिकेशन बंडल की सुविधाओं की जांच करें, जैसे कि Play की सुविधाओं की डिलीवरी और Play ऐसेट डिलीवरी शामिल है.
अपने ऐप्लिकेशन के टेस्टर के लिए, डाउनलोड का साइज़ कम करें.
ज़रूरी अनुमतियां
App Distribution में एएबी अपलोड करने के लिए, आपको अपने Firebase ऐप्लिकेशन को किसी ऐप्लिकेशन से लिंक करना होगा Google Play में. आपके पास ज़रूरी ऐक्सेस होना चाहिए इन कार्रवाइयों को करने के लिए.
अगर आपके पास Firebase का ज़रूरी ऐक्सेस नहीं है, तो आप Firebase प्रोजेक्ट से ऐसा करने का अनुरोध कर सकते हैं इसके ज़रिए, आपको लागू होने वाली भूमिका असाइन करेगा: Firebase कंसोल की IAM सेटिंग. अगर Firebase प्रोजेक्ट को ऐक्सेस करने के बारे में आपका कोई सवाल है, तो असाइन करने या ढूंढने के लिए, "Firebase प्रोजेक्ट की अनुमतियां और ऐक्सेस" अक्सर पूछे जाने वाले सवाल.
नीचे दी गई टेबल, Firebase ऐप्लिकेशन को किसी ऐप्लिकेशन से लिंक करने पर लागू होती है Google Play और एएबी अपलोड कर रहा है.
Firebase कंसोल में कार्रवाई | आईएएम की ज़रूरी अनुमति | आईएएम की ऐसी भूमिकाएं जिनमें इनके लिए ज़रूरी अनुमतियां शामिल होती हैं डिफ़ॉल्ट | अन्य ज़रूरी भूमिका |
---|---|---|---|
Google Play में, Firebase के ऐप्लिकेशन को किसी ऐप्लिकेशन से लिंक करना | firebase.playLinks.update
|
इनमें से कोई एक भूमिका: | Google Play के डेवलपर खाते को इस तौर पर ऐक्सेस करें: एडमिन |
App Distribution पर एएबी अपलोड करें | firebaseappdistro.releases.update
|
इनमें से कोई एक भूमिका: | –– |
शुरू करने से पहले
अगर आपने पहले से Firebase को नहीं जोड़ा है, तो अपने Android में Firebase जोड़ें प्रोजेक्ट. इस वर्कफ़्लो के आखिर में, आपको आपके Firebase प्रोजेक्ट में एक Firebase Android ऐप्लिकेशन होना चाहिए.
अगर किसी अन्य Firebase प्रॉडक्ट का इस्तेमाल नहीं किया जा रहा है, तो आपको सिर्फ़ प्रोजेक्ट करें और अपना ऐप्लिकेशन रजिस्टर करें. अगर आपको प्रॉडक्ट के लिए, कृपया इन सभी चरणों को पूरा करें अपने Android प्रोजेक्ट में Firebase जोड़ें.
Google Play से Firebase लिंक बनाने और एएबी अपलोड करने के लिए, पक्का करें कि आपका ऐप्लिकेशन इन ज़रूरी शर्तों को पूरा करता है:
Google Play और Firebase का Android ऐप्लिकेशन, दोनों रजिस्टर किए गए हों पैकेज नाम का ही इस्तेमाल करें.
Google Play में मौजूद ऐप्लिकेशन को ऐप्लिकेशन पर सेट अप किया गया हो डैशबोर्ड और उसे Google Play के किसी एक ट्रैक (इंटरनल टेस्टिंग, क्लोज़्ड टेस्टिंग, ओपन टेस्टिंग या प्रोडक्शन).
Google Play पर ऐप्लिकेशन की समीक्षा पूरी हो गई है और ऐप्लिकेशन को पब्लिश कर दिया गया है. अगर ऐप्लिकेशन की स्थिति कॉलम में, स्टेटस: इंटरनल टेस्टिंग (ड्राफ़्ट की इंटरनल टेस्टिंग नहीं), क्लोज़्ड टेस्टिंग, ओपन टेस्टिंग या प्रोडक्शन.
अपने Firebase के Android ऐप्लिकेशन को Google Play डेवलपर खाते से जोड़ें:
Firebase कंसोल में, अपने
, इसके बाद, इंटिग्रेशन टैब चुनें. प्रोजेक्ट सेटिंग Google Play कार्ड पर जाकर, जोड़ें पर क्लिक करें.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है अगर आपके पास पहले से ही Google Play के लिंक हैं, तो मैनेज करें पर क्लिक करें आज़माएं.App Distribution को चालू करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें और चुनें कि Google से कौनसे Firebase Android ऐप्लिकेशन लिंक करने हैं ऐप्लिकेशन चलाएं.
इसके बारे में ज़्यादा जानें Google Play से लिंक करना.
पहला चरण. फ़ास्टलेन सेट अप करें
App Distribution को अपने फ़ास्टलेन कॉन्फ़िगरेशन में जोड़ने के लिए, इन्हें चलाएं कमांड:
fastlane add_plugin firebase_app_distribution
अगर निर्देश आपको कोई विकल्प दिखाता है, तो
Option 3: RubyGems.org
चुनें.
दूसरा चरण. Firebase की मदद से पुष्टि करें
फ़ास्टलेन प्लगिन का इस्तेमाल करने से पहले, आपको अपने Firebase प्रोजेक्ट को इनमें से किसी एक तरीके से प्रोजेक्ट किया जा सकता है. डिफ़ॉल्ट रूप से, फ़ास्टलेन प्लगिन अगर पुष्टि करने का कोई दूसरा तरीका नहीं है, तो Firebase सीएलआई से क्रेडेंशियल खोजता है का तरीका इस्तेमाल किया जाता है.
चरण 3. अपनी फ़ास्टफ़ाइल सेट अप करना और अपने ऐप्लिकेशन को लोगों तक पहुंचाना
./fastlane/Fastfile
लेन में, जोड़ेंfirebase_app_distribution
ब्लॉक. इन पैरामीटर का इस्तेमाल करके डिस्ट्रिब्यूशन को कॉन्फ़िगर करें:firebase_app_डिस्ट्रिब्यूशन पैरामीटर app
ज़रूरी है: आपके ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी. आपने लोगों तक पहुंचाया मुफ़्त में ऐप्लिकेशन आईडी, Firebase कंसोल में सामान्य सेटिंग वाला पेज.
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
एक रीफ़्रेश टोकन, जो तब प्रिंट होता है, जब आप Firebase सीएलआई (पढ़ें सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना देखें).
service_credentials_file
आपके Google सेवा खाते की json फ़ाइल का पाथ. इसका तरीका ऊपर देखें सेवा खाते के क्रेडेंशियल का इस्तेमाल करके पुष्टि करें.
android_artifact_type
Android फ़ाइल टाइप (APK या एएबी) के बारे में बताता है.
android_artifact_path
apk_path
(अब सेवा में नहीं है) को बदल देता है. इसका ऐब्सलूट पाथ APK या AAB फ़ाइल को अपलोड करने के लिए है. अगर आपने जानकारी नहीं है, फ़ास्टलेन लेन से फ़ाइल की जगह तय करता है जिसमें फ़ाइल जनरेट की गई थी.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"
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 कंसोल पर जाएं.
debug
बूलियन फ़्लैग. आप इसे
true
पर सेट कर सकते हैं वर्बोस डीबग आउटपुट प्रिंट करने के लिए.
platform :android do desc "My awesome app" lane :distribute do build_android_app(task: "bundle", ...) # build_android_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:android:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!", android_artifact_type: "AAB" ) end end
बिल्ड टेस्ट करने वालों को उपलब्ध कराने के लिए, अपनी लेन चलाएं:
fastlane <lane>अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
कार्रवाई की रिटर्न वैल्यू एक हैश है, जो अपलोड की गई रिलीज़ को दिखाता है.
यह हैश, lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
का इस्तेमाल करके भी उपलब्ध है.
इस हैश में उपलब्ध फ़ील्ड के बारे में ज़्यादा जानकारी के लिए, देखें
REST API दस्तावेज़.
फ़ास्टलेन प्लगिन रिलीज़ अपलोड के बाद नीचे दिए गए लिंक देता है. ये लिंक की मदद से बाइनरी मैनेज की जा सकती हैं. साथ ही, यह पक्का किया जा सकता है कि टेस्टर और अन्य डेवलपर को इसकी रिलीज़ सही होनी चाहिए:
- Firebase कंसोल का लिंक, जो सिंगल रिलीज़ किया गया. इस लिंक को यहां पर दूसरे डेवलपर के साथ शेयर किया जा सकता है संगठन
- टेस्टर की परफ़ॉर्मेंस में रिलीज़ का लिंक (Android का नेटिव ऐप्लिकेशन) जो टेस्टर को रिलीज़ देखने की सुविधा देता है नोट लिख सकता है और ऐप्लिकेशन को उनके डिवाइस पर इंस्टॉल कर सकता है. टेस्टर को रिलीज़ करें.
- हस्ताक्षर किया गया एक लिंक, जो सीधे तौर पर डाउनलोड और ऐप्लिकेशन बाइनरी (APK या एएबी फ़ाइल) इंस्टॉल करता है. एक बार लिंक करने की समयसीमा खत्म हो जाएगी घंटे.
बिल्ड डिस्ट्रिब्यूट करने के बाद, यह Firebase कंसोल का App Distribution डैशबोर्ड, 150 दिनों के लिए उपलब्ध होता है. बिल्ड की समयसीमा खत्म होने के 30 दिन बाद, समयसीमा खत्म होने की सूचना कंसोल और टेस्टर के टेस्ट डिवाइस के बिल्ड की सूची में जोड़ सकते हैं.
जिन टेस्टर को पहले ऐप्लिकेशन की जांच करने का न्योता नहीं भेजा गया है उन्हें ईमेल मिलेगा न्योता भेज सकते हैं. मौजूदा टेस्टर को ईमेल सूचनाएं मिलती हैं कि नया बिल्ड टेस्ट करने के लिए तैयार है. टेस्ट ऐप्लिकेशन को इंस्टॉल करने का तरीका जानने के लिए, टेस्टर सेट अप गाइड देखें. आप निगरानी कर सकते हैं हर टेस्टर की स्थिति, जिससे यह तय किया जा सके कि उन्होंने न्योता भेजा है और क्या उन्होंने Firebase कंसोल.
(ज़रूरी नहीं) हर बार बिल्ड नंबर अपने-आप बढ़ाने के लिए
हाल ही में लॉन्च किया गया है, तो आप
firebase_app_distribution_get_latest_release
कार्रवाई
और, उदाहरण के लिए, increment_version_code
फ़ास्ट लेन प्लगिन.
नीचे दिए गए कोड में बताया गया है कि कैसे
बिल्ड नंबर:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end
firebase_app_distribution_get_latest_release
कार्रवाई के बारे में ज़्यादा जानने के लिए,
अपने ऐप्लिकेशन की हाल ही की रिलीज़ के बारे में जानकारी पाना देखें.
चौथा चरण (ज़रूरी नहीं). डिस्ट्रिब्यूशन के लिए, टेस्टर को मैनेज करना
Fastfile
का इस्तेमाल करके, अपने प्रोजेक्ट या ग्रुप में टेस्टर जोड़े और हटाए जा सकते हैं
फ़ाइल या सीधे फ़ास्टलेन कार्रवाइयां चलाकर उन्हें डाउनलोड और इस्तेमाल किया जा सकता है. सीधे तौर पर की जा रही कार्रवाइयां
आपके Fastfile
में सेट की गई वैल्यू को ओवरराइड करती है.
टेस्टर को आपके Firebase प्रोजेक्ट में जोड़ने के बाद, उसे इसमें जोड़ा जा सकता है रिलीज़ कर सकें. आपके Firebase प्रोजेक्ट से हटाए गए टेस्टर की संख्या उपयोगकर्ता के पास आपके प्रोजेक्ट की रिलीज़ का ऐक्सेस होता है, लेकिन हो सकता है कि उनके पास ऐक्सेस बना रहे रिलीज़ करने से पहले, उसे ज़्यादा समय तक इस्तेमाल किया जा सकता है.
अगर आपके पास जांच करने वाले लोगों की संख्या ज़्यादा है, तो आपको ग्रुप का इस्तेमाल करना चाहिए.
Fastfile
का इस्तेमाल करें
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
फ़ास्टलेन से जुड़ी कार्रवाइयां करें
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
इसके बजाय, --file="/path/to/testers.txt
का इस्तेमाल करके भी टेस्टर तय किए जा सकते हैं
--emails
.
firebase_app_distribution_add_testers
और
firebase_app_distribution_remove_testers
टास्क के लिए, ये भी स्वीकार किए जाते हैं
तर्क:
project_name
: आपके Firebase प्रोजेक्ट का नंबर.group_alias
(ज़रूरी नहीं): अगर बताया गया, तो टेस्टर को इसमें जोड़ा जाता है या हटाया जाता है शामिल किया गया समूह.service_credentials_file
: आपकी Google सेवा क्रेडेंशियल फ़ाइल का पाथ.firebase_cli_token
: Firebase सीएलआई के लिए पुष्टि वाला टोकन.
service_credentials_file
और firebase_cli_token
एक जैसे हैं
अपलोड कार्रवाई में इस्तेमाल होने वाले आर्ग्युमेंट.
पांचवां चरण (ज़रूरी नहीं). अपने ऐप्लिकेशन के नए वर्शन के बारे में जानकारी पाना
firebase_app_distribution_get_latest_release
कार्रवाई का इस्तेमाल किया जा सकता है
ऐप्लिकेशन डिस्ट्रिब्यूशन में, अपने ऐप्लिकेशन की हाल ही की रिलीज़ के बारे में जानकारी फ़ेच की जा सकती है.
इसमें ऐप्लिकेशन के वर्शन की जानकारी, प्रॉडक्ट की जानकारी, और कॉन्टेंट बनाने का समय शामिल है. इस्तेमाल के उदाहरण
में, वर्शन को अपने-आप बढ़ाना और रिलीज़ को आगे बढ़ाना शामिल है
पिछली रिलीज़ के नोट शामिल हैं.
कार्रवाई की रिटर्न वैल्यू एक हैश है, जो नई रिलीज़ को दिखाता है.
यह हैश, lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
का इस्तेमाल करके भी उपलब्ध है.
इस हैश में उपलब्ध फ़ील्ड के बारे में ज़्यादा जानकारी के लिए, देखें
REST API दस्तावेज़.
पैरामीटर
firebase_app_ Distribution_get_latest_release पैरामीटर | |
---|---|
app
|
ज़रूरी है: आपके ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी. आपने लोगों तक पहुंचाया मुफ़्त में ऐप्लिकेशन आईडी, Firebase कंसोल में सामान्य सेटिंग वाला पेज. app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token
|
एक रीफ़्रेश टोकन, जो तब प्रिंट होता है, जब आप Firebase सीएलआई (पढ़ें सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना देखें). |
service_credentials_file
|
आपके Google सेवा खाते की json फ़ाइल का पाथ. इसका तरीका ऊपर देखें सेवा खाते के क्रेडेंशियल का इस्तेमाल करके पुष्टि करें. |
debug
|
बूलियन फ़्लैग. आप इसे |
अगले चरण
ऐप्लिकेशन में सुझाव लागू करें ताकि टेस्टर आपके ऐप्लिकेशन के बारे में आसानी से सुझाव/राय दे सकें या शिकायत कर सकें. इसमें ये भी शामिल हैं स्क्रीनशॉट).
इन-ऐप्लिकेशन सूचनाएं दिखाने का तरीका जानें आपके ऐप्लिकेशन के नए बिल्ड इंस्टॉल करने के लिए उपलब्ध होने पर, उन्हें आपके टेस्टर को उपलब्ध कराया जाएगा.
सीआई/सीडी का इस्तेमाल करके, QA जांच करने वाले लोगों को Android ऐप्लिकेशन उपलब्ध कराने के सबसे सही तरीके जानें.