[deleted] But i do have one fundamental problem: the lack of unified push service. I am trying to educate myself in how things run on Android from a user perspective, but the notifications or lack thereof are a major deal breaker for me.
unfortunately that's the price we have to pay at the moment. There is no one-stop alternative now but there is hope on the the horizon.
[deleted] Please, can anyone advise me how they work around getting notifications for apps that rely on google cloud messaging? Is there other way? Pardon me asking so plainly.
I'll try, given my limited knowledge.
For apps to receive notification they would have to have a live connection to a server. This means the app has to be active, have active listeners, which utilize CPU and ram and data. And if there is multiple apps, then each one has to have one. This is a problem on a small phone running on a battery. To solve the battery problem, android suspends all apps, so no cpu activity, and then assigns only one app to handle all notifications on behalf of the other apps. This app right now is the Google Push Notification Service. It is always active and always listening, but since its only one app and very optimized, it uses low resources. When this app receives a message on behalf of another app, (and this part I myself am not so sure about) it either wakes the relevant app up for a short time to receive the message and display it on the notification area, or it simply only displays the message without waking up the original app. Once the user unlocks the phone and clicks the notification or opens the relevant app then that app becomes active, processes the message, or even connects to its server to download the actual content of the message.
When a unified notification system such as this is not available (as is the case on graphene os), the only way for an app to receive messages is to have a live connection all the time to a server (typically the app's own server). This can be done using a live permanent connection, or a "polling" system, where the app connects and disconnects periodically to "check in" with the server. This obviously causes the app not be able to be suspended and hence draws more power. The more apps with direct notifications, the more power usage. Websockets is the technology used for these direct connections.
Hope this helps.