What Are Push Notifications?
The Client Pull
The simplest method for delivering content from the "cloud" to your app is often referred to as the "client pull" method. When using this method, the app (client) attempts to pull new information down from your servers whenever the app is launched, or when a specific activity within the app is accessed.
The "client pull" method works well, however it does have some disadvantages. One problem that may not be immediately obvious is that it can drain your end-user's battery and waste their data. This can happen because the app will check the server for updates (waking up the device's wireless antenna is a battery intensive operation, and checking for updates costs bandwidth) even if no updates are available.
Another more obvious issue is the fact that if your users do not launch your app they will never receive any of your new content. This can be problematic if you want your users to see time-sensitive data (happy hour coupons), and it's a deal breaker if the data is integral to your application (chat notifications).
The Server Push
One solution to these problems is to reverse the "client pull" method and "push" the data down to the client apps, this is sometimes called a "server push". When using this method, the web server sends (or pushes) new data down to the client whenever it is deemed necessary. The client app will then be notified of the new data (whether it is running or not) and then handle the new data in the appropriate manner. This saves bandwidth and data usage, since the wireless antennae is only woken up, and data is only downloaded, when needed.
Android applications that receive data from a server push will often generate a notification to let the end user of the app know that new data has arrived. This is commonly referred to as a Push Notification.
The notification portion of the "Push Notification" term comes from a technical feature of the Android operating system called a notification. Google defines the term notification as follows:
A notification is a message you can display to the user outside of your application's normal UI. When you tell the system to issue a notification, it first appears as an icon in the notification area. To see the details of the notification, the user opens the notification drawer. Both the notification area and the notification drawer are system-controlled areas that the user can view at any time.
Here are some examples of push notifications:
Letting them know an in-app event has occurred.
Letting your customers know of an in-store event.
Delivering targeted coupons to loyal customers.
Promoting the release of a new app.
Informing your users that content within the app has been updated.