Create send push notification api in nodeJs using http NPM package

Create send push notification api in nodeJs using http NPM package

nodeJs NPM notification push notification API

Create send notification API using nodejs without FCM and GCM npm package.We can send notification using Http npm package in the nodejs.

Create a new Directory, we can run the following command: 

mkdir <directoryname>

then move into the newly created directory:

cd <directoryname>

then  run this command : 

npm init

and fill this information like that :

package name: (directoryname)
version: (1.0.0)
description:
entry point: (index.js) server.js
test command:
git repository:
keywords:
author:
license: (ISC)
{"name": "curlapi",  "version": "1.0.0","description": "", "main": "server.js","scripts": { "test": "echo \"Error: no test specified\" && exit 1" },  "author": "",  "license": "ISC"}Is this ok? (yes) yes then enter

After creating project install node package run command:

npm install --save express morgan body-parser method-override multer http

create the server.js file and add this code :

var express     = require('express');
var app         = express();
var bodyParser  = require('body-parser');
var morgan      = require('morgan');
var multer  =   require('multer');
var methodOverride = require('method-override');
var http = require('http');
// =======================
// configuration =========
// =======================
var port = process.env.PORT || 8258;
app.use(express.static(__dirname + '/public'));
app.use('/public/uploads',express.static(__dirname + '/public/uploads'));
app.use(bodyParser.urlencoded({'extended':'true'}));            // parse application/x-www-form-urlencoded
app.use(bodyParser.json());                                     // parse application/json
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/vnd.api+json as json
app.use(methodOverride());
app.use(function(req, res, next) { //allow cross origin requests
    res.setHeader("Access-Control-Allow-Methods", "POST, PUT, OPTIONS, DELETE, GET");
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});
// Send Push Notification
app.post('/sendpush', function(req, res) {
    var registration_ids = [];
    registration_ids.push('Enter Device TokenID');
    var data = {
      "collapseKey":"applice",
      "delayWhileIdle":true,
      "timeToLive":3,
      "data":{
        "message": "Sent Notification","title":"Push Notification"
        },
      "registration_ids":registration_ids
    };
    var dataString =  JSON.stringify(data);
    var headers = {
      'Authorization' : 'key=<Enter Firebase and google server Key/Legacy server key >',
      'Content-Type' : 'application/json',
      'Content-Length' : dataString.length
    };
    var options = {
      host: 'android.googleapis.com',
      port: 80,
      path: '/gcm/send',
      method: 'POST',
      headers: headers
    };
    //Setup the request
    var req = http.request(options, function(res) {
      res.setEncoding('utf-8');
      var responseString = '';
      res.on('data', function(data) {
        responseString += data;
      });
      res.on('end', function() {
        var resultObject = JSON.parse(responseString);
      });
      console.log('STATUS: ' + res.statusCode);
      console.log('HEADERS: ' + JSON.stringify(res.headers));
    });
    req.on('error', function(e) {
      console.log('error : ' + e.message + e.code);
    });
    req.write(dataString);
    req.end();
    res.send();
});
// =======================
// start the server ======
// =======================
app.listen(port);
console.log('Running at ' + port);

 

https://github.com/Sudarshan101/nodejsPushnotificationApi

About the author
Code solution

info@codesolution.co.in

Discussion
  • 0 comments

Add comment To Login
Add comment