48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
# pushNotifications
|
|
|
|
Process: [Main](../glossary.md#main-process)
|
|
|
|
> Register for and receive notifications from remote push notification services
|
|
|
|
For example, when registering for push notifications via Apple push notification services (APNS):
|
|
|
|
```javascript
|
|
const { pushNotifications, Notification } = require('electron')
|
|
|
|
pushNotifications.registerForAPNSNotifications().then((token) => {
|
|
// forward token to your remote notification server
|
|
})
|
|
|
|
pushNotifications.on('received-apns-notification', (event, userInfo) => {
|
|
// generate a new Notification object with the relevant userInfo fields
|
|
})
|
|
```
|
|
|
|
## Events
|
|
|
|
The `pushNotification` module emits the following events:
|
|
|
|
#### Event: 'received-apns-notification' _macOS_
|
|
|
|
Returns:
|
|
|
|
* `userInfo` Record<String, any>
|
|
|
|
Emitted when the app receives a remote notification while running.
|
|
See: https://developer.apple.com/documentation/appkit/nsapplicationdelegate/1428430-application?language=objc
|
|
|
|
## Methods
|
|
|
|
The `pushNotification` module has the following methods:
|
|
|
|
### `pushNotifications.registerForAPNSNotifications()` _macOS_
|
|
|
|
Returns `Promise<string>`
|
|
|
|
Registers the app with Apple Push Notification service (APNS) to receive [Badge, Sound, and Alert](https://developer.apple.com/documentation/appkit/sremotenotificationtype?language=objc) notifications. If registration is successful, the promise will be resolved with the APNS device token. Otherwise, the promise will be rejected with an error message.
|
|
See: https://developer.apple.com/documentation/appkit/nsapplication/1428476-registerforremotenotificationtyp?language=objc
|
|
|
|
### `pushNotifications.unregisterForAPNSNotifications()` _macOS_
|
|
|
|
Unregisters the app from notifications received from APNS.
|
|
See: https://developer.apple.com/documentation/appkit/nsapplication/1428747-unregisterforremotenotifications?language=objc
|