micropush
v1.0.0
Published
Dead simple Microservice for push notifications on iOS and Android.
Downloads
10
Readme
Micropush
Dead simple Microservice for push notifications on iOS and Android.
Install
Download
git clone https://github.com/
Set up
Get private keys
- iOS : Generate a p8 file from Apple developers website and paste the p8 file into micropush root folder
- Android : Sign up to Google Firebase and get your Firebase Cloud Messaging API key
Update
.env
file: Open the.env
file inside the root directory and make changes.- If supporting iOS
- update the
ios_p8
attribute value with the name of thep8
file you pasted (example:apns.p8
) - update both the
ios_keyid
andios_teamid
with corresponding values (Learn how to retrieve keyid and teamid)
- update the
- If supporting Android,
- update the
android_apikey
attribute with the api key we got from "Get private keys" step.
- update the
- If supporting iOS
Deploy
- Development: Just run
npm start
to run the server on localhost - Production: Push to heroku or wherever you want. That's it!
- Development: Just run
Usage
Sending a push is a simple as:
- making a POST request of
'Content-Type': 'application/json'
- to your Micropush server endpoint
- with a JSON payload that follows the convention described below:
Micropush JSON payload
Here's an example JSON payload for Android:
{
"type": "$push.android",
"options": {
"to": "[DEVICE_TOKEN_GOES_HERE]",
"data": {
"href": {
"url": "https://news.ycombinator.com",
"view": "web"
}
},
"priority": "high",
"notification": {
"title": "android",
"sound": "default",
"body": "this is a message for android"
}
}
}
Here's an example JSON payload for iOS:
{
"type": "$push.ios",
"options": {
"to": {
"token": "[DEVICE_TOKEN_GOES_HERE]",
"topic": "[APP_BUNDLE_ID_GOES_HERE]"
},
"data": {
"href": {
"url": "https://news.ycombinator.com",
"view": "web"
}
},
"notification": {
"alert": "\uD83D\uDCE7 \u2709 You have a new message",
"sound": "default"
}
}
}
Check out /test
folder for examples.