mv-node-pushnotifications
v0.1.8
Published
A cross-platform push service for Node.js
Downloads
4
Maintainers
Readme
Node Push Notify
A Node.js module for interfacing with Apple Push Notification, Google Cloud Messaging, Microsoft Push Notification and Amazon Device Messaging services.
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
- Node Push Notify from alexlds
- Google Cloud Messaging setup guide
- Apple Push Notification setup guide Part 1
- Apple Push Notification setup guide Part 2
Made in Barcelona with <3 and Code