For our AstroBot notifications, the first thing we decided to tackle is launch notifications. We were finding that one of the most annoying things about AstroBot's "upcoming launches" functionality was that it was a pull model where you had to remember to check for launches. With the push model, we now have the ability to send out reminders each morning where there is a launch happening that day.
On our side, we simply check Launch Library once a day for upcoming launches, and if one of them exists, we query our database for all of our users who have asked to enable notifications, and then we broadcast out to them a list of all launches for that day. If there are no launches in the next 24 hours, we don't send any notifications. Simple!