UNPKG

push-apis

Version:

Sends push-notifications via Google/FCM • Huawei/Push-Kit • Apple • Proxy friendly • No deps on vendor libs.

65 lines (49 loc) 1.79 kB
# push-apis [![npm](https://flat.badgen.net/npm/v/push-apis)](https://npmjs.com/package/push-apis) [![npm license](https://flat.badgen.net/npm/license/push-apis)](https://npmjs.com/package/push-apis) [![npm downloads](https://flat.badgen.net/npm/dm/push-apis)](https://npmjs.com/package/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 */ ) ```