Optimizing Push API requests for low latency delivery

The more complex your API request is, the longer it will take for Urban Airship to resolve the request to actual device records and deliver the notifications to last-mile push providers (APNS, GCM, etc).

Broadcast (all devices) and Unicast (single device) push requests will always be the lowest latency types of notification sends. This is because there is very little computation required to turn a single request in to successful notification send. 

In normal conditions, we can fulfill a broadcast to millions of devices in under 5 seconds. However this behavior is not always applicable given more sophisticated customer use-cases. 

Tags

When sending to tags, single tag requests tend to be very low latency, much like unicast and broadcast. If using Boolean logic to send to more complex tag segments, there are several ways to optimize for low latency delivery. In general, Boolean operators go from least to most likely to cause latency as follows:
  1. OR
  2. AND
  3. NOT
In this case, NOTs are much more expensive than both ORs and ANDs. If low latency is a major concern to you, NOTs should be avoided.
 
Other tag and alias related behavior that can cause push latency:
  1. Using tags and aliases that are not registered to any devices.
  2. Including multiple NOTs in a single request.
  3. Including many (more than 10-15) tags or aliases in a single request.

See Example API Requests for tags.

Location

The same general rules about tags apply to segments that include location, including using Boolean logic to combine locations using OR, AND, and NOT. With location in particular, NOTs will introduce latency. Having many NOTs will exponentially multiply the potential delivery latency.
 
When combining location and tags in the same segment, being mindful of the complexity of your segment is the best bet for a low latency send.

Segments

When using a segment created via the web Segment Composer or the Segment Creation API endpoint, the complexity included in the segment may be hidden. However, all of the above information is true of segments made via these methods as well as pushes requested directly with the audience selections explicitly included in the Push API JSON payload. 

As always, if you have questions about your use case or need assistance in crafting a request that is optimized for low latency, please contact Urban Airship Technical Support or post in the Community Forums.

Related Content