Chrome एक्सटेंशन में क्या हो रहा है?

एमी स्टीम
एमी स्टीम

हमने जुलाई में एक नई ब्लॉग सीरीज़ लॉन्च की थी, ताकि आपको एक्सटेंशन से जुड़े डेवलपमेंट के बारे में अप-टू-डेट रखा जा सके. आपके बहुमूल्य सुझाव और Webएक्सटेंशन कम्यूनिटी ग्रुप में साथी ब्राउज़र वेंडर के साथ हमारे सहयोग के लिए धन्यवाद, हम एक्सटेंशन के एपीआई को बेहतर बनाना और सभी ब्राउज़र में एक जैसा अनुभव देने की दिशा में काम करना जारी रखेंगे.

अक्टूबर वर्शन में आपका स्वागत है! इस पोस्ट में, हम Chrome एक्सटेंशन टीम के पिछले कुछ महीनों में किए गए बदलावों के साथ-साथ, इस साल के आखिर में लॉन्च होने वाली कुछ नई सुविधाओं पर भी नज़र डालेंगे. चलिए, शुरू करते हैं!

नए एक्सटेंशन एपीआई और सुविधाएं

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

हाइलाइट

ऐसी समस्याओं को ठीक किया गया जिनके बारे में पहले से जानकारी है

एक्सटेंशन टीम, मेनिफ़ेस्ट V3 की स्थिरता से जुड़ी समस्याओं को ठीक करने के लिए लगातार काम कर रही है. Chrome 116 में कई सुधार किए गए हैं. इनकी मदद से, मेनिफ़ेस्ट V2 और V3 वर्शन के बीच सुविधाओं के अंतर को कम करने में काफ़ी मदद मिली. Chrome 120 में, हम प्राथमिकता वाले सभी प्लैटफ़ॉर्म के अंतर को ठीक कर देंगे. साथ ही, उन सभी गंभीर गड़बड़ियों को ठीक कर देंगे जिन्हें जानी-पहचानी समस्याओं वाले पेज पर दर्ज किया गया है. फ़िलहाल, Chrome 120 कैनरी में सभी सुविधाएं उपलब्ध हैं. हालांकि, ChromeOS Lacros के लिए fileHandler सपोर्ट और इस महीने के आखिर में उपलब्ध होने वाले userScripts API को छोड़कर, अन्य सभी सुविधाएं उपलब्ध हैं. ज़्यादा जानकारी के लिए, अपडेट की गई ऐसी समस्याओं वाला पेज देखें जिनके बारे में पहले से जानकारी है.

सर्विस वर्कर की बेहतर स्थिरता

सर्विस वर्कर से जुड़ी स्थिरता की समस्याएं हल कर दी गई हैं. Chrome 116 में, हमने उपयोगकर्ता का अनुरोध दिखाने वाले एक्सटेंशन एपीआई में मज़बूत कीप अलाइव जोड़े हैं. साथ ही, WebSockets के लिए बेहतर सपोर्ट मिला है. ज़्यादा जानकारी के लिए, एक्सटेंशन में WebSockets इस्तेमाल करने का ट्यूटोरियल देखें. Chrome 118 और उसके बाद के वर्शन में, ऐक्टिव डीबगर एपीआई सेशन के दौरान सर्विस वर्कर हमेशा के लिए चालू रहेगा.

ज़्यादा जानकारी के लिए, सर्विस वर्कर के लिए अपडेट किए गए दिशा-निर्देश देखें. अगर आपके उपयोगकर्ताओं को Chrome वर्शन 119 के बाद भी, सर्विस वर्कर से जुड़ी स्थिरता की समस्याएं आ रही हैं, तो कृपया हमें बताएं.

ज़्यादा सुरक्षा

पहले, tabs.update(), tabs.create, और windows.create() का इस्तेमाल करके chrome:// के कुछ यूआरएल पर जाने पर गड़बड़ी होती थी या Chrome क्रैश हो जाता था. साथ ही, tabs.update() JavaScript यूआरएल नहीं खोल सका. Chrome 117 में, हमने काम करने वाले chrome:// यूआरएल की संख्या बढ़ाई. साथ ही, JavaScript यूआरएल को ब्लॉक करने की सुविधा अब सभी एक्सटेंशन एपीआई के तरीकों पर भी लागू होती है.

Chrome 117 में, अगर उपयोगकर्ताओं का इंस्टॉल किया गया कोई एक्सटेंशन अब Chrome Web Store पर उपलब्ध नहीं है, तो उन्हें Chrome एक्सटेंशन पेज पर अपने-आप सूचनाएं मिलेंगी. ऐसा तब हो सकता है, जब डेवलपर एक्सटेंशन को अनपब्लिश कर देता है, नीति के उल्लंघनों की वजह से उसे हटा दिया जाता है या उसकी पहचान मैलवेयर के तौर पर की जाती है. इसके बारे में ज़्यादा जानने के लिए, chrome://extensions पेज पर सुरक्षा जांच की सुविधा का इस्तेमाल करना लेख पढ़ें.

Chrome 118 में, एक्सटेंशन को chrome.tabs और chrome.windows एपीआई का इस्तेमाल करके, file:// यूआरएल पर जाने की अनुमति नहीं मिलेगी. ऐसा तब तक होगा, जब तक एक्सटेंशन की ज़्यादा जानकारी वाले पेज पर, “फ़ाइल के यूआरएल ऐक्सेस करने की अनुमति दें” विकल्प को चालू नहीं किया जाता. WECG चर्चा देखें.

और एपीआई लॉन्च

  • रनटाइम एपीआई: Chrome 116 और उसके बाद के वर्शन में, ऐक्टिव कॉन्टेक्स्ट के बारे में जानकारी पाने के लिए, runtime.getContexts() का इस्तेमाल किया जा सकता है. उदाहरण के लिए, यह देखा जा सकता है कि कोई चालू ऑफ़स्क्रीन दस्तावेज़ है या नहीं.
  • साइड पैनल एपीआई Chrome 116 में sidepanel.open() का इस्तेमाल करके, एक्सटेंशन के साइड पैनल को प्रोग्राम के हिसाब से, उपयोगकर्ता के जेस्चर के जवाब में खोला जा सकता है, जैसे कि संदर्भ मेन्यू पर क्लिक करना.
  • Tabकैप्चर एपीआई की मदद से, एक्सटेंशन सर्विस वर्कर से getMediaStreamId() को कॉल करने और Chrome 116 के ऑफ़स्क्रीन दस्तावेज़ में, स्ट्रीम आईडी से MediaStream ऑब्जेक्ट पाने की सुविधा जोड़ी गई. उदाहरण के लिए, ऑडियो रिकॉर्डिंग और स्क्रीन कैप्चर देखें.
  • घोषणात्मकNetRequest API: Chrome 118 में isUrlFilterCaseSensitive प्रॉपर्टी की डिफ़ॉल्ट वैल्यू को बदलकर false कर दिया गया है.

जल्द आ रहा है...

हम Chrome 120 के रिलीज़ होने के बाद, ऐसी समस्याओं के बारे में जानकारी देने वाले पेज पर बचे हुए सभी आइटम को ठीक करने की योजना बना रहे हैं. इसके अलावा, हम ये सुविधाएं भी जोड़ने की योजना बना रहे हैं:

  • UserScripts API की मदद से उपयोगकर्ता स्क्रिप्ट मैनेजर, यह तय कर सकते हैं कि उपयोगकर्ता स्क्रिप्ट के कलेक्शन को वेब पेजों में कैसे और कब इंजेक्ट करना है. ज़्यादा जानकारी के लिए, WECG का प्रस्ताव देखें.
  • ReadingList API की मदद से डेवलपर, साइड पैनल के रीडिंग लिस्ट पैनल में मौजूद मेटाडेटा बना सकते हैं, उसे पढ़ सकते हैं, अपडेट कर सकते हैं, और मिटा सकते हैं. सूचना देखने के लिए, Chrome एक्सटेंशन में नया क्या है पर जाएं.
  • वेब एक्सटेंशन कम्यूनिटी ग्रुप में सुझाव, शिकायत या राय के बाद, हम चालू स्टैटिक नियमों की सीमा को 10 से बढ़ाकर 50 कर रहे हैं. इसके अलावा, हम तय किए गए स्टैटिक नियमों की कुल संख्या को 50 से बढ़ाकर 100 कर रहे हैं. फ़िलहाल, यह सुविधा कैनरी में उपलब्ध है.
  • फ़ाइल मैनेज करने वाला एपीआई: ChromeOS 120 से शुरू होने वाले ChromeOS एक्सटेंशन के लिए उपलब्ध होगा. इस वर्शन की मदद से, एक्सटेंशन तय किए गए MIME टाइप और फ़ाइल एक्सटेंशन वाली फ़ाइलों को उसी तरह खोल सकते हैं जिस तरह वेब प्लैटफ़ॉर्म की फ़ाइल मैनेज करने के दौरान किया जाता है.
  • एक्सटेंशन, userVisibleOnly को false पर सेट करने के बाद उपयोगकर्ता को दिखने वाली सूचना दिखाए बिना, self.registration.pushManager.subscribe() से वेब पुश एपीआई का इस्तेमाल कर सकेंगे. इससे एसिंक्रोनस क्लाइंट-सर्वर कम्यूनिकेशन के लिए, सर्विस वर्कर (MV3) में WebSockets के मुकाबले ज़्यादा आसान विकल्प उपलब्ध होंगे. ज़्यादा जानकारी के लिए, Chromium गड़बड़ी और WECG चर्चा देखें.

Chrome के बीटा वर्शन में ये सुविधाएं उपलब्ध होते ही, इससे जुड़ी सूचनाएं पाने के लिए, एक्सटेंशन में नया क्या है पेज पर बने रहें.

दस्तावेज़ अपग्रेड करना

हम इसे अपने दस्तावेज़ों में जोड़ रहे हैं और इन्हें बेहतर भी बना रहे हैं. कृपया Chromium ग्रुप के बारे में सवाल पूछना जारी रखें और दस्तावेज़ से जुड़ी समस्याओं की शिकायत करें.

हाइलाइट

  • हमने सैंपल लैंडिंग पेज के नए तरीके में बदलाव किए हैं. अब एपीआई, अनुमति, और टाइप के हिसाब से फ़िल्टर किया जा सकता है. इससे किसी खास सैंपल को ढूंढना आसान हो जाता है. इस बेहतर सुविधा के लिए, हमने समर ऑफ़ कोड इंटर्न, ज़ुएज़ू दाई के साथ मिलकर काम किया. यह ब्लॉग पोस्ट पढ़कर उनके अनुभव के बारे में पढ़ें.
  • Chrome Web Store के साथ अपने Google Analytics खाते का इस्तेमाल करना में यह बताया गया है कि Chrome Web Store की लिस्टिंग के लिए, Google Analytics 4 को कैसे देखा जा सकता है. साथ ही, यह भी बताया गया है कि डेवलपर डैशबोर्ड से मिले डेटा के साथ-साथ, Google Analytics 4 कैसे देखा जा सकता है. इस गाइड में, Google Analytics में ऑप्ट-इन करने, विज्ञापन की परफ़ॉर्मेंस को मॉनिटर करने, कन्वर्ज़न ट्रैक करने, और दूसरे खातों को Google Analytics डेटा का ऐक्सेस देने के तरीके बताए गए हैं.
  • हमने Chrome एक्सटेंशन में कुकी और वेब स्टोरेज एपीआई के काम करने के तरीके के बारे में एक नई गाइड पब्लिश की है. इसमें एक्सटेंशन डेवलपर के तौर पर, प्राइवसी सैंडबॉक्स के बारे में ज़रूरी जानकारी है.
  • हमने आपके एक्सटेंशन प्रोजेक्ट में टेस्टिंग को इंटिग्रेट करने के तरीके के बारे में नए लेख लॉन्च किए हैं: Chrome एक्सटेंशन की यूनिट टेस्टिंग और एक्सटेंशन के लिए पूरी तरह से जांच (E2EE) की सुविधा में, कई लोकप्रिय फ़्रेमवर्क के लिए सामान्य दिशा-निर्देश और सबसे सही तरीके शामिल किए गए हैं. काम के ट्यूटोरियल के लिए, Puppeteer में Chrome एक्सटेंशन की जांच करना लेख पढ़ें.

इस बारे में और अपडेट

जल्द आ रहा है...

  • User Scripts API का रेफ़रंस और ट्यूटोरियल.
  • Firebase ट्यूटोरियल और सैंपल.
  • ReadingList API का रेफ़रंस.

Chrome वेब स्टोर को रीडिज़ाइन करना 🌈

Chrome Web Store के होम पेज का स्क्रीनशॉट..
'Chrome वेब स्टोर' का नया होम पेज

इस महीने की शुरुआत में, हमने नए बनाए गए 'Chrome वेब स्टोर' की शुरुआती झलक देखने का एलान किया था. यह जानकारी हमने Google I/O में दी थी. इसे खुद देखें! https://chromewebstore.google.com/. कुछ महत्वपूर्ण परिवर्तन हैं:

  • कैटगरी की सूची को 11 से बढ़ाकर, तीन तीन में से 17 कैटगरी ग्रुप किया गया है.
  • खोज में बेहतर ऑटोकंप्लीट सुविधा.
  • स्क्रीनशॉट अब काफ़ी बेहतर क्वालिटी में दिखाए जा रहे हैं. अगर आपने पहले से 1280x800 के स्क्रीनशॉट अपलोड नहीं किए हैं, तो आप अपलोड कर सकते हैं.
  • 'सहायता' टैब में, सवालों के जवाब अब नई लाइनें दिखाते हैं.
  • उपयोगकर्ता की समीक्षाओं और सहायता से जुड़े सवालों का जवाब देते समय, अब आपके जवाब में आपके नाम के बगल में “डेवलपर” बैज दिखेगा.
  • अपने स्टोर आइटम के यूआरएल के आखिर में "/reviews" जोड़कर, उपयोगकर्ताओं को समीक्षा वाले पेज पर सीधे तौर पर लिंक दिया जा सकता है. उदाहरण के लिए: https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews.

Chromium-google ग्रुप के बारे में अब तक दिए गए सभी इनपुट के लिए धन्यवाद. बातचीत में शामिल हों या सुझाव दें मेन्यू आइटम का इस्तेमाल करके, सीधे सीडब्ल्यूएस टीम को सुझाव भेजें:

Chrome Web Store के पेज पर जाकर सुझाव/राय देना या शिकायत करना
'Chrome वेब स्टोर' पेज के बारे में सुझाव/राय देना या शिकायत करना

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

💡 क्या आपको पता है?

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

आपसे संपर्क किया जा रहा है 🙌

हमने एक्सटेंशन डेवलपर कम्यूनिटी से 1:1 बातचीत करके, नए प्रोग्राम लॉन्च किए, और सम्मेलन में हिस्सा लिया. इसके बाद, हमने लगातार उनसे संपर्क किया. यहां कुछ हाइलाइट दिए गए हैं:

  • एक्सटेंशन Google Developer Experts Program को अगस्त में लॉन्च किया गया था. हमारे पास दुनिया भर से, Chrome एक्सटेंशन पर फ़ोकस करने वाले एक दर्ज़न से ज़्यादा नए GDEs हैं, जिनसे हमें शानदार सुझाव मिलता है. यह कार्यक्रम के लिए बहुत ही रोमांचक समय है!
  • हमने वेब एक्सटेंशन कम्यूनिटी ग्रुप के हिस्से के तौर पर, TPAC (W3C की सालाना कॉन्फ़्रेंस) में हिस्सा लिया. इस ग्रुप में शामिल लोगों के साथ, हमने Firefox और Safari के प्रतिनिधियों से भी मुलाकात की. हमने कई विषयों पर काफ़ी तरक्की की है. इसमें, एक जैसे एक्सटेंशन एपीआई का इस्तेमाल करना, एक खास जानकारी पर काम करना, और नया टेस्टिंग सुइट बनाने के लिए वेब प्लैटफ़ॉर्म टेस्ट को बेहतर बनाना शामिल है. WECG डेटा स्टोर करने की जगह में पूरे मिनट पढ़ें.
  • पिछले हफ़्ते, एक्सटेंशन टीम ने एम्सटर्डैम में विज्ञापन-फ़िल्टरिंग डेवलपर समिट में हिस्सा लिया था. उन्होंने आप लोगों से उस कॉफ़ी चैट में मुलाकात की जिसे उन्होंने समिट के हफ़्ते और शुक्रवार को ऑफ़िस के कामकाज के घंटों से पहले होस्ट किया था.
    विज्ञापन फ़िल्टर करने के लिए डेवलपर समिट में एक्सटेंशन टीम
    विज्ञापन फ़िल्टर करने वाले डेवलपर समिट में एक्सटेंशन टीम

भले ही, आप इनमें से किसी भी इवेंट में शामिल न हो पाए हों, लेकिन आप Chromium-एक्सटेंशन वाले Google ग्रुप के बारे में सवाल पूछकर, WECG पर ब्राउज़र पार्टनर के साथ हुई चर्चा के बाद, और दस्तावेज़ से जुड़ी किसी भी समस्या की शिकायत करना जारी रख सकते हैं.

एक्सटेंशन डेवलपर कम्यूनिटी का हिस्सा बने रहने के लिए एक बार फिर से धन्यवाद!