6

के साथ सेवा कर्मचारी पुश अधिसूचनाएं मैं सेवा कार्यकर्ता के माध्यम से उपयोगकर्ता पुश नोटिफिकेशन देने के सामान्य वर्कफ़्लो को एकसाथ टुकड़ा करने की कोशिश कर रहा हूं।एंगुलर 2

मैंने this का पालन किया है Google डेवलपर सेवा कार्यकर्ता पुश अधिसूचना ट्यूटोरियल और वर्तमान में इस बारे में सोच रहा हूं कि मैं प्रयोग के लिए एक छोटे उपयोगकर्ता आधारित वेब ऐप में इस प्रकार की चीज़ को कैसे कार्यान्वित कर सकता हूं।

  • ग्राहक का दौरा एप्लिकेशन
  • सेवा कार्यकर्ता एक पुश सूचना endpoint
  • क्लाइंट के लिए endpoint भेजता है पैदावार:

    मेरे मन में, पुश नोटिफिकेशन के समर्थन एक वेब अनुप्रयोग के सामान्य कार्यप्रवाह इस प्रकार है सर्वर

  • सर्वर वर्तमान उपयोगकर्ता के साथ एंडपॉइंट को जोड़ता है कि एंडपॉइंट
  • प्रत्येक बार जब आपका ऐप कहता है अधिसूचना wort hy, होता है सर्वर पकड़ लेता है पुश अधिसूचना endpoint (रों) उपयोगकर्ता के साथ संबद्ध है, और

मूल रूप से (संभवतः क्रोम 50 + में एक डेटा पेलोड, आदि के साथ) किसी भी उपयोगकर्ता उपकरणों को एक पुश सूचना भेजने के लिए हिट मैं सिर्फ यह पुष्टि करना चाहता हूं कि इस तकनीक के साथ मेरे सामान्य कार्यान्वयन विचार सटीक हैं, और अगर मुझे कुछ याद आ रहा है तो प्रतिक्रिया प्राप्त करें।

+0

क्षमा करें, यह स्पष्ट नहीं है कि आपका प्रश्न क्या है, क्या आप उलझन में हैं जहां भ्रम/चिंता है? चीयर्स, मैट –

+0

@ गौंटफ़ेस क्षमा करें! मैंने स्पष्टता के लिए reworded। मैं सिर्फ यह देखना चाहता हूं कि ऐप में इसे लागू करने पर मेरे विचार सटीक हैं, या यदि –

उत्तर

8

आप बहुत अधिक धमाकेदार हैं, कुछ विशिष्टताएं हैं जो काफी सही नहीं हैं (लेकिन यह काफी हद तक phrasing है और व्यक्तिगत रूप से स्वाद के लिए किया जा सकता है)।

  • ग्राहक का दौरा एप्लिकेशन
  • रजिस्टर एक सेवा कार्यकर्ता है कि आप जो पुश संदेश
  • के लिए उपयोग करने के लिए उपयोगकर्ता सदस्यता के लिए सेवा कार्यकर्ता पंजीकरण का प्रयोग करें मैसेजिंग पुश करने के लिए चाहते हैं, इसके बाद से उपयोगकर्ता एजेंट कि समाप्ति बिंदु कॉन्फ़िगर कर देगा + पेलोड को एन्क्रिप्ट करने के लिए अतिरिक्त मान (यदि उपयोगकर्ता एजेंट इसका समर्थन करता है)।
  • क्लाइंट सर्वर पर एंडपॉइंट भेजता है
  • सर्वर बाद के उपयोग के लिए एंडपॉइंट और डेटा स्टोर करता है (यदि सर्वर में वेब ऐप के उपयोगकर्ता खाते हैं तो सर्वर अंतिम उपयोगकर्ता के साथ एंडपॉइंट को जोड़ सकता है)।
  • जब भी सर्वर किसी उपयोगकर्ता को अधिसूचना भेजना चाहता है, तो वह उपयुक्त अंतराल को पकड़ लेता है और उनसे कॉल करता है जो सेवा कार्यकर्ता को जागृत करेंगे जो तब अधिसूचना प्रदर्शित कर सकता है। क्रोम 50 + में और पेलोड लेखन के समय आने में

पेलोड समर्थन फ़ायरफ़ॉक्स में समर्थन है, लेकिन फ़ायरफ़ॉक्स के 3 अलग अलग संस्करणों में पेलोड के लिए उपयोग एन्क्रिप्शन के 3 अलग अलग संस्करण हैं, इसलिए मैं इंतजार करता हूँ पेलोड समर्थन कहानी के लिए इसे इस्तेमाल करने से पहले थोड़ा सा लोहे से बाहर निकाला जा सकता है।

+0

ऐसा करने का कोई आसान तरीका है तो धन्यवाद! पुश अधिसूचना अंतराल एक विशिष्ट सेवा कार्यकर्ता से जुड़े होते हैं? एक बात जो मैं उलझन में हूं, कहती है कि उपयोगकर्ता साइट को दो अलग-अलग उपकरणों पर लोड करता है (सर्वर को दो अलग-अलग पुश अधिसूचना अंत बिंदु उत्पन्न करता है)।मान लें कि एक साइट अपडेट आता है और एक नया सर्विस वर्कर्स पंजीकृत हो जाता है (नया पुश अधिसूचना एंडपॉइंट जेनरेट किया जाता है), अब उपयोगकर्ता के पास डेटाबेस में उनके साथ जुड़े 4 अंत बिंदु हैं, लेकिन केवल दो वैध हैं ... यह पैटर्न जारी है और हमने 50 अपपॉइंट्स/उपयोगकर्ता को केवल दो जोड़े "अद्यतित" होने के साथ मिलते हैं ... –

+0

लीक करने के टन के लिए अनुकूल लगता है, यह सही अंतराल का निपटान करना मुश्किल लगता है क्योंकि एक नया उत्पन्न होता है –

+0

इस पर कुछ चीजें: - एक उपयोगकर्ता एजेंट एक नए सेवा कर्मचारी पर एक नई पुश सदस्यता (एंडपॉइंट + अन्य जानकारी) जारी नहीं कर सकता है - जब आप पुश सबक्रिप्शन का उपयोग करके पुश संदेश भेजते हैं, तो प्रतिक्रिया आपको बताएगी कि सदस्यता अभी भी वैध है या नहीं जो मामला आप पुराने लोगों को साफ़ कर सकते हैं - यदि यह चिंता/समस्या बन जाता है, तो किसी भी चीज़ का उपयोग करके पहले किसी भी सदस्यता को ट्रैक करना संभव है indexdb की तरह और परिवर्तन का पता लगाएं और नए –