This repository is a part of the ChatEngine Framework. For more information on building chat applications with PubNub, see our Chat Resource Center.
Show a desktop notification when a message is received and app is not in focus.
The desktop notification plugin is straight forward to implement. The following are supported and tested browsers:
Browser | Supported | Last Validated Version |
---|---|---|
Chrome | Yes | v.68 |
Firefox | Yes | v.61 |
Safari | Yes | v.11.1 |
Opera | Yes | v.55 |
IE | ? | N/a |
npm install chat-engine-desktop-notifications --save
CE currently supports the following options for displaying desktop notifications.
For additional configuration please refer to the following (MDN reference)[https://developer.mozilla.org/en-US/docs/Web/API/notification].
let desktopNotificationsConfig = {
title: (event) => {
return '<INSERT_MSG_TITLE_HERE>'
},
message: (event) => {
return event.data.text; // (default) displays CE message text for the room
},
icon: (event) => {
return './pn-cloud.png';
},
callback: (event) => {
window.focus();
}
}
Then to initialize, attach the plugin to the ChatEngine.chat
object:
ChatEngine.chat.plugin(
ChatEngineCore.plugin['chat-engine-desktop-notifications'](desktopNotificationsConfig)
);
By default, the CE desktop notification plugin handles the prompting the user to Show Notifications.
To instantiate this earlier, place the following snippet within your initialization code for CE:
Notification.requestPermission().then((res) => {
console.log(res);
});
To see the desktop notifications example in action, add your CE pub/sub keys to '''example/desktop.js''' and then run the following:
cd example
npm install
http-server
Open a supported browser to 127.0.0.1:8080
and open the desktop.html
file.
- If you need help, have a general question a feature request or to file a bug, contact support@pubnub.com