Skip to content

Development notes

Jon Chambers edited this page Mar 4, 2014 · 13 revisions

Open questions

APNs protocol

  • Apple's docs say: "If you need to send a large number of push notifications, spread them out over connections to several different gateways." The docs only list one gateway address (gateway.push.apple.com) and that's presumably a load balancer(?), but it would be nice to confirm that's actually what's happening.
  • Are any of the "items" in the binary notification format optional? It definitely doesn't make sense to leave out a device token, payload, or sequence number, but can we leave out an expiration date or priority?
  • "The push notification must trigger an alert, sound, or badge on the device. It is an error to use this priority for a push that contains only the content-available key." Does that mean the notification will be rejected by the gateway? If so, what will the error code be?
    • This is further confusing because the docs for the legacy protocols say: "These formats do not include a priority; a priority of 10 is assumed."
  • Using the binary notification format, it seems like it's much more likely that a notification will be rejected before a sequence number is sent. Can we reduce the risk by sending the sequence number as early in the frame as possible? If not, what sequence number will the APNs gateway send when in doubt?