2016-12-12 5 views
5

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

यह देखते हुए कि आईसीओ पर जीसीएम का उपयोग किया जा सकता है (और इस प्रकार एंड्रॉइड-विशिष्ट नहीं है) मुझे आशा है कि इसका उपयोग नोड.जेएस से भी किया जा सकता है।

मैंने भेजकर node.js से पुश नोटिफिकेशन भेजकर कई लेख देखे हैं, लेकिन प्राप्त करने वाले अंत में node.js का उपयोग करने के बारे में कुछ भी नहीं मिला है।

+0

आप "स्रोत" अनुप्रयोग सर्वर के नियंत्रण में हैं? –

उत्तर

1

मुझे नहीं लगता कि यह संभव (एक सरल तरीके से) ...

Android/iOS एक ओएस के पीछे एक सेवा है जो GCM के साथ संचार के साथ है है ...

आप करने की कोशिश कर रहे हैं, तो एक सीएलआई उपकरण चलाएं, आपको ओएस (लिनक्स, विंडोज मैक) के शीर्ष पर एक सेवा को लागू करने की आवश्यकता होगी ताकि यह अधिसूचनाएं प्राप्त कर सके।

+0

धन्यवाद, @ लुकास कटयामा। क्या वास्तव में एक अंतर्निहित जीसीएम सेवा है जो सभी आईओएस उपकरणों पर मौजूद है? मैं मान रहा था क्योंकि यह ऐप्पल से नहीं था कि यह तब आना चाहिए जब जीसीएम एसडीके के साथ एक ऐप स्थापित हो। – skb

+0

यह शायद कुछ ऐसा है ... मैं एक एंड्रॉइड डेवलपर हूं ... आईओएस के बारे में बहुत कुछ नहीं जानता ... लेकिन यह मानते हुए कि वे समान हैं ... मुझे लगता है कि आईओएस की एक सेवा है जो एक सर्वर के साथ संचार करती है जीसीएम की तरह ... –

1

जीसीएम डिवाइस टोकन के खिलाफ नोटिफिकेशन भेजता है जो आईओएस/एंड्रॉइड डिवाइस से उत्पन्न होते हैं जब वे पुश अधिसूचना सर्वर के साथ पंजीकृत होते हैं। यदि आप डिवाइस टोकन के बिना अधिसूचनाएं प्राप्त करने के बारे में सोच रहे हैं तो यह मूल रूप से गलत है।

+0

मैंने नहीं कहा था कि मैं इसे डिवाइस टोकन के बिना करना चाहता था। :) मुझे लगता है कि आवश्यक प्रक्रिया का हिस्सा होगा। – skb

9

मुझे लगता है कि आप ios और Andriod के लिए, पुश सूचना भेजने के लिए है, तो उसके बाद FCM तो gcm उपयोग इस

router.post('/pushmessage', function (req, res) { 
    var serverKey = '';//put server key here 
    var fcm = new FCM(serverKey); 
    var token = "";// put token here which user you have to send push notification 
    var message = { 
     to: token, 
     collapse_key: 'your_collapse_key', 
     notification: {title: 'hello', body: 'test'}, 
     data: {my_key: 'my value', contents: "abcv/"} 
    }; 
    fcm.send(message, function (err, response) { 
     if (err) { 
      res.json({status: 0, message: err}); 
     } else { 
      res.json({status: 1, message: response}); 
     } 
    }); 
}); 
0

बेहतर मेरा मानना ​​है कि आप सेवा श्रमिकों का उपयोग कर सकते है।

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

तो मूल रूप से एक पृष्ठभूमि सेवा है जो पुश की प्रतीक्षा करती है और जो आप बनाने जा रहे हैं।

दो प्रौद्योगिकियों

पुश और अधिसूचना उपयोग अलग है, लेकिन पूरक, एपीआई: धक्का शुरू हो जाती है जब एक सेवा कार्यकर्ता को एक सर्वर की आपूर्ति जानकारी; एक अधिसूचना एक सेवा कर्मचारी या वेब पेज स्क्रिप्ट की क्रिया है जो उपयोगकर्ता को जानकारी दिखाती है।

self.addEventListener('push', function(event) { 
    const promiseChain = getData(event.data) 
    .then(data => { 
    return self.registration.getNotifications({tag: data.tag}); 
    }) 
    .then(notifications => { 
    //Do something with the notifications. 
    }); 
    event.waitUntil(promiseChain); 
}); 

https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications/handling-messages

संबंधित मुद्दे