Google ने अपनी पुश सूचना सुविधा कैसे लागू की है? क्या यह पृष्ठभूमि में या किसी अन्य तरीके से चल रही सेवा द्वारा किए गए मतदान के माध्यम से काम करता है?
Google ने अपनी पुश सूचना सुविधा कैसे लागू की है? क्या यह पृष्ठभूमि में या किसी अन्य तरीके से चल रही सेवा द्वारा किए गए मतदान के माध्यम से काम करता है?
जवाबों:
मैंने इज़राइल में एक एंड्रॉइड डेवलपर्स सम्मेलन के दौरान जो सुना है, उससे:
क्लाउड Google सर्वर पर केवल एक टीसीपी सॉकेट प्रतीक्षा मोड में है। टीसीपी कनेक्शन Google Play एप्लिकेशन द्वारा शुरू किया गया था। इसलिए Google Play को Google क्लाउड मैसेजिंग (GCM) (पूर्व में एंड्रॉइड क्लाउड टू डिवाइस मैसेजिंग सर्विस - C2DM ) कार्य करने के लिए डिवाइस पर इंस्टॉल किया जाना चाहिए ।
जब यह टीसीपी क्लाइंट सॉकेट कुछ संदेश प्राप्त करता है, तो संदेश में जानकारी होती है जैसे कि एप्लिकेशन का पैकेज नाम जिसे इसे संबोधित किया जाना चाहिए और निश्चित रूप से - डेटा ही। इस डेटा को पार्स किया जाता है और एक आशय में पैक किया जाता है जिसे प्रसारण और अंततः एप्लिकेशन द्वारा प्राप्त किया जाता है।
जब डिवाइस की रेडियो स्थिति "निष्क्रिय" मोड में बदल जाती है, तब भी टीसीपी सॉकेट खुला रहता है। आवेदन पत्र प्राप्त करने के लिए चल रहा है नहीं है।
अधिक जानकारी के लिए http://developer.android.com/google/gcm/gcm.html
एंड्रॉइड Google के सर्वरों के लिए एक सक्रिय कनेक्शन रखता है, लेकिन यह बहुत अधिक बिजली या डेटा का उपयोग नहीं करता है, क्योंकि इसके साथ कोई ट्रैफ़िक नहीं भेजा जाता है जब तक कि कोई चीज़ आपके फ़ोन पर Google क्लाउड मैसेजिंग (GCM) संदेश नहीं भेजती है। फोन पर केवल एक ही कनेक्शन है, जिसका उपयोग सभी ऐप द्वारा किया जाता है: एक नया ऐप इंस्टॉल करना जो GCM का उपयोग करता है, कोई अतिरिक्त लोड नहीं जोड़ता है।
GCM में पहला कदम यह है कि एक तृतीय-पक्ष सर्वर (जैसे एक ईमेल सर्वर) Google के GCM सर्वर के लिए एक अनुरोध भेजता है। यह सर्वर उस खुले कनेक्शन के माध्यम से आपके डिवाइस को संदेश भेजता है। एंड्रॉइड सिस्टम संदेश को यह निर्धारित करने के लिए देखता है कि यह किस ऐप के लिए है, और उस ऐप को शुरू करता है। जीसीएम का उपयोग करने के लिए ऐप को एंड्रॉइड के साथ पंजीकृत होना चाहिए, और इसकी प्रासंगिक अनुमति होनी चाहिए। जब एप्लिकेशन शुरू होता है, तो यह सीधे संदेश से डेटा के साथ एक अधिसूचना बना सकता है। GCM संदेश आकार में बहुत सीमित होते हैं, इसलिए अधिक जानकारी प्राप्त करने के लिए एप्लिकेशन तृतीय-पक्ष सर्वर के लिए सामान्य कनेक्शन खोल सकता है (उदाहरण के लिए, नए ईमेल के शीर्षलेख डाउनलोड करना)।
पुश नोटिफिकेशन का उपयोग करने का लाभ यह है कि नए डेटा की जांच के लिए ऐप्स को नियमित अंतराल पर नहीं चलना पड़ता है, जिससे बिजली और डेटा दोनों की बचत होती है। GCM की तरह एक केंद्रीकृत तंत्र होने का लाभ यह है कि डिवाइस को केवल एक खुले नेटवर्क कनेक्शन की आवश्यकता होती है और Android GCM सिस्टम केवल एक चीज है जिसे चलाने की आवश्यकता होती है, बल्कि प्रत्येक ऐप के बजाय अपने नेटवर्क को बनाए रखने के लिए पृष्ठभूमि में चलते रहना चाहिए। अपने स्वयं के सर्वर से कनेक्शन।
आप Android पर पुश सूचना को लंबे मतदान tcp कनेक्शन के साथ लागू कर सकते हैं। लेकिन इसमें एक अतिरिक्त सॉकेट => बैटरी नाली बनाए रखना शामिल होगा। या आप अलार्म मैनेजर का उपयोग करके नियमित अंतराल पर एक कनेक्शन खोल सकते हैं।
Google संभवतः सभी C2DM पुश सूचनाओं के लिए एक सॉकेट खोलता है, इसलिए इसकी अधिक बैटरी कुशल है।
10 अप्रैल, 2018 तक, Google ने GCM को हटा दिया है। GCM सर्वर और क्लाइंट API को हटा दिया जाता है और इसे 11 अप्रैल, 2019 को हटा दिया जाएगा। GCM ऐप्स को Firebase Cloud Messaging (FCM) में माइग्रेट करें, जो विश्वसनीय और स्केलेबल GCM इन्फ्रास्ट्रक्चर, और अन्य नए फीचर्स को विरासत में देता है।
एंड्रॉइड डिवाइस पर, जब आपको पुश नोटिफिकेशन मिलता है, तो प्रेषक एप्लिकेशन की छवि और स्टेटस बार में एक संदेश दिखाई देता है। वास्तव में जब ग्राहक अधिसूचना को टैप करता है, तो वह एप्लिकेशन पर लैंड करता है।