I know this is an old thread, but you're not able to send a background push with a priority of 10 today. What this means is sure, your app cannot refresh content until the user has unlocked their phone (when on cellular), but this also means that background apps with the proper entitlements, cannot receive a reliable push on when to do something.
For example, an audio app in the background cannot receive a reliable way to stop playing. A new push category for such a use case 'background-entitled' or something would be a good addition.
Unless someone has a better idea.
Today, the only way to do this is with a WebSocket connection, but that too is problematic. Its killed after just 10 seconds of inactivity, so you need to constantly send a ping / pong. This actually makes battery consumption vastly worse than if Apple would kindly allow background apps a new push category, or allow them to receive a background (content-available) push, since they're already running.
Unfortunately it doesn't seem to be the case, when on Cellular. On WiFi they are in fact delivered to the app immediately. Even including a foreground notification before a background one doesn't work, and despite the app already running, it will not receive the background notification.