Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 1.75 KB

README.md

File metadata and controls

64 lines (49 loc) · 1.75 KB

push-apis

npm npm license npm downloads

  • 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 */ )