How to increase the reliability of silent notifications?

I am creating a mobile application which requires push notification to be processed before showing the user. The application is for an emergency notification service that requires highly reliable and near real time delivery of notifications. I am currently sending silent notification with content-available property which has value 1. Many notifications fail to reach the device. I found that of 100 notifications sent, only about 40 notifications are received. I expect to see a rate in the high 90 percentile.

How can I increase the reliability of silent notification?

You can't. The push notification system is defined as an unreliable, "best effort" mechanism. The system doesn't promise high reliability or near real time delivery of notifications, so you shouldn't use it when you depend on those features.

we did it 🙂

It's my understanding that the OS uses some (deliberately) undocumented heuristics to decide whether or not to deliver a particular content-available notification. These may include such things as whether the user opens your app often, whether you actually fetch some new content over the network when you get one (as opposed to just trying to use it as a way to get scheduled background execution time, which is not supported), and how often you are sending them (Apple reserves the right to throttle them at any time for any reason). I'm sure it also depends on the device's power state (plugged in or not) and other usage patterns.


Bottom line - as NMN says, you can't guarantee delivery. Even if you do figure out some combination of delivery rate and response to the notification that seems reliable today, as Catapush seems to be suggesting is possible, the heuristics may change tomorrow and you're back to unreliable delivery. Any app design that requires reliable content-available delivery is fundamentally flawed. Your app must be able to cope with not getting those notifications.

You might want to be more open on how?

Use of a consumer-level cell phone for reliable emergency notifications is typically discouraged, essentially due to the stats you've reported.


I don't think you can reach a better level, sorry.

As others have noted, Apple explicitly states that push notifications are "best effort" delivery.


I expect you will encounter difficulty getting your app approved for distribution in the App Store if you claim otherwise.

They use faux VoIP functionality to pass app submission to store.

How to increase the reliability of silent notifications?
 
 
Q