इंस्टॉल करने की रणनीति तय करने का तरीका

पब्लिश करने की तारीख: 12 मई, 2020

पहले, ऐप्लिकेशन इंस्टॉल करने की सुविधा सिर्फ़ प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन के लिए उपलब्ध थी. आजकल, मॉडर्न वेब ऐप्लिकेशन को इंस्टॉल किया जा सकता है. ये ऐप्लिकेशन, प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन की तरह ही इंटिग्रेट किए जा सकते हैं और भरोसेमंद होते हैं.

ऐसा अलग-अलग तरीकों से किया जा सकता है:

अलग-अलग डिस्ट्रिब्यूशन चैनल होने से, ज़्यादा उपयोगकर्ताओं तक पहुंचा जा सकता है. हालांकि, अपने PWA को इंस्टॉल करने के लिए सही रणनीति चुनना मुश्किल हो सकता है.

इस गाइड में, इंस्टॉल करने के अलग-अलग विकल्पों को एक साथ इस्तेमाल करने के सबसे सही तरीके बताए गए हैं. इससे इंस्टॉल करने की दरें बढ़ाई जा सकती हैं. साथ ही, प्लैटफ़ॉर्म के बीच होने वाली प्रतिस्पर्धा और एक-दूसरे के उपयोगकर्ताओं को कम किया जा सकता है. इंस्टॉल करने के ऑफ़र में, ब्राउज़र और App Store, दोनों से इंस्टॉल किए गए PWA के साथ-साथ, प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन भी शामिल हैं.

वेब ऐप्लिकेशन को इंस्टॉल करने की सुविधा क्यों देनी चाहिए?

इंस्टॉल किए गए प्रोग्रेसिव वेब ऐप्लिकेशन, ब्राउज़र टैब के बजाय स्टैंडअलोन विंडो में चलते हैं. इन्हें उपयोगकर्ता की होम स्क्रीन, डॉक, टास्कबार या शेल्फ़ से लॉन्च किया जा सकता है. किसी डिवाइस पर इन्हें खोजा जा सकता है. साथ ही, ऐप्लिकेशन स्विचर की मदद से इनके बीच स्विच किया जा सकता है. इससे ऐसा लगता है कि ये उसी डिवाइस का हिस्सा हैं जिस पर इन्हें इंस्टॉल किया गया है.

हालांकि, इंस्टॉल किए जा सकने वाले वेब ऐप्लिकेशन और प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन, दोनों के होने से लोगों को भ्रम हो सकता है. कुछ लोगों के लिए, प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन सबसे अच्छे विकल्प हो सकते हैं. हालांकि, दूसरों के लिए इनमें कुछ कमियां हो सकती हैं:

  • स्टोरेज की सीमाएं: नया ऐप्लिकेशन इंस्टॉल करने के लिए, आपको दूसरे ऐप्लिकेशन मिटाने पड़ सकते हैं या ज़रूरी कॉन्टेंट हटाकर जगह खाली करनी पड़ सकती है. यह खास तौर पर, कम सुविधाओं वाले डिवाइसों का इस्तेमाल करने वाले लोगों के लिए नुकसानदेह है.
  • उपलब्ध बैंडविड्थ: ऐप्लिकेशन डाउनलोड करना महंगा और धीमी प्रोसेस हो सकती है. यह उन लोगों के लिए और भी मुश्किल हो सकता है जिनके पास धीमा इंटरनेट कनेक्शन और महंगा डेटा प्लान है.
  • परेशानी: किसी वेबसाइट को छोड़कर, ऐप्लिकेशन डाउनलोड करने के लिए स्टोर पर जाने से, उपयोगकर्ता को ज़्यादा परेशानी होती है. साथ ही, वेब पर सीधे तौर पर की जा सकने वाली कार्रवाई में देरी होती है.
  • अपडेट साइकल: प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन में बदलाव करने के लिए, ऐप्लिकेशन की समीक्षा की प्रोसेस से गुज़रना पड़ सकता है. इससे बदलाव करने और एक्सपेरिमेंट (जैसे, A/B टेस्ट) करने में समय लग सकता है.

कुछ मामलों में, ऐसा हो सकता है कि प्लैटफ़ॉर्म के हिसाब से बनाए गए आपके ऐप्लिकेशन को डाउनलोड न करने वाले लोगों का प्रतिशत ज़्यादा हो. उदाहरण के लिए: ऐसे लोग जो सोचते हैं कि वे ऐप्लिकेशन का इस्तेमाल बार-बार नहीं करेंगे या जो कई मेगाबाइट स्टोरेज या डेटा खर्च करने का सही कारण नहीं बता सकते. इस सेगमेंट के साइज़ का पता कई तरीकों से लगाया जा सकता है. उदाहरण के लिए, "सिर्फ़ मोबाइल वेब" का इस्तेमाल करने वाले लोगों के प्रतिशत को ट्रैक करने के लिए, Analytics सेटअप का इस्तेमाल किया जा सकता है.

अगर इस सेगमेंट का साइज़ काफ़ी बड़ा है, तो इसका मतलब है कि आपको अपने ऐप्लिकेशन को इंस्टॉल करने के अन्य तरीके उपलब्ध कराने होंगे.

ब्राउज़र में अपने PWA को इंस्टॉल करने का प्रमोशन करना

अगर आपके पास अच्छी क्वालिटी वाला PWA है, तो प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन के बजाय, PWA को इंस्टॉल करने का प्रमोशन करना बेहतर हो सकता है. उदाहरण के लिए, अगर प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन में, PWA की ओर से ऑफ़र की जाने वाली सुविधा मौजूद नहीं है या उसे काफ़ी समय से अपडेट नहीं किया गया है. अगर प्लैटफ़ॉर्म के हिसाब से बनाया गया ऐप्लिकेशन, बड़ी स्क्रीन के लिए ऑप्टिमाइज़ नहीं किया गया है, तो PWA को इंस्टॉल करने का प्रमोशन करना भी फ़ायदेमंद हो सकता है. जैसे, ChromeOS पर.

कुछ ऐप्लिकेशन के लिए, प्लैटफ़ॉर्म के हिसाब से ऐप्लिकेशन इंस्टॉल करने की संख्या बढ़ाना, कारोबार के मॉडल का एक अहम हिस्सा होता है. ऐसे में, प्लैटफ़ॉर्म के हिसाब से ऐप्लिकेशन इंस्टॉल करने का प्रमोशन करना कारोबार के लिए फ़ायदेमंद होता है. हालांकि, कुछ लोगों को वेब पर बने रहना ज़्यादा आसान लग सकता है. अगर उस सेगमेंट की पहचान की जा सकती है, तो PWA प्रॉम्प्ट सिर्फ़ उन्हें दिखाया जा सकता है. हम इसे फ़ॉलबैक के तौर पर PWA कहते हैं.

PWA को इंस्टॉल करने के मुख्य विकल्प के तौर पर इस्तेमाल करना

जब कोई PWA, इंस्टॉल होने की ज़रूरी शर्तें पूरी कर लेता है, तो ज़्यादातर ब्राउज़र यह सूचना दिखाते हैं कि PWA को इंस्टॉल किया जा सकता है. उदाहरण के लिए, डेस्कटॉप Chrome के पता बार में इंस्टॉल किया जा सकने वाला आइकॉन दिखता है. वहीं, मोबाइल पर मिनी-जानकारी वाला बार दिखता है:

Chrome इंस्टॉल करने के लिए दिखने वाले स्टैंडर्ड प्रॉम्प्ट को मिनी-इंफ़ोबार कहा जाता है.
लेख पढ़ें

हालांकि, कुछ मामलों में यह काफ़ी हो सकता है. अगर आपका लक्ष्य अपने PWA के इंस्टॉलेशन बढ़ाना है, तो हमारा सुझाव है कि आप BeforeInstallPromptEvent के लिए सुनें और अपने PWA के इंस्टॉलेशन को बढ़ावा देने के लिए पैटर्न का पालन करें.

अपने PWA को, प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन के इंस्टॉल रेट को कम करने से रोकना

कुछ मामलों में, अपने PWA के बजाय, प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन को इंस्टॉल करने का प्रमोशन किया जा सकता है. हालांकि, हमारा सुझाव है कि आप उपयोगकर्ताओं को अपना PWA इंस्टॉल करने की अनुमति देने के लिए, कोई तरीका ज़रूर उपलब्ध कराएं. इस फ़ॉलबैक विकल्प की मदद से, उन लोगों को ऐप्लिकेशन इंस्टॉल करने जैसा अनुभव मिलता है जो आपके प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन को इंस्टॉल नहीं कर सकते या नहीं करना चाहते.

इस रणनीति को लागू करने का पहला चरण यह है कि आप यह तय करें कि उपयोगकर्ता को अपने PWA के लिए इंस्टॉल प्रमोशन कब दिखाना है.

उदाहरण के लिए, PWA का इस्तेमाल करने वाला कोई व्यक्ति ऐसा हो सकता है जिसने आपके प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन को इंस्टॉल करने का प्रॉम्प्ट देखा हो, लेकिन उसे इंस्टॉल न किया हो. ऐसा हो सकता है कि वे आपकी साइट पर पांच या उससे ज़्यादा बार आएं और ऐप्लिकेशन बैनर पर क्लिक करें. हालांकि, इसके बावजूद वे वेबसाइट का इस्तेमाल करते रहें.

इस ह्यूरिस्टिक को इस तरह लागू किया जा सकता है:

  1. प्लैटफ़ॉर्म के हिसाब से ऐप्लिकेशन इंस्टॉल करने का बैनर दिखाएं.
  2. अगर कोई उपयोगकर्ता बैनर को खारिज करता है, तो उस जानकारी के साथ एक कुकी सेट करें. जैसे, document.cookie = "app-install-banner=dismissed".
  3. साइट पर उपयोगकर्ता की विज़िट की संख्या को ट्रैक करने के लिए, किसी दूसरी कुकी का इस्तेमाल करें. जैसे, document.cookie = "user-visits=1".
  4. isPWAUser() जैसा कोई फ़ंक्शन लिखें. यह फ़ंक्शन, कुकी में पहले से सेव की गई जानकारी और getInstalledRelatedApps() एपीआई का इस्तेमाल करके यह तय करता है कि कोई उपयोगकर्ता, PWA का इस्तेमाल करने वाला उपयोगकर्ता है या नहीं.
  5. जब उपयोगकर्ता कोई अहम कार्रवाई करता है, तब isPWAUser() को कॉल करें. अगर फ़ंक्शन सही वैल्यू दिखाता है और पीडब्ल्यूए को इंस्टॉल करने का प्रॉम्प्ट पहले सेव किया गया था, तो पीडब्ल्यूए को इंस्टॉल करने का बटन दिखाया जा सकता है.

किसी ऐप स्टोर में अपने PWA को इंस्टॉल करने का प्रमोशन करना

ऐप्लिकेशन स्टोर वाले ऐप्लिकेशन को कई अलग-अलग टेक्नोलॉजी की मदद से बनाया जा सकता है. इनमें PWA तकनीकें भी शामिल हैं. PWA को नेटिव एनवायरमेंट में ब्लेंड करना लेख में, आपको उन टेक्नोलॉजी के बारे में खास जानकारी मिलेगी जिनका इस्तेमाल इस काम के लिए किया जा सकता है.

स्टोर में मौजूद ऐप्लिकेशन को दो ग्रुप में बांटा जा सकता है:

  • प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन: इन ऐप्लिकेशन को ज़्यादातर प्लैटफ़ॉर्म के हिसाब से बनाए गए कोड का इस्तेमाल करके बनाया जाता है. ऐप्लिकेशन का साइज़, प्लैटफ़ॉर्म के हिसाब से अलग-अलग होता है. हालांकि, आम तौर पर Android पर इनका साइज़ 10 एमबी से ज़्यादा और iOS पर 30 एमबी होता है. अगर आपके पास PWA नहीं है या प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन में ज़्यादा सुविधाएं उपलब्ध हैं, तो आपको अपने प्लैटफ़ॉर्म के हिसाब से बनाए गए ऐप्लिकेशन का प्रमोशन करना चाहिए.
  • लाइटवेट ऐप्लिकेशन: इन ऐप्लिकेशन को प्लैटफ़ॉर्म के हिसाब से कोड का इस्तेमाल करके भी बनाया जा सकता है. हालांकि, इन्हें आम तौर पर वेब टेक्नोलॉजी का इस्तेमाल करके बनाया जाता है. इन्हें प्लैटफ़ॉर्म के हिसाब से रैपर में पैक किया जाता है. स्टोर में पूरे PWA भी अपलोड किए जा सकते हैं. कुछ कंपनियां इन्हें "लाइट" वर्शन के तौर पर उपलब्ध कराती हैं. वहीं, कुछ कंपनियों ने इस तरीके का इस्तेमाल अपने मुख्य ऐप्लिकेशन के लिए भी किया है.

कम जगह लेने वाले ऐप्लिकेशन का प्रमोशन करना

Google Play के एक अध्ययन के मुताबिक, APK के साइज़ में हर 6 एमबी की बढ़ोतरी होने पर, ऐप्लिकेशन इंस्टॉल करने की कन्वर्ज़न दर में 1% की गिरावट आती है. इसका मतलब है कि 10 एमबी के ऐप्लिकेशन के डाउनलोड होने की दर, 100 एमबी के ऐप्लिकेशन के मुकाबले करीब 30% ज़्यादा हो सकती है.

इस समस्या को हल करने के लिए, कुछ कंपनियां अपने PWA का इस्तेमाल कर रही हैं. इससे वे Play Store में अपने ऐप्लिकेशन का लाइटवेट वर्शन उपलब्ध करा पाती हैं. इसके लिए, वे भरोसेमंद वेब गतिविधियों (टीडब्ल्यूए) का इस्तेमाल करती हैं. टीडब्ल्यूए, आपके PWA को वेबव्यू जैसे कॉम्पोनेंट में रैप करते हैं. इससे बनने वाले ऐप्लिकेशन का साइज़ आम तौर पर कुछ ही मेगाबाइट होता है.

भारत की सबसे बड़ी हॉस्पिटैलिटी कंपनियों में से एक, Oyo ने अपने ऐप्लिकेशन का लाइट वर्शन बनाया. साथ ही, इसे TWA का इस्तेमाल करके Play Store पर उपलब्ध कराया. मई 2020 तक, Oyo ऐप्लिकेशन का साइज़ सिर्फ़ 850 केबी था. यह उनके Android ऐप्लिकेशन के साइज़ का सिर्फ़ 7% था. इंस्टॉल होने के बाद, यह उनके Android ऐप्लिकेशन से अलग नहीं दिखता:

OYO Lite का इस्तेमाल किया जा रहा है.

Oyo ने स्टोर में फ़्लैगशिप और "लाइट" ऐप्लिकेशन, दोनों वर्शन उपलब्ध कराए, ताकि उपयोगकर्ता अपनी पसंद के हिसाब से ऐप्लिकेशन चुन सकें.

वेब पर कम डेटा इस्तेमाल करने वाला अनुभव देना

कम सुविधाओं वाले डिवाइसों का इस्तेमाल करने वाले लोग, ज़्यादा सुविधाओं वाले फ़ोन का इस्तेमाल करने वाले लोगों की तुलना में, ऐप्लिकेशन के लाइटवेट वर्शन को ज़्यादा डाउनलोड कर सकते हैं. इसलिए, अगर किसी उपयोगकर्ता के डिवाइस की पहचान करना मुमकिन है, तो आपके पास प्लैटफ़ॉर्म के हिसाब से ऐप्लिकेशन के भारी वर्शन के बजाय, हल्के ऐप्लिकेशन को इंस्टॉल करने के लिए बैनर को प्राथमिकता देने का विकल्प होता है.

वेब पर, डिवाइस के सिग्नल हासिल किए जा सकते हैं. साथ ही, उन्हें डिवाइस की कैटगरी (जैसे कि "हाई", "मिड" या "लो") के हिसाब से मैप किया जा सकता है. इस जानकारी को अलग-अलग तरीकों से हासिल किया जा सकता है. इसके लिए, JavaScript API या क्लाइंट हिंट का इस्तेमाल किया जा सकता है.

JavaScript का इस्तेमाल करना

navigator.hardwareConcurrency, navigator.deviceMemory, और navigator.connection जैसी JavaScript प्रॉपर्टी की मदद से, डिवाइस के सीपीयू, मेमोरी, और नेटवर्क की स्थिति के बारे में जानकारी पाई जा सकती है. उदाहरण के लिए:

const deviceCategory = req.get('Device-Memory') < 1 ? 'lite' : 'full';`

क्लाइंट के संकेतों का इस्तेमाल करना

एचटीटीपी अनुरोध हेडर में भी डिवाइस के सिग्नल का अनुमान लगाया जा सकता है. इसके लिए, क्लाइंट हिंट का इस्तेमाल किया जाता है. यहां बताया गया है कि क्लाइंट हिंट की मदद से, डिवाइस की मेमोरी के लिए पिछले कोड को कैसे लागू किया जा सकता है.

  1. ब्राउज़र को बताएं कि आपको पहले पक्ष (ग्राहक) के किसी अनुरोध के लिए, एचटीटीपी रिस्पॉन्स के हेडर में डिवाइस की मेमोरी के बारे में जानकारी चाहिए:

    HTTP/1.1 200 OK
    Content-Type: text/html
    Accept-CH: Device-Memory
    
  2. आपको एचटीटीपी अनुरोधों के अनुरोध हेडर में Device-Memory की जानकारी मिलने लगेगी:

    GET /main.js HTTP/1.1
    Device-Memory: 0.5
    
  3. इस जानकारी का इस्तेमाल अपने बैकएंड में करें, ताकि उपयोगकर्ता के डिवाइस की कैटगरी वाली कुकी सेव की जा सके:

    app.get('/route', (req, res) => {
      // Determine device category
    
    const deviceCategory = req.get('Device-Memory') < 1 ? 'lite' : 'full';
    
      // Set cookie
      res.setCookie('Device-Category', deviceCategory);
      
    });
    
  4. इस जानकारी को डिवाइस कैटगरी में मैप करने के लिए, अपना लॉजिक बनाएं. साथ ही, हर मामले में ऐप्लिकेशन इंस्टॉल करने का अनुरोध दिखाएं:

    if (isDeviceMidOrLowEnd()) {
      // show "Lite app" install banner or PWA A2HS prompt
    } else {
      // show "Core app" install banner
    }
    

उपयोगकर्ताओं को किसी भी प्लैटफ़ॉर्म पर आपका ऐप्लिकेशन इंस्टॉल करने की अनुमति दें

उपयोगकर्ता की होम स्क्रीन पर आइकॉन दिखाने की सुविधा, ऐप्लिकेशन की सबसे दिलचस्प सुविधाओं में से एक है. पहले, यह सुविधा सिर्फ़ ऐप्लिकेशन स्टोर से इंस्टॉल किए गए ऐप्लिकेशन के लिए उपलब्ध थी. इसलिए, कंपनियां यह सोच सकती हैं कि ऐप्लिकेशन स्टोर से इंस्टॉल करने का बैनर दिखाने से, उपयोगकर्ताओं को ऐप्लिकेशन इंस्टॉल करने के लिए मनाया जा सकता है.

लोगों को ऐप्लिकेशन इंस्टॉल करने की अनुमति देने के लिए, कई और विकल्प उपलब्ध हैं. जैसे, स्टोर में ऐप्लिकेशन का लाइटवेट वर्शन उपलब्ध कराना. इसके अलावा, लोगों को वेबसाइट से सीधे तौर पर प्रॉम्प्ट करके, उन्हें होम स्क्रीन पर PWA जोड़ने की अनुमति देना.