1. खास जानकारी
अपने Android ऐप्लिकेशन कोडलैब में, Firebase App Distribution SDK टूल को इंटिग्रेट करने वाले टूल में आपका स्वागत है. इस कोडलैब में, आपको अपने ऐप्लिकेशन में App Distribution Android SDK टूल जोड़ना होगा. इससे आपके टेस्टर को इन-ऐप्लिकेशन सूचनाएं दिखाई जा सकेंगी. ऐसा तब होगा, जब नए बिल्ड डाउनलोड करने के लिए उपलब्ध होंगे. इसमें आपको बुनियादी कॉन्फ़िगरेशन और कस्टम कॉन्फ़िगरेशन, दोनों के इस्तेमाल का तरीका बताया जाएगा. इससे, टेस्टर को अपडेट पाने के लिए साइन इन करने में मदद मिलेगी. इसके बाद, आपको App Distribution पर नई रिलीज़ लॉन्च करनी होगी. साथ ही, ऐप्लिकेशन में ही आपको बिल्ड की नई सूचना ट्रिगर करनी होगी.
आपको यह जानकारी मिलेगी
- जांच करने वाले लोगों को रिलीज़ से पहले का ऐप्लिकेशन उपलब्ध कराने के लिए, App Distribution का इस्तेमाल कैसे करें
- अपने ऐप्लिकेशन में App Distribution Android SDK टूल इंटिग्रेट करने का तरीका
- अगर रिलीज़ से पहले का कोई नया बिल्ड इंस्टॉल किया जा सकता है, तो टेस्टर को सूचना देने का तरीका
- टेस्टिंग की ज़रूरतों के हिसाब से SDK टूल को अपनी पसंद के मुताबिक बनाने का तरीका
आपको इन चीज़ों की ज़रूरत होगी
- Android Studio का सबसे नया वर्शन.
- सैंपल कोड.
- आपके पास Android 4.4 और उसके बाद के वर्शन और Google Play services के साथ काम करने वाला टेस्ट डिवाइस हो.इसके अलावा, आपके पास Google Play services के 9.8 या उसके बाद के वर्शन वाला एम्युलेटर भी होना चाहिए.
- अगर डिवाइस का इस्तेमाल किया जा रहा है, तो कनेक्शन केबल.
इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?
Android ऐप्लिकेशन बनाने के अपने अनुभव को आप कितनी रेटिंग देंगे?
2. सैंपल कोड पाएं
कमांड लाइन से, GitHub रिपॉज़िटरी का क्लोन बनाएं.
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
अगर आपने git इंस्टॉल नहीं किया है, तो इसके GitHub पेज से या इस लिंक पर क्लिक करके भी सैंपल प्रोजेक्ट डाउनलोड किया जा सकता है.
3. स्टार्टर ऐप्लिकेशन इंपोर्ट करें
Android Studio में, सैंपल कोड डाउनलोड करने के विकल्प से codelab-appdistribution-android/start
डायरेक्ट्री ( ) चुनें (फ़ाइल > खोलें > .../codelab-app Distribution-android/start).
अब Android Studio में स्टार्ट प्रोजेक्ट खुल जाएगा.
4. Firebase कंसोल प्रोजेक्ट बनाना
नया Firebase प्रोजेक्ट जोड़ना
- Firebase कंसोल खोलें.
- प्रोजेक्ट जोड़ें चुनें और फिर अपने प्रोजेक्ट को "Firebase कोडलैब" नाम दें.
आपको इस प्रोजेक्ट के लिए Google Analytics चालू करने की ज़रूरत नहीं है.
- प्रोजेक्ट बनाएं पर क्लिक करें.
Firebase में कोई ऐप्लिकेशन जोड़ें
अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करें. "com.google.firebase.app Distributioncodelab" का इस्तेमाल करें डालें.
अपने ऐप्लिकेशन में google-services.json फ़ाइल जोड़ना
पैकेज का नाम जोड़ने और 'रजिस्टर करें' को चुनने के बाद, अपने ऐप्लिकेशन में google-services.json को जोड़ने के लिए यह तरीका अपनाएं:
- अपनी Firebase Android कॉन्फ़िगरेशन फ़ाइल पाने के लिए, google-services.json डाउनलोड करें पर क्लिक करें.
- google-services.json की फ़ाइल को अपने प्रोजेक्ट की
app
डायरेक्ट्री में कॉपी करें. - फ़ाइल डाउनलोड होने के बाद, कंसोल में दिखाए गए अगले चरणों को अभी नहीं किया जा सकता है. इन्हें बिल्ड-Android-स्टार्ट प्रोजेक्ट में आपके लिए पहले ही पूरा कर दिया गया है.
ऐप्लिकेशन आईडी को अपडेट करें, ताकि वह आपके Firebase ऐप्लिकेशन से मैच हो सके
- बाईं ओर दिए गए मेन्यू (प्रोजेक्ट टैब) में, पक्का करें कि आप "Android" पर हैं "Gredle स्क्रिप्ट" देखें और उसका पता लगाएं टैब पर क्लिक करें और अपना मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर
app/build.gradle.kts
) खोलें. - अपने Firebase ऐप्लिकेशन के ऐप्लिकेशन आईडी से मैच करने के लिए,
applicationId
प्रॉपर्टी को बदलें. यह "com.google.firebase.app Distributioncodelab" होना चाहिए
अपने प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करना
यह पक्का करने के लिए कि आपके ऐप्लिकेशन पर सभी डिपेंडेंसी उपलब्ध हैं, अपने प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करें. इसके लिए, फ़ाइल > Android Studio के टूलबार से, Gradle फ़ाइलों के साथ प्रोजेक्ट सिंक करें.
5. App Distribution Android SDK टूल की मदद से, ऐप्लिकेशन में नए बिल्ड की सूचनाएं सेट अप करें
इस चरण में, आपको अपने ऐप्लिकेशन में Firebase App Distribution Android SDK टूल जोड़ना होगा. साथ ही, जब आपके ऐप्लिकेशन का नया बिल्ड इंस्टॉल करने के लिए उपलब्ध होगा, तब टेस्टर को ऐप्लिकेशन में मौजूद सूचनाएं दिखाई जाएंगी. ऐसा करने के लिए, पक्का करें कि आपने "Firebase कोडलैब" के लिए, Firebase App Testers API को चालू किया हो प्रोजेक्ट (Google Cloud Console में). आपको इसी खाते से साइन इन करना होगा. इसके बाद, सबसे ऊपर मौजूद ड्रॉप-डाउन मेन्यू से सही प्रोजेक्ट चुनना होगा.
इन-ऐप्लिकेशन सूचनाएं कॉन्फ़िगर करना
App Distribution Android SDK टूल की मदद से आपके टेस्टर के लिए, इन-ऐप्लिकेशन बिल्ड सूचनाएं सेट अप की जा सकती हैं:
- एक बुनियादी सूचना कॉन्फ़िगरेशन, जिसमें टेस्टर को पहले से मौजूद डायलॉग बॉक्स दिखता है.
- यह एक ऐडवांस सूचना कॉन्फ़िगरेशन है. इसकी मदद से, यूज़र इंटरफ़ेस (यूआई) को अपनी पसंद के मुताबिक बनाया जा सकता है.
हम सूचना को कॉन्फ़िगर करने के बुनियादी तरीके से शुरुआत करेंगे. जिन टेस्टर ने अभी तक सूचनाएं पाने की सुविधा चालू नहीं की है उन्हें पहले से बना हुआ 'सूचनाएं' डायलॉग बॉक्स दिखाने के लिए, updateIfNewReleaseAvailable
का इस्तेमाल किया जा सकता है. इसके बाद, यह देखा जा सकता है कि नया बिल्ड उपलब्ध है या नहीं. टेस्टर, App Distribution में ऐसे खाते में साइन इन करके सूचनाएं पाने की सुविधा चालू करते हैं जिसके पास ऐप्लिकेशन का ऐक्सेस है. कॉल करने पर, यह तरीका नीचे दिया गया क्रम लागू करता है:
- यह पता लगाता है कि किसी टेस्टर ने सूचनाएं पाने की सुविधा चालू की है या नहीं. अगर ऐसा नहीं है, तो यह तरीका पहले से मौजूद एक डायलॉग दिखाता है. इसमें, टेस्टर को उनके Google खाते से App Distribution में साइन इन करने के लिए कहा जाता है.
सूचनाओं को चालू करने की प्रोसेस, टेस्ट डिवाइस पर एक बार की जाती है. यह प्रोसेस, आपके ऐप्लिकेशन के सभी अपडेट के लिए बनी रहती है. टेस्ट डिवाइस पर सूचनाएं तब तक चालू रहती हैं, जब तक ऐप्लिकेशन अनइंस्टॉल नहीं किया जाता या signOutTester
तरीके को कॉल नहीं किया जाता.
- टेस्टर को इंस्टॉल करने के लिए, उपलब्ध नए बिल्ड की जांच करता है.
- पहले से मौजूद सूचना दिखाती है, जो टेस्टर को सबसे नई रिलीज़ डाउनलोड करने के लिए कहती है.
- अपडेट करने से पहले, नए बिल्ड टाइप की जांच करता है:
- अगर नया बिल्ड कोई ऐप्लिकेशन बंडल (एएबी) है, तो टेस्टर को अपडेट की प्रक्रिया पूरी करने के लिए Play Store पर रीडायरेक्ट कर दिया जाता है.
- अगर नया बिल्ड एक APK है, तो SDK टूल नए बिल्ड को बैकग्राउंड में डाउनलोड करता है. साथ ही, डाउनलोड पूरा होने पर टेस्टर को नया बिल्ड इंस्टॉल करने का निर्देश देता है. SDK टूल,
NotificationManager.
का इस्तेमाल करके उपयोगकर्ता को डाउनलोड की स्थिति की सूचनाएं भेजता है. आपके पासupdateIfNewReleaseAvailable
टास्क मेंonProgressUpdate
हैंडलर अटैच करके अपना प्रोग्रेस इंडिकेटर जोड़ने का विकल्प है.
आप अपने ऐप्लिकेशन में किसी भी समय updateIfNewReleaseAvailable()
को कॉल कर सकते हैं. उदाहरण के लिए, onResume()
MainActivity के तरीके के दौरान, updateIfNewReleaseAvailable()
को कॉल किया जा सकता है:
MainActivity.kt खोलें और onResume()
तरीका इस तरह से बनाएं:
MainActivity.kt
override fun onResume() {
super.onResume()
checkForUpdate()
}
आइए, अब checkForUpdate()
तरीके को लागू करते हैं.
MainActivity.kt
private fun checkForUpdate() {
firebaseAppDistribution.updateIfNewReleaseAvailable()
.addOnProgressListener { updateProgress ->
// (Optional) Implement custom progress updates in addition to
// automatic NotificationManager updates.
}
.addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
// Handle exception.
}
}
}
6. टेस्टर बनाएं और आपका ऐप्लिकेशन डाउनलोड करने के लिए उन्हें न्योता दें
इस चरण में, आप अपना ऐप्लिकेशन बनाते हैं और Firebase कंसोल का इस्तेमाल करके, टेस्टर को बिल्ड डिस्ट्रिब्यूट करके उसके लागू होने की जांच करते हैं.
अपना ऐप्लिकेशन बनाना
जब आप जांच करने वाले लोगों को अपने ऐप्लिकेशन का रिलीज़ से पहले का वर्शन वितरित करने के लिए तैयार हों, तो अपनी सामान्य प्रक्रिया का इस्तेमाल करके अपना APK बनाएं. आपको अपने डीबग पासकोड या ऐप्लिकेशन साइनिंग पासकोड से APK पर साइन करना होगा.
टेस्टर को अपना ऐप्लिकेशन उपलब्ध कराना
टेस्टर को अपना ऐप्लिकेशन उपलब्ध कराने के लिए, Firebase कंसोल का इस्तेमाल करके APK फ़ाइल अपलोड करें:
- Firebase कंसोल का ऐप्लिकेशन डिस्ट्रिब्यूशन पेज खोलें. जब आपसे कहा जाए, तब अपना Firebase प्रोजेक्ट चुनें.
- रिलीज़ पेज पर, ड्रॉप-डाउन मेन्यू से वह ऐप्लिकेशन चुनें जिसे आपको उपलब्ध कराना है.
- शुरू करें पर क्लिक करें
- अपने ऐप्लिकेशन की APK फ़ाइल को अपलोड करने के लिए, उसे कंसोल में खींचें और छोड़ें.
- अपलोड पूरा होने के बाद, उन टेस्टर ग्रुप और टेस्टर के बारे में बताएं जिन्हें आपको बिल्ड लेना है. (न्योता पाने के लिए अपना ईमेल पता जोड़ें.) इसके बाद, बिल्ड के लिए प्रॉडक्ट की जानकारी जोड़ें. टेस्टर के ग्रुप बनाने के बारे में ज़्यादा जानने के लिए, टेस्टर जोड़ना और हटाना लेख पढ़ें.
- टेस्टर को बिल्ड उपलब्ध कराने के लिए, डिस्ट्रिब्यूट करें पर क्लिक करें.
Firebase कंसोल में, अब अपने ऐप्लिकेशन की रिलीज़ में जोड़े गए टेस्टर को देखा जा सकता है.
आपने अपना ईमेल पता शामिल किया है, इसलिए आपको Firebase App Distribution से एक ईमेल मिलेगा. इसमें आपको ऐप्लिकेशन की जांच करने के लिए कहा जाएगा. अब आप पहले टेस्टर हैं! अपने टेस्ट डिवाइस पर टेस्टर के तौर पर सेट अप करने के लिए, न्योता स्वीकार करें में दिए गए निर्देशों का पालन करें.
न्योता स्वीकार करें
रिलीज़ को डाउनलोड करने और उसकी जांच करने के लिए, आपको पहले न्योता स्वीकार करना होगा.
- अपने Android टेस्ट डिवाइस पर, Firebase App Distribution से भेजा गया ईमेल खोलें और शुरू करें पर टैप करें.
- इसके बाद दिखने वाले Firebase App Distribution टेस्टर के वेब ऐप्लिकेशन में, अपने Google खाते से साइन इन करें और न्योता स्वीकार करें पर टैप करें. अब उस रिलीज़ को देखा जा सकता है जिसे टेस्ट करने के लिए आपको न्योता भेजा गया है.
टेस्ट डिवाइस से रिलीज़ डाउनलोड करना
Appडिस्ट्रिब्यूशन कोडलैब ऐप्लिकेशन पर जाने के बाद, आपको दिखेगा कि रिलीज़ डाउनलोड के लिए तैयार है.
- डाउनलोड करें पर टैप करें. इसके बाद, ऐप्लिकेशन को इंस्टॉल करके चलाएं!
- ऐप्लिकेशन शुरू होने पर, आपसे बिल्ड की नई सूचनाएं चालू करने के लिए कहा जाएगा. चालू करें पर टैप करें.
- अपने टेस्टर खाते से साइन इन करें.
आपको ऐप्लिकेशन पर वापस भेज दिया जाएगा. अगली बार ऐप्लिकेशन इस्तेमाल करने पर, आपको साइन इन करने या सूचनाओं को स्वीकार करने की ज़रूरत नहीं होगी
अपने टेस्टर को अपडेट देना
- अपने versionName को "1.1" में अपडेट करें और आपके मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर app/build.gradle) में versionCode 2 को 2 पर सेट करना होता है.
- अपनी सामान्य प्रक्रिया का इस्तेमाल करके अपना APK बनाएं. आपको अपने डीबग पासकोड या ऐप्लिकेशन साइनिंग पासकोड से APK पर साइन करना होगा.
- अपने Firebase कंसोल में इस नए APK को अपलोड करें, अपने ईमेल को टेस्टर के तौर पर फिर से जोड़ें और डिस्ट्रिब्यूट करें पर क्लिक करें.
बिल्ड अलर्ट की जांच करना
- अगर ऐप्लिकेशन खुला हुआ है, तो पक्का करें कि आपने उसे बंद कर दिया हो.
- ऐप्लिकेशन रीस्टार्ट करें.
- ऐप्लिकेशन के रीस्टार्ट होने पर, आपको नया वर्शन उपलब्ध होने की सूचना मिलती है.
- नया वर्शन पाने के लिए, अपडेट करें पर क्लिक करें.
- अगर कहा जाए, तो अज्ञात सोर्स से ऐप्लिकेशन इंस्टॉल करने की सुविधा चालू करने का विकल्प चुनें.
- अगली स्क्रीन पर इंस्टॉल करें (या अपडेट करें) पर क्लिक करें.
- बधाई हो! आपने ऐप्लिकेशन में पहले से मौजूद सूचनाएं अपडेट कर ली थीं.
7. टेस्टर में साइन इन करने के तरीके को पसंद के मुताबिक बनाएं
signInTester/signOutTester और isTesterSignedIn तरीकों से आपको अपने टेस्टर के साइन-इन अनुभव को पसंद के मुताबिक बनाने की ज़्यादा सुविधा मिलती है, ताकि यह आपके ऐप्लिकेशन के रंग-रूप के साथ बेहतर मिलान कर सके.
नीचे दिए गए उदाहरण में यह जांच की जाती है कि टेस्टर ने अपने Firebase App Distribution टेस्टर खाते में पहले से साइन इन किया है या नहीं. इसलिए, सिर्फ़ उन टेस्टर को अपना साइन इन यूज़र इंटरफ़ेस (यूआई) दिखाने का विकल्प चुना जा सकता है जिन्होंने अभी तक साइन इन नहीं किया है. टेस्टर के साइन इन करने के बाद, checkForUpdate पर कॉल करके यह देखा जा सकता है कि टेस्टर के पास नए बिल्ड का ऐक्सेस है या नहीं.
checkForUpdate() कॉल पर टिप्पणी करके, onName में अपडेट की जांच अपने-आप बंद होने की सुविधा बंद करता है.
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
इसके बजाय, checkForUpdate() को अपडेटबटन के OnClickListener में पहले से ही जोड़ा जा चुका है.
अब, signIn() तरीके को लागू करते हैं. यह तरीका, अगर उपयोगकर्ता ने साइन आउट किया हुआ है, तो उसे साइन इन कर दिया जाएगा. अगर उपयोगकर्ता ने पहले से साइन इन किया हुआ है, तो उसे साइन आउट कर देंगे.
MainActivity.kt
private fun signIn() {
if (isTesterSignedIn()) {
firebaseAppDistribution.signOutTester()
configureUpdateButton()
configureSigninButton()
} else {
firebaseAppDistribution.signInTester()
}
}
आखिर में, isTesterSignedIn तरीके को लागू करते हैं.
MainActivity.kt
private fun isTesterSignedIn() : Boolean {
return firebaseAppDistribution.isTesterSignedIn
}
लागू करने का तरीका बनाना और उसकी जांच करना
8. बधाई हो!
आपने "ऐप्लिकेशन में अलर्ट डिसप्ले" बनाया है Firebase App Distribution Android SDK टूल का इस्तेमाल करके किसी ऐप्लिकेशन में सुविधा जोड़ सकते हैं.
हमने इन विषयों के बारे में बताया
- Firebase App Distribution
- Firebase App Distribution नई सूचनाएं Android SDK
अगले चरण
ज़्यादा जानें
क्या आपका कोई सवाल है?
- Stack Overflow 'firebase-app-डिस्ट्रिब्यूशन'
- Firebase कम्यूनिटी के लिए स्लैक चैनल #app-डिस्ट्रिब्यूशन
समस्याओं की शिकायत करना