Nowadays, push notification is called any notification that you can see on your phone or other device. However, if we want to be accurate, not every notification is a lighter.
On Android, notifications can be divided into two types: notifications created by the application and those sent by an external server. It is this second type of notification called push notifications.
How does the application display notifications?
Notifications are displayed not only by programs that use Internet access. As an example, here I can give you the alarm clock application that I use. Namely, this application displays a notification every Sunday with a reminder of the alarm clock setting on Monday.
How does it work underneath? If the application detects on Sunday that I have not set any alarm on Monday, it sends a request to the system to display the notification together with the relevant parameters (title, text, image and so on). For this action, we do not need any interference from the external server.
Technically, we should not call such notification a push notification. The developer can decide to display any notification at any place.
What is the purpose of push notifications?
Looking quite broadly, push notifications are an example of unilateral server communication with our application. Imagine such a life example – we want to show the user that he has just received a message in our application. This can be done in two ways.
We can connect to our server at certain time intervals and retrieve information about unread messages. In a situation where they do exist, we will display a notification with an appropriate message. It’s easy to guess that this is not a good solution. First of all, such regular connection with the server will cause the battery and the internet package to be consumed.
The second solution is to send a notification directly from our server when a particular user receives a message. As you can see, the second method, i.e. push notifications, eliminates wasting energy and the internet package. That is why such notifications are so commonly used.
How does the service of incoming notifications from the programmer’s perspective look like?
Currently, you can do it in two ways – it all depends on whether you are a real fan of Android and prefer to have control over the device or not. The first approach is very similar to the mechanism present in iOS. If our application is in the background and the server sends a notification, the system will automatically display it for us.
However, if our application is currently running, we must handle the received information ourselves and ask the system to display a notification with the appropriate attributes. In the second approach, the entire notification display service is taken care of regardless of whether our application is currently in the background or not.
Manual notification support – is it difficult?
It is not difficult; Google has simplified it almost as much as it could. All we need is to expand the appropriate class provided by Google and implement the method responsible for receiving the notification.
Later steps look the same as if we were showing a regular offline notification (as in the example with an alarm clock). The biggest obstacle is going through the Google documentation and properly configuring our application – adding the appropriate license keys, libraries and so on.
Unfortunately, most of Google’s additional services documentation is written very tragically and you need to look for help on other websites.
How does the server recognize a specific device?
In answering this question, first I have to show you how to send notifications from the server perspective. Our server does not connect to our phones directly, everything goes through Google servers. First of all, our server and application need to receive a license key from Google – it allows us to identify our application.
When the server wants to send a notification, it connects to the Google server and transfers this license key. In this way, Americans know which application to send a notification to. That’s not all to receive notifications in our application. We need to log in to the user for pushy, transferring the license key to Google’s servers.
In response, we receive a unique key that identifies our device. At this point, we must pass it to our server. It sounds a bit confusing, so I will present it based on the list of steps:
- The user logs in to our application
- We open the welcome screen and log in to the user (adding a license key to the query) to the Google service responsible for notifications.
- We send a key from Google that identifies the device to our server along with the data of the currently logged in user
- The server assigns the device key to the user
- The user gets a message
- The server sends a request to send a notification together with the license key, device key and the corresponding message
- Google checks if the device key and license key are correct and sends a notification to the device.
- We support notification in our application
Why do not the notifications duplicate?
You probably noticed that the moment you read an e-mail on your computer, the corresponding notification displayed on all your devices disappears. You probably wondered how it happens – I’m in a hurry with an explanation.
From a server perspective, there is no standard that would specify how to do this, so we have to do it manually. Usually the logic of operation is very similar. When the server detects that a message has been read by the user, it sends a new push notification with the appropriate data to all devices added by the user. The application recognizes that this is a special notification, which means reading the message.
Instead of displaying a new notification, the application communicates with Android and removes the notification responsible for reading this particular message. There is one more option, a bit simpler. Google provides a service like device grouping.
Thanks to this, we can assign up to 20 devices to one user and instead of manually sending notifications to each device, we can send them to this group. Google will make sure that notifications will be visible on all devices and if it is read on one of the devices, it will also disappear on the other devices.
Author Bio:
http://www.thepushhub.com/ helps to get push notification is the message of the application to the user. In most cases, this is a notification that mainly contains text and can be seen in the form of an on-screen overlay. The advantage is that the message is also displayed on the smartphone, although the application is not active at the moment. We will offer 100% Free Services and you can get huge benefit from us.