खोज…


GCM (Google क्लाउड मैसेजिंग सिस्टम) का उपयोग करके वेब सूचना भेजें

ऐसा उदाहरण पीडब्ल्यूए (प्रोग्रेसिव वेब एप्लिकेशन) के बीच व्यापक रूप से फैल रहा है और इस उदाहरण में हम NodeJS और ES6 का उपयोग करके अधिसूचना की तरह एक सरल बैकएंड भेजने जा रहे हैं।

  1. नोड-जीसीएम मॉड्यूल स्थापित करें: npm install node-gcm

  2. Socket.io स्थापित करें: npm install socket.io

  3. Google कंसोल का उपयोग करके GCM सक्षम एप्लिकेशन बनाएं

  4. अपने GCM एप्लिकेशन आईडी को प्राप्त करें (हमें बाद में इसकी आवश्यकता होगी)

  5. अपने GCM एप्लीकेशन सीक्रेट कोड को पकड़ें।

  6. अपना पसंदीदा कोड संपादक खोलें और निम्नलिखित कोड जोड़ें:

     'use strict';
    
     const express = require('express');
     const app = express();
     const gcm = require('node-gcm');
     app.io = require('socket.io')();
     
     // [*] Configuring our GCM Channel.
     const sender = new gcm.Sender('Project Secret');
     const regTokens = [];
     let message = new gcm.Message({
         data: {
             key1: 'msg1'
         }
     });
     
     // [*] Configuring our static files.
     app.use(express.static('public/'));
     
     // [*] Configuring Routes.
     app.get('/', (req, res) => {
         res.sendFile(__dirname + '/public/index.html');
     });
     
     // [*] Configuring our Socket Connection.
     app.io.on('connection', socket => {
         console.log('we have a new connection ...');
         socket.on('new_user', (reg_id) => {
             // [*] Adding our user notification registration token to our list typically hided in a secret place.
             if (regTokens.indexOf(reg_id) === -1) {
                 regTokens.push(reg_id);
     
                 // [*] Sending our push messages
                 sender.send(message, {
                     registrationTokens: regTokens
                 }, (err, response) => {
                     if (err) console.error('err', err);
                     else console.log(response);
                 });
             }
         })
     });
      
     module.exports = app
    

पुनश्च: मैं यहाँ एक विशेष हैक का उपयोग कर रहा हूँ ताकि Socket.io एक्सप्रेस के साथ काम कर सके क्योंकि यह बॉक्स के बाहर काम नहीं करता है।

अब एक .json फ़ाइल बनाएं और इसे नाम दें: Manifest.json , इसे खोलें और निम्नलिखित को पिछले करें:

{
    "name": "Application Name",
    "gcm_sender_id": "GCM Project ID"
}

इसे बंद करें और अपने एप्लिकेशन रूट निर्देशिका में सहेजें।

पुनश्च: Manifest.json फ़ाइल को रूट निर्देशिका में होना चाहिए या यह काम नहीं करेगा।

उपरोक्त कोड में मैं निम्नलिखित कर रहा हूं:

  1. मैंने एक सामान्य इंडेक्स। Html पेज सेट किया और भेजा, जो सॉकेट.आईओ का भी उपयोग करेगा।
  2. मैं एक कनेक्शन ईवेंट पर सुन रहा हूं जो मेरे इंडेक्स। Html पृष्ठ के सामने के छोर से निकाल दिया गया है (यह एक बार एक नए क्लाइंट को सफलतापूर्वक हमारे पूर्व-निर्धारित लिंक से कनेक्ट करने पर निकाल दिया जाएगा)
  3. मैं अपने index.html से socket.io new_user इवेंट के माध्यम से पंजीकरण टोकन के रूप में एक विशेष टोकन पता भेज रहा हूं, इस तरह के टोकन हमारे उपयोगकर्ता के अद्वितीय पासकोड होंगे और प्रत्येक कोड आमतौर पर वेब अधिसूचना एपीआई के लिए एक सहायक ब्राउज़र से उत्पन्न होता है (और पढ़ें यहाँ।
  4. मैं केवल अपनी सूचना भेजने के लिए नोड-जीसीएम मॉड्यूल का उपयोग कर रहा हूं जिसे सेवा कार्यकर्ताओं के उपयोग के बाद संभाला जाएगा और दिखाया जाएगा।

यह NodeJS दृष्टिकोण से है। अन्य उदाहरणों में मैं दिखाऊंगा कि कैसे हम अपने पुश संदेश में कस्टम डेटा, आइकन .. आदि भेज सकते हैं।

पुनश्च: आप यहाँ पर पूर्ण कार्यशील डेमो पा सकते हैं



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow