इस गाइड में बताया गया है कि Android प्लैटफ़ॉर्म और Google Play, ऐप्लिकेशन के अपडेट को कैसे मैनेज करते हैं. साथ ही, इसमें उन डेवलपर के लिए अलग-अलग विकल्पों के बारे में बताया गया है जो अपने ऐप्लिकेशन को एक से ज़्यादा ऐप्लिकेशन स्टोर पर पब्लिश करते हैं.
Android, ऐप्लिकेशन के अपडेट को कैसे मैनेज करता है
हर Android ऐप्लिकेशन का एक यूनीक ऐप्लिकेशन आईडी होता है, जो com.example.myapp
जैसे Java या Kotlin पैकेज के नाम जैसा दिखता है. इस आईडी से, डिवाइस पर मौजूद हर ऐप्लिकेशन की यूनीक पहचान की जाती है. Android डिवाइसों पर, एक बार में किसी दिए गए ऐप्लिकेशन आईडी वाला सिर्फ़ एक ऐप्लिकेशन इंस्टॉल किया जा सकता है.
Android प्लैटफ़ॉर्म पर किसी अपडेट को स्वीकार करने के लिए, ये शर्तें पूरी होनी चाहिए:
- अपडेट का ऐप्लिकेशन आईडी, इंस्टॉल किए गए ऐप्लिकेशन के आईडी से मेल खाना चाहिए.
- अपडेट का साइनिंग सर्टिफ़िकेट, इंस्टॉल किए गए ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट जैसा ही होना चाहिए. इसके अलावा, इसमें मान्य रोटेशन का सबूत होना चाहिए.
- अपडेट का वर्शन कोड, इंस्टॉल किए गए ऐप्लिकेशन के वर्शन कोड से बड़ा या उसके बराबर होना चाहिए.
- कुछ मामलों में, उपयोगकर्ता को अपडेट स्वीकार करना पड़ सकता है.
ध्यान दें कि जब अपडेट में एक ही साइनिंग सर्टिफ़िकेट और एक ही या उससे ज़्यादा वर्शन कोड हो, तो अलग-अलग इंस्टॉलर के ऐप्लिकेशन को अपडेट करने से रोकने के लिए, कोई सुविधा डिफ़ॉल्ट रूप से उपलब्ध नहीं होती.
ऊपर दी गई शर्तों को पूरा न करने वाले ऐप्लिकेशन को इंस्टॉल करने के लिए, उपयोगकर्ता को पहले डिवाइस पर मौजूद ऐप्लिकेशन का मौजूदा वर्शन अनइंस्टॉल करना होगा. इससे डिवाइस से ऐप्लिकेशन का सारा डेटा मिट जाता है.
Google Play, ऐप्लिकेशन को कैसे अपडेट करता है
ऐप्लिकेशन अपडेट करने के लिए, Google Play इन सिद्धांतों का पालन करता है:
- उपयोगकर्ताओं को अप-टू-डेट रखें. हमारा सुझाव है कि ऐप्लिकेशन को अप-टू-डेट रखें, ताकि उपयोगकर्ताओं को सुरक्षा से जुड़ी समस्याओं से बचाया जा सके. साथ ही, नई सुविधाओं में हुए सुधारों का फ़ायदा भी लिया जा सके.
- उपयोगकर्ता की पसंद का सम्मान करें. Google Play, उपयोगकर्ताओं के खातों से जुड़े ऐप्लिकेशन अपडेट करता है. साथ ही, अपडेट करने के लिए उपयोगकर्ताओं की चुनी गई प्राथमिकताओं के आधार पर भी ऐप्लिकेशन अपडेट करता है. जैसे, मेज़र किए गए डेटा के इस्तेमाल की अनुमति देना या न देना.
- डेवलपर की पसंद का सम्मान करें. ऐप्लिकेशन के अपडेट तय करते समय, Google Play डेवलपर के कॉन्फ़िगरेशन के विकल्पों का इस्तेमाल करता है.
- संसाधनों को बर्बाद होने से बचाएं. अपडेट डाउनलोड करने के समय को ऑप्टिमाइज़ करके, बैटरी लाइफ़ को बनाए रखें. साथ ही, कंप्रेस और पैच करने जैसी तकनीकों का इस्तेमाल करके, डेटा के इस्तेमाल को कम करें.
किसी डिवाइस पर इंस्टॉल किए गए किसी ऐप्लिकेशन के लिए, Google Play उसे अपडेट करता है. हालांकि, इसके लिए ज़रूरी है कि वह ऐप्लिकेशन इन शर्तों को पूरा करता हो:
- ऐप्लिकेशन को उसी ऐप्लिकेशन आईडी के साथ Google Play पर पब्लिश किया गया हो.
- पब्लिश किए गए ऐप्लिकेशन का साइनिंग सर्टिफ़िकेट, फ़िलहाल इंस्टॉल किए गए वर्शन के साइनिंग सर्टिफ़िकेट से मेल खाता हो या उसमें रोटेशन का मान्य सबूत हो.
- ऐप्लिकेशन, उपयोगकर्ता की लाइब्रेरी का हिस्सा है या किसी OEM ने उसे पहले से लोड किया है.
- यह ऐप्लिकेशन, डेवलपर के तय किए गए टारगेटिंग विकल्पों के मुताबिक, इस उपयोगकर्ता और इस डिवाइस के लिए उपलब्ध है.
- Google Play पर उपलब्ध वर्शन की तुलना में, इंस्टॉल किया गया ऐप्लिकेशन पुराना है.
जब तक ये शर्तें पूरी होती हैं, तब तक Google Play ऐप्लिकेशन को अपडेट कर सकता है. यहां दिए गए उप-विभागों में, सूची में दी गई कुछ शर्तों के बारे में जानकारी दी गई है.
ध्यान दें कि Google Play, ऐप्लिकेशन का कॉन्टेंट डाउनलोड करने या डेवलपर की ओर से ऐप्लिकेशन के बाइनरी को मैनेज करने के लिए, Android वर्शन कोड में बदलाव किए बिना भी ऐसा करता है. उदाहरण के लिए, जब ऐप्लिकेशन का कुछ हिस्सा डाउनलोड किया जाता है या मांग पर स्प्लिट डाउनलोड किए जाते हैं.
Google Play पर पब्लिश किया गया
Google Play पर पब्लिश किए गए ऐप्लिकेशन की खास तौर पर पहचान करने के लिए, Google Play इस ऐप्लिकेशन आईडी का इस्तेमाल करता है. यह शर्त तब पूरी होती है, जब इंस्टॉल किए गए ऐप्लिकेशन का ऐप्लिकेशन आईडी, Google Play पर पब्लिश किए गए किसी ऐप्लिकेशन के ऐप्लिकेशन आईडी से मेल खाता हो.
उपयोगकर्ता की लाइब्रेरी का हिस्सा
यह शर्त तब पूरी होती है, जब इनमें से कोई एक बात सही हो:
- डिवाइस पर मौजूद किसी भी चालू Google खाते ने, Google Play पर 'इंस्टॉल करें' या 'खरीदें' बटन पर टैप करके, पहले ही ऐप्लिकेशन हासिल कर लिया हो.
- OEM ने ऐप्लिकेशन को सिस्टम इमेज के हिस्से के तौर पर पहले से लोड किया हो.
उपयोगकर्ता, अपनी लाइब्रेरी से ऐप्लिकेशन को मैन्युअल तरीके से भी हटा सकते हैं.
पुराना
Google Play, वर्शन कोड को देखकर यह तय करता है कि किसी डिवाइस पर इंस्टॉल किया गया ऐप्लिकेशन पुराना है या नहीं. अगर Google Play पर डाउनलोड के लिए उपलब्ध वर्शन का वर्शन कोड, इंस्टॉल किए गए वर्शन के वर्शन कोड से ज़्यादा है, तो Google Play इंस्टॉल किए गए ऐप्लिकेशन को पुराना मानता है.
एक से ज़्यादा ऐप स्टोर पर मौजूद ऐप्लिकेशन
एक से ज़्यादा ऐप स्टोर पर ऐप्लिकेशन पब्लिश करने पर, अलग-अलग स्टोर पर अपडेट को कंट्रोल करने के कुछ तरीके हैं. यहां दिए गए सेक्शन में इन विकल्पों के साथ-साथ, उनके संभावित फ़ायदों और नुकसानों के बारे में बताया गया है.
अलग-अलग स्टोर पर अपडेट होने से रोकना
हो सकता है कि आप हर ऐप्लिकेशन स्टोर को, अपने ऐप्लिकेशन के लिए एक से ज़्यादा ऐप्लिकेशन स्टोर पर अपडेट करने से रोकना चाहें. ऐसा तब किया जा सकता है, जब हर ऐप्लिकेशन स्टोर पर आपके ऐप्लिकेशन का कॉन्टेंट अलग-अलग हो. ऐसा करने के लिए, ऐप्लिकेशन को दो अलग-अलग ऐप्लिकेशन आईडी के साथ पब्लिश करें. इसके अलावा, एक ही ऐप्लिकेशन आईडी और दो अलग-अलग साइनिंग पासकोड के साथ भी ऐप्लिकेशन पब्लिश किया जा सकता है.
साइनिंग पासकोड के हैक होने के जोखिम को कम करने के लिए, हो सकता है कि आप साइनिंग पासकोड का दोबारा इस्तेमाल कम से कम करें. इसलिए, हर ऐप्लिकेशन स्टोर के लिए एक अलग ऐप्लिकेशन साइनिंग पासकोड का इस्तेमाल करें. ऐसा करने से, एक स्टोर से दूसरे स्टोर पर अपडेट होने से रोका जा सकता है.
चाहे आपने कोई भी तरीका चुना हो, Android उन ऐप्लिकेशन को काम न करने वाला मानता है जिनमें मैच करने वाला ऐप्लिकेशन आईडी और साइनिंग पासकोड नहीं है. अगर कोई उपयोगकर्ता किसी एक स्टोर से दूसरे स्टोर पर स्विच करना चाहता है, तो उसे इंस्टॉल किया गया ऐप्लिकेशन मिटाना होगा. इससे उस ऐप्लिकेशन से जुड़ा सारा डेटा मिट जाएगा. इसके बाद, उसे दूसरे स्टोर से ऐप्लिकेशन को फिर से इंस्टॉल करना होगा.
अलग-अलग स्टोर में अपडेट करने की अनुमति देना
आपके पास हर ऐप्लिकेशन स्टोर को, आपके ऐप्लिकेशन के लिए एक से ज़्यादा ऐप्लिकेशन स्टोर पर अपडेट करने की अनुमति देने का विकल्प होता है. ऐसा तब किया जा सकता है, जब आपने अपने ऐप्लिकेशन को सभी ऐप्लिकेशन स्टोर पर एक ही कॉन्टेंट के साथ उपलब्ध कराया हो और आपको उपयोगकर्ताओं को अप-टू-डेट रखने पर प्राथमिकता देनी हो. जब तक आपने अपने ऐप्लिकेशन को पब्लिश करने के लिए, सभी ऐप्लिकेशन स्टोर पर एक ही ऐप्लिकेशन आईडी और साइनिंग पासकोड का इस्तेमाल किया है, तब तक हर ऐप्लिकेशन स्टोर आपके ऐप्लिकेशन के इंस्टॉल को अपडेट कर सकता है. भले ही, उपयोगकर्ता ने ऐप्लिकेशन को शुरुआत में किसी भी ऐप्लिकेशन स्टोर से डाउनलोड किया हो.
हालांकि, इससे आपके उपयोगकर्ताओं के व्यवहार में अचानक बदलाव हो सकता है. यह इस बात पर निर्भर करता है कि हर ऐप्लिकेशन स्टोर, ऐप्लिकेशन के अपडेट को अलग-अलग स्टोर पर लागू करने का तरीका कैसे चुनता है. उदाहरण के लिए, हो सकता है कि कोई उपयोगकर्ता किसी एक स्टोर से अपडेट पाने की सुविधा बंद कर दे. ऐसा करने पर, उसे यह पता नहीं चलता कि कोई दूसरा स्टोर अपडेट भेजना जारी रख सकता है.
अगर आपने पहले अलग-अलग स्टोर पर अपडेट करने की अनुमति दी थी, लेकिन अब आपको डिवाइस पर मौजूद किसी खास अपडेट सोर्स को प्राथमिकता देनी है, तो अपने पसंदीदा ऐप स्टोर पर ऐप्लिकेशन को ज़्यादा वर्शन कोड के साथ रिलीज़ किया जा सकता है. साथ ही, अन्य ऐप स्टोर पर ऐप्लिकेशन को कम वर्शन कोड के साथ रिलीज़ करना जारी रखा जा सकता है. पसंदीदा सोर्स से ऐप्लिकेशन के नए वर्शन का कोड अपडेट इंस्टॉल होने के बाद, दूसरे ऐप स्टोर उस डिवाइस पर क्रॉस-अपडेट नहीं कर पाएंगे.