On a recent mobile (android and iOS) project I implemented push notifications with pushd.
On the pushd project page, pushd is introduced as follows:
Pushd is a pluggable unified push server for server-side notification to mobile native apps, web apps etc. With pushd you can send push notifications to any supported mobile platform, web app or HTTP server from a single entry point. Pushd takes care of which device is subscribed to which event and is designed to support an unlimited amount of subscribable events.
and I have to agree :)
Why do I like pushd as a notification server?
On the plus side:
- open source (http://github.com/rs/pushd)
- uses the mobile platforms own notification solutions, both on the server side as on client (device) side so there is no need to introduce 3rd party libs in your apps
- not restricted to mobile, use it in browsers and Chrome/web apps too with Server Sent Events or HTTP hooks
- easy to use API
- minimal server reqs for dev/testing
On the minus side (they are not shortcomings on the functioning of the tool but more on the operational side of things:
- it uses Redis as a datastore, it may be (another) new tool to manage
- need to implement a (another) tool to get statistics. Not a bad idea anyway to use one dashboard/monitoring tool in your organisation, rather then adding historical data and a fancy dashboard onto pushd. And it should just be a matter of feeding the logfile of pushd into whatever you use, it contains all the 'send and failed' loglines you need to get your numbers.