पुश नोटिफ़िकेशन की खास जानकारी

इस बारे में खास जानकारी कि पुश नोटिफ़िकेशन क्या होते हैं, आपको इनका इस्तेमाल क्यों करना चाहिए, और ये कैसे काम करते हैं.

पुश नोटिफ़िकेशन क्या हैं?

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

सूचनाओं में उपयोगकर्ता को छोटी-छोटी जानकारी होती है. वेबसाइटें, Google Analytics 4 प्रॉपर्टी उपयोगकर्ताओं को महत्वपूर्ण, समय के प्रति संवेदनशील इवेंट या कार्रवाइयों के बारे में बताने के लिए नोटिफ़िकेशन लेने की ज़रूरत होती है. अलग-अलग प्लैटफ़ॉर्म पर, सूचनाएं दिखने और उन्हें दिखने का तरीका अलग-अलग होता है:

macOS और Android पर सूचनाओं के उदाहरण.
macOS और Android पर सूचनाओं के उदाहरण.

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

पुश नोटिफ़िकेशन का इस्तेमाल क्यों करना चाहिए?

  • उपयोगकर्ताओं के लिए, पुश नोटिफ़िकेशन की मदद से उन्हें समय पर, काम के, और सटीक जानकारी मिल सकती है. और सटीक जानकारी हो.
  • आपके लिए (वेबसाइट के मालिक), पुश नोटिफ़िकेशन की मदद से अपने उपयोगकर्ताओं की संख्या बढ़ाएं दिलचस्पी है.

पुश नोटिफ़िकेशन कैसे काम करते हैं?

बड़े स्तर पर, पुश नोटिफ़िकेशन लागू करने के मुख्य चरण ये हैं:

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

इस पेज के बाकी हिस्से में, इन चरणों के बारे में ज़्यादा जानकारी दी गई है.

पुश नोटिफ़िकेशन भेजने की अनुमति पाएं

सबसे पहले, आपकी वेबसाइट को पुश नोटिफ़िकेशन भेजने के लिए, उपयोगकर्ता की अनुमति लेनी होगी. यह कार्रवाई, उपयोगकर्ता के जेस्चर से ट्रिगर होनी चाहिए. जैसे, हां बटन पर क्लिक करना Do you want to receive push notifications? प्रॉम्प्ट के बगल में. पुष्टि करने के बाद, Notification.requestPermission() को कॉल करें. ऑपरेटिंग सिस्टम या संभावित रूप से उस उपयोगकर्ता के डिवाइस पर मौजूद ब्राउज़र कोई ऐसा यूज़र इंटरफ़ेस (यूआई) दिखाएगा जो इस बात की औपचारिक तौर पर पुष्टि करेगा कि उपयोगकर्ता, पुश नोटिफ़िकेशन के लिए ऑप्ट-इन करना चाहता है. यह यूज़र इंटरफ़ेस (यूआई) अलग-अलग प्लैटफ़ॉर्म के लिए अलग-अलग होता है.

पुश नोटिफ़िकेशन के लिए क्लाइंट की सदस्यता लें

अनुमति मिल जाने के बाद, आपकी वेबसाइट को उपयोगकर्ता को पुश नोटिफ़िकेशन की सदस्यता लेने के लिए बढ़ावा दे सकते हैं. यह काम JavaScript की मदद से किया जाता है. Push API का इस्तेमाल करके साइन इन करें. आपको एक सार्वजनिक पुष्टि करने वाली कुंजी देनी होगी के बारे में ज़्यादा जानकारी मिलेगी. इस तारीख के बाद सदस्यता प्रोसेस शुरू करते हैं, तो ब्राउज़र नेटवर्क के लिए अनुरोध करता है पुश सेवा के नाम से जानी जाती है, जिसके बारे में आप बाद में भी ज़्यादा जानेंगे.

यह मानकर कि सदस्यता सफल रही, ब्राउज़र PushSubscription ऑब्जेक्ट है. आपको इस डेटा को लंबे समय तक सेव करके रखना होगा. आम तौर पर, यह काम आपके कंट्रोल वाले सर्वर पर जानकारी भेजकर किया जाता है, और फिर सर्वर से उसे डेटाबेस में स्टोर करने के लिए कहा जाता है.

पुश मैसेज भेजने की अनुमति पाएं. PushSubscription पाएं. भेजें
आपके सर्वर की PushSubscription.

एक पुश मैसेज भेजें

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

  • मैसेज में कौनसा डेटा शामिल करना है.
  • किस क्लाइंट को मैसेज भेजना है.
  • पुश सेवा से मैसेज कैसे डिलीवर किया जाना चाहिए, इस बारे में निर्देश. उदाहरण के लिए, आपके यह बता सकता है कि पुश सेवा को संदेश भेजने का प्रयास बंद कर देना चाहिए 10 मिनट बाद.

आम तौर पर, उस सर्वर के ज़रिए वेब पुश प्रोटोकॉल अनुरोध किया जाता है जिसे आपने कंट्रोल किया है. बेशक, आपके सर्वर को रॉ वेब सेवा अनुरोध बनाने की ज़रूरत नहीं है वह भी ऐसा कर सकता है. ऐसी लाइब्रेरी होती हैं जो आपके लिए उसे मैनेज कर सकती हैं, जैसे कि web-push-libs पर मिले. हालांकि, बुनियादी तौर पर एचटीटीपी पर वेब सेवा का एक अनुरोध है.

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

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

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

हालांकि, आपको यह पक्का करना होगा कि आप वेब पुश प्रोटोकॉल भेज रहे हैं कृपया सही पुश सर्विस का अनुरोध करें. PushSubscription का ऐसा डेटा जिसे सदस्यता की प्रोसेस के दौरान आपको वापस किए गए ब्राउज़र पर यह जानकारी मिलती है जानकारी. PushSubscription ऑब्जेक्ट इस तरह दिखता है:

{
  "endpoint": "https://fcm.googleapis.com/fcm/send/c1KrmpTuRm…",
  "expirationTime": null,
  "keys": {
    "p256dh": "BGyyVt9FFV…",
    "auth": "R9sidzkcdf"
  }
}

endpoint का डोमेन मुख्य रूप से पुश सेवा है. इसका पाथ endpoint, क्लाइंट आइडेंटिफ़ायर की जानकारी होती है. इससे पुश सेवा को यह पता लगाने में मदद मिलती है कि कि मैसेज को किस क्लाइंट पर भेजना है.

keys का इस्तेमाल एन्क्रिप्ट (सुरक्षित) करने के लिए किया जाता है. इसके बारे में आगे बताया गया है.

पुश मैसेज को एन्क्रिप्ट (सुरक्षित) करें

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

वेब पुश प्रोटोकॉल के अनुरोधों पर हस्ताक्षर करना

पुश सेवा की मदद से, किसी दूसरे व्यक्ति को आपके उपयोगकर्ता. तकनीकी रूप से, आपको ऐसा करने की ज़रूरत नहीं है. हालांकि, इसे लागू करने का सबसे आसान तरीका Chrome को इसकी ज़रूरत है. यह Firefox पर वैकल्पिक है. अन्य ब्राउज़र में इसकी ज़रूरत पड़ सकती है आने वाले समय में.

इस वर्कफ़्लो में एक निजी पासकोड और सार्वजनिक पासकोड शामिल है. यह आपके का इस्तेमाल करें. पुष्टि करने की प्रोसेस कुछ हद तक इस तरह काम करती है:

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

पुश मैसेज की डिलीवरी को पसंद के मुताबिक बनाना

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

  • मैसेज का टाइम-टू-लिव (टीटीएल). इससे पता चलता है कि पुश सेवा को कितनी देर तक काम करना चाहिए देने की कोशिश करता है.
  • मैसेज कितना ज़रूरी है. यह तब काम आता है, जब पुश सेवा चालू हो सिर्फ़ ज़्यादा प्राथमिकता वाले मैसेज डिलीवर करने से क्लाइंट की बैटरी लाइफ़ बढ़ जाती है.
  • किसी मैसेज का विषय, जो उसी विषय के ऐसे सभी मैसेज को बदल देता है जिन्हें मंज़ूरी मिलना बाकी है सबसे नए मैसेज के साथ.

पुश किए गए मैसेज को सूचनाओं के रूप में पाएं और दिखाएं

पुश सेवा को वेब पुश प्रोटोकॉल अनुरोध भेजने के बाद, पुश सेवा आपका अनुरोध तब तक सूची में रहेगा, जब तक इनमें से कोई एक इवेंट नहीं हो जाता:

  1. क्लाइंट ऑनलाइन आता है और पुश सेवा पुश मैसेज डिलीवर करती है.
  2. मैसेज की समयसीमा खत्म हो जाती है.

जब किसी क्लाइंट ब्राउज़र को पुश किया गया मैसेज मिलता है, तो वह पुश मैसेज को डिक्रिप्ट करता है डेटा और आपकी सेवा को push इवेंट भेजता है वर्कर. सर्विस वर्कर मूल रूप से JavaScript कोड जो बैकग्राउंड में चल सकता है, भले ही आपकी वेबसाइट वह खुला नहीं है या ब्राउज़र बंद है. आपके सर्विस वर्कर के push इवेंट में हैंडलर को कॉल करने पर आपको ServiceWorkerRegistration.showNotification() को कॉल करने की ज़रूरत नहीं पड़ेगी नोटिफ़िकेशन के रूप में.

डिवाइस पर मैसेज आया. ब्राउज़र सर्विस वर्कर को सक्रिय करता है. पुश इवेंट भेजा गया.

आगे कहां जाना है

कोड लैब