<पी> जब आप अपने एप्लिकेशन का नया संस्करण लॉन्च करते हैं, तो आप चाहते हैं कि आपके उपयोगकर्ताओं को इसके बारे में पता चले। क्या आपने कोई गंभीर बग ठीक किया है, कोई नई सुविधा जोड़ी है, या एप्लिकेशन आसानी से या तेज चलता है - उन्हें यह जानने की जरूरत है। पी> <पी> एप्लिकेशन डेवलपर्स के रूप में, हम चाहते हैं कि हमारे सभी उपयोगकर्ता हमारे एप्लिकेशन के नवीनतम संस्करण का उपयोग करें। <पी> लेकिन हम यह कैसे सुनिश्चित कर सकते हैं कि उपयोगकर्ताओं को हमारे एप्लिकेशन के नए संस्करण के बारे में पता है? <पी> उस प्रश्न का उत्तर काफी सरल है:एप्लिकेशन का नया संस्करण आने पर उन्हें सूचित क्यों नहीं किया जाए? पी> <पी> आप इसे विभिन्न तरीकों से कर सकते हैं: - पुश अधिसूचना का उपयोग करें
- एप्लिकेशन लॉन्च होने पर उन्हें बताएं
<पी> हम इस लेख में पुश नोटिफिकेशन पर चर्चा नहीं करेंगे। इसके बजाय हम यह दिखाने पर ध्यान केंद्रित करेंगे कि आप कैसे (एक या दो पैकेज का उपयोग करके) अपने उपयोगकर्ताओं को एक संवाद दिखा सकते हैं कि उन्हें सूचित करें कि एप्लिकेशन का एक नया संस्करण आ गया है और अपडेट से कैसे निपटें। रुको, क्या यह पहले से ही शामिल नहीं है?
<पी> आप सोचेंगे कि इस तरह की कार्यक्षमता पहले से ही आधुनिक मोबाइल ओएस सिस्टम में शामिल होनी चाहिए। और आप सही होंगे - लेकिन केवल Android के लिए। पी> <पी> iOS (वर्तमान में) डेवलपर्स को यह देखने की क्षमता नहीं देता है कि एप्लिकेशन का कोई नया संस्करण है या नहीं और उपयोगकर्ताओं को इसके बारे में सूचित करें। एंड्रॉइड में, आपके पास इन-ऐप अपडेट लाइब्रेरी है जो Google Play लाइब्रेरी का हिस्सा है। <पी> इस वजह से, और क्योंकि फ़्लटर दोनों प्लेटफार्मों का समर्थन करता है, मैं दो प्रमुख पैकेजों पर जाने जा रहा हूं जो आपके एप्लिकेशन के संस्करण अपडेट को संभालने में आपकी सहायता करते हैं: - अपग्रेडर
- ऐप अपडेट में
<पी> दोनों आपको वांछित परिणाम दे सकते हैं, लेकिन वे इसे कैसे करते हैं, इसमें व्यापक रूप से भिन्नता है। <पी> शुरू करने से पहले, यह समझना महत्वपूर्ण है कि आपके पास अपने एप्लिकेशन का एक संस्करण होना चाहिए जो सीधे Google Play स्टोर से इंस्टॉल किया गया हो . यह आवश्यक है क्योंकि दोनों पैकेज Google Play सेवाओं और एप्लिकेशन के स्वामी को सत्यापित करने की इसकी क्षमता पर निर्भर हैं। पी> <पी> यदि आप ऐसा करने में विफल रहते हैं, तो किसी एक पैकेज का उपयोग करने का प्रयास करते समय आपको निम्नलिखित त्रुटि दिखाई देगी: <पी> _इंस्टॉल त्रुटि(-10):इस डिवाइस पर ऐप का स्वामित्व किसी भी उपयोगकर्ता के पास नहीं है। कोई ऐप "स्वामित्व वाला" होता है यदि उसे Play से प्राप्त किया गया हो। (https://developer.android.com/reference/com/google/android/play/core/install/model/InstallErrorCode#ERROR_APP_NOTस्वामित्व वाला) पी> इन ऐप अपडेट पैकेज का उपयोग कैसे करें
<पी> आपको शुरू से ही पता होना चाहिए कि यह पैकेज केवल एंड्रॉइड पर काम करेगा। ऐसा इसलिए है क्योंकि यह अपने आंतरिक कामकाज के लिए इन ऐप अपडेट लाइब्रेरी पर निर्भर करता है। पी> <पी> यह पैकेज मूल रूप से एंड्रॉइड लाइब्रेरी के लिए एक रैपर है। नीचे इसकी उजागर एपीआई विधियाँ हैं: Future<AppUpdateInfo> checkForUpdate() :जाँचता है कि क्या कोई अपडेट उपलब्ध है
Future<AppUpdateResult> performImmediateUpdate() :तत्काल अपडेट करता है (पूर्ण-स्क्रीन)
Future<AppUpdateResult> startFlexibleUpdate() :एक लचीला अद्यतन प्रारंभ करता है (पृष्ठभूमि डाउनलोड)
Future<void> completeFlexibleUpdate() :वास्तव में एक उपलब्ध लचीला अद्यतन स्थापित करता है
<पी> ✋ यदि आप तत्काल अपडेट या लचीले अपडेट के बीच अंतर के बारे में अधिक पढ़ना चाहते हैं, तो यहां जाएं। पैकेज कैसे सेट करें
<पी> सबसे पहले, पैकेज को अपनी pubspec.yaml फ़ाइल में जोड़ें: dependencies:
flutter:
sdk: flutter
in_app_update: ^3.0.0
<पी> फिर पब गेट करें। <पी> अपने एप्लिकेशन के अंदर, जहां आप ऐप अपडेट को संभालने के लिए तर्क निष्पादित करना चाहते हैं, निम्नलिखित आयात जोड़ें: import 'package:in_app_update/in_app_update.dart';
<पी> हमें सबसे पहले तर्क जोड़ने की आवश्यकता होगी जो जांचता है कि हमारे एप्लिकेशन में कोई अपडेट है या नहीं। ऐसा करने के लिए, हम checkForUpdate का उपयोग करेंगे विधि. इसका रिटर्न वैल्यू एक Future है जिसमें ऐप अपडेट की उपलब्धता और प्रगति के बारे में जानकारी होती है। पी> <पी> हम updateAvailability प्रॉपर्टी का उपयोग करके जांच सकते हैं कि कोई अपडेट उपलब्ध है या नहीं। यदि कोई अपडेट उपलब्ध है, तो उसका मान UPDATE_AVAILABLE होगा . तो, आपकी विधि इस तरह दिख सकती है: InAppUpdate.checkForUpdate().then((updateInfo) {
if (updateInfo.updateAvailability == UpdateAvailability.updateAvailable) {
//Logic to perform an update
}
});
<पी> इसके बाद, हमें यह तय करना होगा कि हम किस प्रकार का अपडेट ट्रिगर करना चाहते हैं - या तो लचीला या तत्काल अपडेट। पी> <पी> तत्काल अपडेट के लिए जाना उस एप्लिकेशन अपडेट के लिए आरक्षित होना चाहिए जो आपके उपयोगकर्ताओं के लिए महत्वपूर्ण है। इसका मतलब एक ऐसा संस्करण हो सकता है जो एक महत्वपूर्ण बग को ठीक करता है या एक नई सुविधा प्रदान करता है। पी> <पी> तत्काल अपडेट शुरू करने के लिए, हम performImmediateUpdate का उपयोग कर सकते हैं विधि. यह विधि एक AppUpdateResult एनम लौटाती है जो आपको बताती है कि अपडेट सफल था या नहीं। पी> <पी> इस पद्धति को कॉल करने से पहले हमें यह जांचना होगा कि क्या हमें तत्काल अपडेट चलाने की अनुमति है। हम ऐसा immediateUpdateAllowed तक पहुंच कर करते हैं AppUpdateInfo ऑब्जेक्ट पर फ़्लैग करें। <पी> यदि हम एक लचीला अद्यतन ट्रिगर करना चाहते हैं, तो हम startFleixbleUpdate का उपयोग करते हैं विधि. यह पृष्ठभूमि में चलता है और तत्काल अद्यतन विधि के समान है। यह एक AppUpdateResult एनम भी लौटाता है। पी> <पी> यदि इस परिदृश्य में अद्यतन सफल रहा, तो हमें completeFlexibleUpdate को कॉल करने की आवश्यकता है हमारे एप्लिकेशन पर अपडेट इंस्टॉल करने की विधि। <पी> इसलिए, यदि हम ऊपर दिए गए कोड स्निपेट को देखें और विभिन्न प्रकार के अपडेट के लिए तर्क जोड़ें, तो यह इस तरह दिखेगा: InAppUpdate.checkForUpdate().then((updateInfo) {
if (updateInfo.updateAvailability == UpdateAvailability.updateAvailable) {
if (updateInfo.immediateUpdateAllowed) {
// Perform immediate update
InAppUpdate.performImmediateUpdate().then((appUpdateResult) {
if (appUpdateResult == AppUpdateResult.success) {
//App Update successful
}
});
} else if (updateInfo.flexibleUpdateAllowed) {
//Perform flexible update
InAppUpdate.startFlexibleUpdate().then((appUpdateResult) {
if (appUpdateResult == AppUpdateResult.success) {
//App Update successful
InAppUpdate.completeFlexibleUpdate();
}
});
}
}
});
अपग्रेडर पैकेज का उपयोग कैसे करें
<पी> पहले विकल्प के विपरीत, यह iOS और Android दोनों के लिए एक समाधान प्रदान करता है। यह स्टोर से डेटा इकट्ठा करने और एप्लिकेशन से मौजूदा डेटा के विरुद्ध इसकी जांच करने पर निर्भर करता है। पी> <पी> डेटा को क्वेरी करने के लिए एपीआई के बजाय, इस पैकेज में विजेट हैं जो हुड के नीचे तर्क निष्पादित करते हैं। पैकेज कैसे सेट करें
<पी> सबसे पहले, पैकेज को अपनी pubspec.yaml फ़ाइल में जोड़ें: dependencies:
flutter:
sdk: flutter
upgrader: ^5.0.0
<पी> फिर पब गेट करें। <पी> अपने एप्लिकेशन के अंदर, जहां आप ऐप अपडेट को संभालने के लिए तर्क निष्पादित करना चाहते हैं, निम्नलिखित आयात जोड़ें: import 'package:upgrader/upgrader.dart';
<पी> इन दोनों विकल्पों के बीच मुख्य अंतर केवल यूआई है, इसलिए वह चुनें जो आपके लिए सबसे उपयुक्त हो। पी> <पी> इस पैकेज को एकीकृत करने के लिए, आपको अपने बॉडी विजेट को अपग्रेडअलर्ट के साथ लपेटना होगा या अपग्रेड कार्ड . नीचे एक उदाहरण है: class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: applicationName,
home: UpgradeAlert( /// <------------------
child: MainPage(
key: Key("YOUR_KEY"),
title: applicationName
),
)
);
}
}
<पी> यदि आपके एप्लिकेशन का नया संस्करण स्टोर में उपलब्ध है, तो आपको यह दिखाई देगा: <पी>
<पी> चीज़ों का परीक्षण करने के लिए, सुनिश्चित करें कि आप इसे जोड़ें: await Upgrader.clearSavedSettings()
<पी> आपकी main.dart फ़ाइल में आपकी मुख्य विधि के अंदर। <पी> जैसा कि आप जानते हैं, ढेर सारे कॉन्फ़िगरेशन हैं जिन्हें आप अपग्रेडर पैकेज के लिए सेट कर सकते हैं। मैं अत्यधिक अनुशंसा करता हूं कि आप जाएं और इन्हें जांचें। पैकेज का परीक्षण कैसे करें
<पी> भले ही आप किस पैकेज के साथ काम करना चुनते हैं, आपको यह जानना होगा कि आपका तर्क ठीक से काम करता है। पी> <पी> लेकिन आप अपने एप्लिकेशन का आधिकारिक संस्करण जारी किए बिना ऐसा कैसे कर सकते हैं? आप Google Play कंसोल में आंतरिक परीक्षण विकल्प का उपयोग कर सकते हैं। आंतरिक परीक्षकों के लिए आपके एप्लिकेशन का नया संस्करण जारी करने से, यह सार्वजनिक नहीं होगा और आपको अपग्रेड कार्यक्षमता का परीक्षण करने की अनुमति देगा। <पी> आपको यह करना होगा: - अपने Google Play कंसोल खाते में लॉग इन करें और अद्यतन तर्क प्राप्त करने के लिए उस एप्लिकेशन में जाएं जिस पर आप काम कर रहे हैं
- सेटअप → आंतरिक ऐप शेयरिंग के तहत, परीक्षकों को प्रबंधित करें पर जाएं और सुनिश्चित करें कि परीक्षकों को साझा एप्लिकेशन को डाउनलोड और इंस्टॉल करने की अनुमति दी जाए। आप या तो लिंक के माध्यम से या ईमेल के माध्यम से ऐसा करना चुन सकते हैं।
<पी>
- फिर, परीक्षण → आंतरिक परीक्षण पर जाएं और नया रिलीज़ बनाएं बटन (ऊपर दाएं) पर क्लिक करें।
<पी>
- एक बार जब आप रिलीज़ कर लेते हैं, तो आप मुख्य आंतरिक परीक्षण पृष्ठ पर वापस जा सकते हैं और परीक्षक टैब पर क्लिक कर सकते हैं। वहां आपको परीक्षक ईमेल वाली एक सूची दिखाई देगी (अभी खाली है)। नीले तीर आइकन पर क्लिक करें।
<पी>
- इस स्क्रीन में आप स्वयं को एक आंतरिक परीक्षक के रूप में जोड़ सकते हैं (ईमेल पते जोड़ें में)।
<पी>
- जब आपका काम पूरा हो जाए, तो आप आंतरिक परीक्षण विंडो पर वापस जा सकते हैं। नीचे स्क्रॉल करें और आप देखेंगे कि कैसे परीक्षक आपके परीक्षण में शामिल होते हैं और आपको एक कॉपी लिंक बटन दिखाई देगा।
<पी> अब आप बटन पर क्लिक कर सकते हैं और स्वयं को लिंक भेज सकते हैं ताकि आप अपने एप्लिकेशन का नया संस्करण डाउनलोड कर सकें। <पी> यदि आप उपरोक्त चरणों में से कोई एक करने में विफल रहते हैं, तो उत्पन्न लिंक एक नहीं मिला (त्रुटि 404) पृष्ठ पर ले जाएगा: <पी>
<पी> यदि आपने सब कुछ सफलतापूर्वक किया, तो जेनरेट किए गए लिंक पर क्लिक करने पर आपको निम्नलिखित दिखाई देगा: <पी>
<पी> यदि आपको यह त्रुटि दिखाई देती है: <पी> _इंस्टॉल त्रुटि(-6):वर्तमान डिवाइस स्थिति (उदाहरण के लिए कम बैटरी, कम डिस्क स्थान,…) के कारण डाउनलोड/इंस्टॉल की अनुमति नहीं है। (https://developer.android.com/reference/com/google/android/play/core/install/model/InstallErrorCode#ERROR_INSTALL_NOTअनुमति) पी> <पी> इसका मतलब यह हो सकता है कि आप अपना एप्लिकेशन एक अनुकरणीय डिवाइस पर चला रहे हैं और आपको उस पर Google Play Store इंस्टॉल करना होगा और लॉग इन करना होगा। समापन
<पी> मैंने यह लेख इसलिए लिखा क्योंकि मुझे अपने स्वयं के एप्लिकेशन के साथ इन ऐप अपडेट पैकेज को एकीकृत करते समय उसी प्रक्रिया से गुजरना पड़ा था। पी> <पी> Google Play Store पर इसे देखने के लिए आपका स्वागत है: <पी>
<पी> और संपूर्ण स्रोत कोड यहां देखें: <पी> पढ़ने के लिए धन्यवाद! <पी> मुफ़्त में कोड करना सीखें. फ्रीकोडकैंप के ओपन सोर्स पाठ्यक्रम ने 40,000 से अधिक लोगों को डेवलपर्स के रूप में नौकरी पाने में मदद की है। आरंभ करें