3 ms·
Just one issue - there are timers on connections regulating how long a connection can be kept alive before a packet is required. Larger timeouts are better for
by room500 6y ago
Just one issue - there are timers on connections regulating how long a connection can be kept alive before a packet is required. Larger timeouts are better for phones, but require more resources on the servers/networks.
Google/Apple work directly with carriers to extend the timeouts for their push services so the phones aren't required to send keepalive packets every 30 seconds to keep the connection alive. Carriers won't be willing to do that for every random server out there.
This is just one of many ways these push services are carefully designed/operated to save as much battery life as possible. If you had more than one notification service, battery life would degrade to the worst performing one (the radio would be forced to wake up to keep every notification service alive... Even if the Google one could go minutes between the keepalive packets)
(Another is the way Google batches low priority notifications... Sending a push message won't immediately wake up a phone - it delays to try to batch as many messages as possible. This scheme breaks down if messages aren't all routed through a single server)