After several years of rapid improvements, notifications are now at a point of maturity and broad availability to be the primary way for apps to deliver time-sensitive messages to their users. The advantages over SMS are severalfold - wider platform availability through both mobile apps and web browsers, richer content, better deliverability, greater interactivity, and more user control. It's now only a matter of time before app-to-user SMS goes away entirely.
Nevertheless, although notifications are more reliable than SMS, they’re not as reliable as they can be. The problem is due to device manufacturers not realizing just how much users rely on notifications throughout their daily lives.
In a misguided attempt to increase battery life (or just the appearance of it in benchmarks), many device manufacturers have modified the Android operating system in ways that interfere with prompt notification delivery. Below is a list of affected manufacturers and devices we've seen here at OneSignal, along with the steps users must take to fix the problem:
Huawei devices run a modified version of Android OS called EMUI. By default, EMUI versions earlier than 4.1 automatically kill background apps every time the device's screen is off, unless they are marked is a Protected App in the device's Battery Management page in Advanced Settings.
This causes notifications to not be received by apps that are not on the Protected Apps list. Apart from interfering with notifications, it also causes frequently used apps to start slower, and can cause you to lose your place in games and other apps when the device is locked.
As Forbes put it, "for some reason, every Chinese phone has a very aggressive battery saving software feature that shuts down app when it's not being used" (Source), and "chances are, if you're using a Huawei phone just out of the box without any tweaks, you won't get alerts on updates to some of your apps." (Source)
Fortunately Huawei resolved this in EMUI 4.1 and newer.
Fix: Manually add each app you want reliable notification delivery from as a "Protected App" in the EMUI settings.
Some Sony Xperia devices have a Sony-specific "Stamina Mode". Like Huawei's "Protected Apps", Stamina Mode causes the device to forcefully close background processes and network connections when the device's screen is off.
Fortunately it appears that Sony has removed Stamina Mode for their new devices that run Android 6 and newer.
Fix: Manually add each app you want reliable notification delivery from to a list in the device's power management settings.
Asus Android devices have an "Auto-Start Manager" that by default prevents applications from being woken up to process incoming notifications unless they are allowed in the Auto-Start Manager application.
Fix: Manually allow each app you want reliable notification delivery from to the Auto-Start Manager application.
Xiaomi devices are so problematic when it comes to notifications that Forbes wonders, "maybe Chinese phonemakers just don't believe in push notifications, period." (Source). It took the tech-savvy Forbes writer 1-2 hours to resolve the problem affecting his Xiaomi device.
Fix: The steps to resolve this are too long to list here, instead please refer to the above reviewer's article here.
Oppo devices will close apps in the background or when the screen is off, and prevent those apps from receiving notifications.
Fix: Manually disable power savings on each app you want reliable notification delivery from within the "Security Center -> Data Saving" menu.
Unfortunately Samsung recently joined this list by changing the default notification behavior of Android OS in a particularly problematic way.
On new Samsung devices, the device will not show notifications from an app that has not been opened recently unless it is manually white-listed deep in the device's settings.
Fix: Manually disable battery usage optimization for each app you want reliable notification delivery from. (Guide)
Manufacturers, please stop interfering with notifications.
The poor out-of-the-box experience with so many new Android smartphones is a worrying trend for the overall Android user experience. Searching for notification issues on Google reveals "how to" guides on fixing the problem with hundreds of thousands of views, forum posts with hundreds of replies, and seemingly endless amounts of confused and upset users that are experiencing delayed or undelivered notifications on one of the above devices.
At this time, manufacturers seem unwilling to step back from the arms race of who can deliver the best battery benchmark, despite the clear negative impact on user experience. Worst of all, because the implications of these changes are not expected by users or well communicated by manufacturers, most users don't know its a problem until after they miss something important.
Here's some examples of possible notifications that could get delayed or not show up at all for users that don't go through the steps to fix them on one of the affected devices:
Changes to an event - If a user RSVP'd to an event and the location is changed while they're en route, they might not be notified and they'll end up in the wrong place.
Important e-mails - If a user relies on notifications for email replies, they might not be notified and they'll think they're still waiting to hear back. Any background updating functionality of the email client will also be affected.
Live event updates - If a user follows live events like sports, they want to experience those in the moment, not on a 15+ minute delay.
Security & home - If a home security camera sees something and users miss the notification, they may not be able to respond in a timely manner with the appropriate action, like having a neighbor check on their place.
Messages from friends - Users of Facebook messenger, WhatsApp, or other messaging apps may not know they have a message waiting for them. Android 7 notification dots and notification badges available in some launchers may also not be shown.
As Google's research team has shown, users care about notifications from other people so much that they keep their devices close at hand to be sure to not miss out on anything important. Google went as far as significantly reworking notification usability in the upcoming Android O operating system to help users better see important notifications like these. By de-prioritizing notifications, manufacturers are essentially ignoring the findings of this research and the reason many users buy smartphones in the first place.
Until Android device manufacturers stop modifying Android OS in ways that interfere with notifications, we hope this guide will help explain to users and developers why this happens and how to work around the problem.
Meanwhile, here at OneSignal we'll continue to do our best to ensure that every notification developers send gets delivered as promptly and reliably as possible, and give developers the feedback they need to keep track of this trend.
(Update: This post generated a lot of discussion on Reddit. Click here to read the comments)