वेब ऐप्लिकेशन मेनिफ़ेस्ट आईडी प्रॉपर्टी की मदद से, PWA की खास पहचान करना

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

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

id प्रॉपर्टी क्या करती है?

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

ब्राउज़र समर्थन

अब Chrome 96 में id प्रॉपर्टी के लिए सहायता उपलब्ध हो गई है.

अगर मेरे पास id वाला ऐप्लिकेशन नहीं है, तो मुझे क्या करना चाहिए?

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

मैं अपना id कैसे तय और सेट करूं?

किसी PWA के लिए id का पता लगाने का सबसे सुरक्षित और सटीक तरीका यह है कि Chrome से कैलकुलेट की गई वैल्यू देखी जाए.

  1. Chrome 96 या उसके बाद के वर्शन का इस्तेमाल करके, DevTools में ऐप्लिकेशन पैनल का मेनिफ़ेस्ट पैनल खोलें.
  2. अगर वेब ऐप्लिकेशन मेनिफ़ेस्ट फ़ाइल में id के बारे में नहीं बताया गया है, तो कंप्यूट किया गया ऐप्लिकेशन आईडी प्रॉपर्टी के नीचे एक नोट दिखेगा.
  3. नोट में दिखाई गई id वैल्यू को कॉपी करें (नीचे दिया गया स्क्रीनशॉट देखें).
  4. नोट में दिखाई गई id वैल्यू का इस्तेमाल करके, वेब ऐप्लिकेशन मेनिफ़ेस्ट में id प्रॉपर्टी जोड़ें.

DevTools ऐप्लिकेशन पैनल में, कंप्यूट किया गया ऐप्लिकेशन आईडी.

{
  ...
  id: "/?homescreen=1",
  start_url: "/?homescreen=1",
  ...
}

अगर मैंने id सेट नहीं किया है, तो क्या होगा?

चिंता न करें, कुछ भी खराब नहीं होगा. Chrome 96 और इसके बाद के वर्शन में, अगर वेब ऐप्लिकेशन मेनिफ़ेस्ट में मौजूद start_url के आधार पर, मेनिफ़ेस्ट में कोई भी ब्राउज़र मौजूद नहीं है, तो ब्राउज़र id जनरेट करेगा.

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

मैं इसकी जांच कैसे करूं?

इस व्यवहार की जांच करने के लिए, यह तरीका अपनाएं:

  1. PWA इंस्टॉल करें.
  2. about://web-app-internals/ खोलें और इंस्टॉल किए गए PWA के लिए manifest_id और start_url प्रॉपर्टी देखें.
  3. अपने वेब ऐप्लिकेशन मेनिफ़ेस्ट में id प्रॉपर्टी जोड़ें. इसके लिए, ऊपर दिए गए मैं id को कैसे तय और सेट करूं में दिया गया तरीका अपनाएं.
  4. chrome://restart का इस्तेमाल करके ब्राउज़र को रीस्टार्ट करें और about://apps से PWA लॉन्च करें. इसके बाद, मेनिफ़ेस्ट फ़ाइल को ज़बरदस्ती रीफ़्रेश करने के लिए, PWA को बंद करें.
  5. about://web-app-internals/ खोलें और इंस्टॉल किए गए PWA के लिए manifest_id प्रॉपर्टी देखें, ताकि यह पुष्टि की जा सके कि उसमें कोई बदलाव नहीं हुआ है.
  6. वेब ऐप्लिकेशन मेनिफ़ेस्ट में start_url बदलें.
  7. chrome://restart का इस्तेमाल करके ब्राउज़र को रीस्टार्ट करें और about://apps से PWA लॉन्च करें. इसके बाद, मेनिफ़ेस्ट फ़ाइल को ज़बरदस्ती रीफ़्रेश करने के लिए, PWA को बंद करें.
  8. about://web-app-internals/ खोलें और इंस्टॉल किए गए PWA के लिए start_url प्रॉपर्टी देखें. इससे यह पुष्टि की जा सकेगी कि PWA सही तरीके से अपडेट हुआ है या नहीं.

अन्य संसाधन