Node Sender API for the AeroGear Unified Push server
This version of the sender is compatible with the 1.1.x series of the UnifiedPush Server_
Project Info | |
---|---|
License: | Apache License, Version 2.0 |
Build: | npm |
End User Documentation: | https://docs.aerogear.org |
Community Documentation: | https://aerogear.org |
Issue tracker: | https://issues.jboss.org/browse/AEROGEAR |
Mailing lists: | https://groups.google.com/forum/#!forum/aerogear |
Add the dependency to your project:
npm i unifiedpush-node-sender
Create a sender
const agSender = require('unifiedpush-node-sender');
const settings = {
url: '<pushServerURL e.g http(s)//host:port/context>',
applicationId: '<pushApplicationId e.g. 1234456-234320>',
masterSecret: '<masterSecret e.g. 1234456-234320>'
};
First get a handle on the client
object, then use the client.sender.send
method to send a message
agSender(settings).then((client) => {
client.sender.send(message, options).then((response) => {
console.log('success', response);
})
});
Similar to the send
method but passing an array of {message, options}
objects as parameter instead.
agSender(settings).then((client) => {
client.sender.sendBatch(messages).then((response) => {
console.log('success', response);
})
});
The Sender Class, It returns a Promise with the client
object
settings
Objecturl
String - The URL of the Unified Push Server.applicationId
String - The id of an Application from the Unified Push ServermasterSecret
String - The master secret for that Applicationheaders
Object - The hash of custom HTTP headers / header overrides
-
message
Objectalert
String - message that will be displayed on the alert UI elementpriority
String - sets a processing priority on a push message. values can be 'normal' or 'high'sound
String - The name of a sound filebadge
String - The number to display as the badge of the app iconuserData
Object - any extra user data to be passed
-
message.apns
Objecttitle
String - A short string describing the purpose of the notification.action
String - The label of the action buttonurlArgs
Array - an array of values that are paired with the placeholders inside the urlFormatString value of your website.json file. Safari OnlytitleLocKey
String - The key to a title string in the Localizable.strings file for the current localization. iOS OnlytitleLocArgs
Array - Variable string values to appear in place of the format specifiers in title-loc-key. iOS OnlyactionCategory
String - the identifier of the action category for the interactive notificationcontentAvailable
Boolean - Provide this key with a value of 1 to indicate that new content is available. iOS Only
-
message.windows
Objecttype
String - The type of message to send toast, raw, badge or tile.duration
String - Duration a Toast message is displayed 'long' or 'short'badge
String - Badge notifications type for badges that are not numbers (none, activity, alert, available, away, busy, newMessage, paused, playing, unavailable, error or attention), for numbers use the value in the main part of the message.tileType
String - Different type of tile messages with different sizes see the [tile template catalog]{@link https://msdn.microsoft.com/en-us/library/windows/apps/hh761491.aspx} e.g. 'TileSquareText02' or 'TileWideBlockAndText02'images
Array - Images either local or remote need match the nubmer of the tileTypetextFields
Array - Texts needs to be same as the number of the tileType
-
options
Object -
options.config
Objectttl
Number - the time to live in seconds. This value is supported by APNs and GCM Only
-
options.criteria
Objectalias
Array - a list of email or name stringsdeviceType
Array - a list of device types as stringscategories
Array - a list of categories as stringsvariants
Array - a list of variantID's as strings
See LICENSE file
Join our user mailing list for any questions or help! We really hope you enjoy app development with AeroGear.
If you found a bug please create a ticket for us on Jira with some steps to reproduce it.