push-apis
-
Sends push-notifications via Google/FCM, Huawei/Push-Kit and Apple gateways
-
Proxy friendly (set http_proxy
env variable, if needed)
-
Tunneling HTTP/2 over HTTP/1.1 proxy (Apple APIs supports HTTP/2 only)
-
No dependencies on vendor libs
Install
npm install push-apis
Usage
Google Legacy FCM API
const serverKey = 'AAAA...'
const payload = { notification: { title: "title", body: "body" } }
const payloadWithData = { data: { hello: "there" } }
await sendMessageFcmLegacy( serverKey, to, payload /* payloadWithData */ )
Google FCM API v1
const gcpServiceAccount = {
client_email: '***',
project_id : '***',
private_key : '***',
...
}
const payload = { notification: { title: "title", body: "body" } }
await sendMessageFcmV1( serviceAccount, token, payload )
Huawei Push Kit API
const appId = '10xxxxxxx',
const appSecret = "afxxxxxxx..."
const payload = { notification: { title: "title", body: "body" } }
await pushApi.sendMessageHuawei( appId, appSecret, token, payload )
Apple Push API
const credentials = {
server: 'api.sandbox.push.apple.com', // optional
apnsTopic: 'com.your.app.here'
teamId: 'H4xxxxxxxx',
keyId : '55xxxxxxxx',
encKey: '-----BEGIN PRIVATE KEY-----\n.......'
}
const payload = { aps : { alert: { title: "title", body: "body" } } }
const payloadWithData = { hello: "there" }
await pushApi.sendMessageApple( credentials, token, payload /* payloadWithData */ )