Search code examples
apple-push-notifications

What is the default value of the apns-expiration field?


The apns-expiration field governs how long Apple will hold on to an apns message before giving up on delivering it (for example, if the device is turned off).

According to their docs, a value of zero means "no retention": meaning that if the message can't be delivered immediately, its discarded.

But what happens if the header isn't specified? In other words, what is the default behavior?


Solution

  • My information isn't based on documentation but rather on stats gathered from a multi-million users system. The policy at this time is to retain push messages for a long time (exactly how long I dont know - we've seen 1M seconds retention in some cases). Of course, as this isn't documented it could change in the future.

    Note that this default value is similar to Google's policy (where the default is 2419200 seconds), with the exception that Google's policy is documented.