Need private packages and team management tools?Check out npm Teams »

mv-node-pushnotifications

0.1.8 • Public • Published

Node Push Notify

A Node.js module for interfacing with Apple Push Notification, Google Cloud Messaging, Microsoft Push Notification and Amazon Device Messaging services.

License NPM version Downloads Build Status

Installation

npm install node-pushnotifications

Features

  • Powerful and intuitive.
  • Multi platform push sends.
  • Automatically detects destination device type.
  • Unified error handling.

Usage

iOS: Prepare cert.pem and key.pem as described in node-apn

Import and setup push module:

var settings = {
  gcm: {
    id: null, // PUT YOUR GCM SERVER API KEY,
    msgcnt: 1,
    dataDefaults: {
      delayWhileIdle: false,
      timeToLive: 4 * 7 * 24 * 3600, // 4 weeks
      retries: 4,
    },
    // Custom GCM request options https://github.com/ToothlessGear/node-gcm#custom-gcm-request-options
    options: {},
  },
  apn: {
    gateway: 'gateway.sandbox.push.apple.com',
    badge: 1,
    defaultData: {
      expiry: 4 * 7 * 24 * 3600, // 4 weeks
      sound: 'ping.aiff'
    },
    // See all available options at https://github.com/argon/node-apn/blob/master/doc/connection.markdown
    options: {},
    // I.e., change .cert location file:
    // options: {
    //    cert: "/certs/ios/mycert.cert" // {Buffer|String} The filename of the connection certificate to load from disk, or a Buffer/String containing the certificate data. (Defaults to: cert.pem)
    // }
  },
  adm: {
    client_id: null, // PUT YOUR ADM CLIENT ID,
    client_secret: null, // PUT YOUR ADM CLIENT SECRET,
    expiresAfter: 4 * 7 * 24 * 3600, // 4 weeks
    // Custom ADM request options, same as https://github.com/ToothlessGear/node-gcm#custom-gcm-request-options
    options: {},
  },
};
var PushNotifications = new require('node-pushnotifications');
var push = new PushNotifications(settings);

GCM and ADM options: see node-gcm

APN options: see node-apn

Define destination device ID. You can send to multiple devices, independently of platform, creating an array with different destination device IDs.

// Single destination
var deviceIds = 'INSERT_YOUR_DEVICE_ID';
 
// Multiple destinations
var deviceIds = [];
deviceIds.push('INSERT_YOUR_DEVICE_ID');
deviceIds.push('INSERT_OTHER_DEVICE_ID');

Next, create a JSON object witch MUST contain, at least, a title and message and send it to server.

var data = {
  title: 'New push notification',
  message: 'Powered by AppFeel',
  otherfields: 'optionally add more data'
};
push.send(deviceIds, data, function (result) {
    console.log(result);
});

Result will contain 'true' or 'an error description'.

Resources

Made in Barcelona with <3 and Code

Install

npm i mv-node-pushnotifications

DownloadsWeekly Downloads

2

Version

0.1.8

License

none

Last publish

Collaborators

  • avatar