
A snippet below contains JavaScript that makes use of the Notifications API functionality.
window.onLaunchboxLoaded = function() {
// To receive the initial notification, attach a handler in onLaunchboxLoaded().
launchbox.Notifications.onNotificationReceive.bind(notificationHandler);
// Create a category for receiving new mails with Reply and Snooze buttons.
var mailCategory = new NotificationCategory('mail');
mailCategory.setActions(
new NotificationAction('reply', 'Reply'),
new NotificationAction('snooze', 'Snooze')
);
// Categories can be registered at any moment before notification is received.
// It doesn't have to be done inside onLaunchboxLoaded().
launchbox.Notifications.registerCategory(mailCategory);
// Registration can be done at any time, but both Apple and Google recommend doing it on every app start.
launchbox.Notifications.registerForPushNotifications()
.then(function(token) {
...
});
};
// Sample handler.
var notificationHandler = function(type, payload, actionId) {
if (actionId === "reply") {
...
} else if (actionId === "snooze") {
...
}
};To handle silent push notifications you can bind to the onNotificationReceive
event. You should then check the payload for the appropriate value of the
content-available field:
launchbox.Notifications.onNotificationReceive.bind(type, notification) {
if ((notification.aps && notification.aps['content-available'] == 1) ||
(notification.c2dm && notification.c2dm['content-available'] == 1)) {
// Handle silent push
}
};