micropush
v1.0.0
Published
Dead simple Microservice for push notifications on iOS and Android.
Downloads
4
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.