Shivam Sharma
Shivam Sharma

Reputation: 1045

Why does APNS deliver only last queued notification instead of all queued notifications?

Problem Statement : I'm using voip notification to show local notification.I'm trying to send notification from Apns to a offline device. So, It queued all pending notifications. But, It only send last queued notification once device becomes online.

Upvotes: 2

Views: 430

Answers (1)

karthikeyan
karthikeyan

Reputation: 3888

As per apple documentation Link

Quality of Service, Store-and-Forward, and Coalesced Notifications

Apple Push Notification service includes a Quality of Service (QoS) component that performs a store-and-forward function. If APNs attempts to deliver a notification and the destination device is offline, APNs stores the notification for a limited period of time and delivers it when the device becomes available again. This component stores only the most recent notification per device and per app. If a device is offline, sending a notification request targeting that device causes the previous request to be discarded. If a device remains offline for a long time, all its stored notifications in APNs are discarded.

To allow the coalescing of similar notifications, you can include a collapse identifier within a notification request. Normally, when a device is online, each notification request that you send to APNs results in a notification delivered to the device. However, when the apns-collapse-id key is present in your HTTP/2 request header, APNs coalesces requests whose value for that key is the same. For example, a news service that sends the same headline twice could use the same collapse identifier value for both requests. APNs would then coalesce the two requests into a single notification for delivery to the device.

Upvotes: 2

Related Questions