browser.gcm की मदद से, असली उपयोगकर्ताओं को मैसेज भेजे और उनसे मैसेज पाए जा सकते हैं. यह Firebase क्लाउड से मैसेज (FCM) पर आधारित है. इसलिए, यह किसी बाहरी सेवा पर निर्भर करता है. आपको इस सेवा को सेट अप करना होगा. इस तरीके के बारे में बताने वाले लेख में, एक्सटेंशन में इसे काम करने के लिए सभी ज़रूरी चरणों के बारे में बताया गया है.
browser.gcm अब भी काम करता है, लेकिन इसे एक दशक पहले पुश स्टैंडर्ड से पहले बनाया गया था. आम तौर पर, एक्सटेंशन के लिए खास तौर पर बनाए गए एपीआई के बजाय, वेब स्टैंडर्ड का इस्तेमाल करना हमेशा सबसे सही तरीका होता है. अगर आपको browser.gcm का इस्तेमाल करने की कोई खास ज़रूरत नहीं है, तो हमारा सुझाव है कि आप Push का इस्तेमाल करें.
ज़रूरी शर्तें
browser.gcm का इस्तेमाल करने के लिए, आपको Firebase खाता सेट अप करना होगा.
खाता बनाने के बाद, आपको Firebase कंसोल खोलना होगा. इसके बाद, इस्तेमाल करने के लिए कोई मौजूदा प्रोजेक्ट चुनें या अपने एक्सटेंशन के लिए नया प्रोजेक्ट बनाएं.
Cloud Messaging के सेटिंग पेज पर जाएं.
अगर आपके पास इस प्रोजेक्ट पर कोई मौजूदा Cloud Messaging खाता है, तो आपको सूची में दिए गए अंकों वाले Sender ID को कॉपी करना होगा.
अगर आपने क्लाउड मैसेजिंग की सुविधा चालू नहीं की है, तो आपको Google Cloud में जाकर प्रोजेक्ट के लिए Firebase Cloud Messaging API चालू करना होगा. नीचे दी गई इमेज में, Firebase की सेटिंग में इस पेज का लिंक दिखाया गया है.
चालू होने के बाद, Cloud Messaging के सेटिंग पेज पर वापस जाएं और सेंडर आईडी कॉपी करें.
browser.gcm को कॉन्फ़िगर करना
अब आपके पास Firebase से मिला Sender Id है. इसलिए, मैसेज सुनने के लिए अपने एक्सटेंशन को कॉन्फ़िगर किया जा सकता है. शुरू करने से पहले, पक्का करें कि आपने अपने एक्सटेंशन के manifest.json में gcm
अनुमति जोड़ दी हो
{
"manifest_version": 3,
...
"permissions": ["gcm"]
अब आपके पास browser.gcm एपीआई का ऐक्सेस है. browser.gcm.register पर कॉल करके, पुश मैसेज पाने के लिए रजिस्टर किया जा सकता है
मैसेज सुनने की सुविधा
एक्सटेंशन के Sender ID रजिस्टर करने के बाद, आपको आने वाले मैसेज मैनेज करने के लिए कोड जोड़ना होगा.
Firebase के बिना Firebase
browser.gcm हमेशा Firebase के ज़रिए जाता है. हालांकि, Firebase को बाहरी पुश मैसेजिंग वेंडर के लिए प्रॉक्सी के तौर पर काम करने के लिए कॉन्फ़िगर किया जा सकता है. आम तौर पर, वेंडर Chrome एक्सटेंशन के साथ काम करने वाले एक्सटेंशन की सूची देते हैं. हालांकि, Firebase की लेगसी पुश नोटिफ़िकेशन के साथ काम करने वाला कोई भी वेंडर काम कर सकता है. अगर आपकी सेवा देने वाली कंपनी, Firebase की लेगसी पुश नोटिफ़िकेशन की सुविधा देती है, तो इसे आज़माएं. अगर आपको समस्याएं आ रही हैं, तो सेवा देने वाली कंपनियों की सहायता टीम को उन पाबंदियों के बारे में साफ़ तौर पर बताना चाहिए जो लागू होंगी.
चैनलों और विषयों पर
browser.gcm, Firebase Messaging के लेगसी एपीआई का इस्तेमाल कर रहा है. यह इसलिए ज़रूरी है, क्योंकि लेगसी एपीआई मैसेज चैनल के साथ काम नहीं करता. पुश किए गए हर मैसेज को हर क्लाइंट को भेजा जाएगा. अगर किसी उपयोगकर्ता का एक्सटेंशन सिर्फ़ मैसेज के सबसेट में दिलचस्पी रखता है, तो आपको खुद ही फ़िल्टर करना होगा.
Firebase का इस्तेमाल मुफ़्त में शुरू किया जा सकता है. हालांकि, इस्तेमाल की तय सीमा से ज़्यादा इस्तेमाल करने पर, आपसे शुल्क लिया जाएगा. अगर आपको कुछ खास ग्रुप को मैसेज भेजने हैं, तो क्लाइंट-साइड फ़िल्टरिंग का इस्तेमाल करने पर, आपको ज़रूरत से ज़्यादा शुल्क देना पड़ सकता है. इस समस्या को हल करने के लिए, अलग-अलग चैनलों को दोहराने वाले कई प्रोजेक्ट बनाए जा सकते हैं. हर चैनल के लिए एक प्रोजेक्ट और एक Sender ID बनाया जा सकता है. कोई भी एक्सटेंशन, ज़्यादा से ज़्यादा 100 Sender ID के लिए रजिस्टर कर सकता है.
इसके अलावा, अगर आपको चैनलों से जुड़ी सहायता चाहिए या Firebase का इस्तेमाल किए बिना पुश नोटिफ़िकेशन की सुविधा का इस्तेमाल करना है, तो Push API का इस्तेमाल किया जा सकता है.