WWDC Roundup: New Feature Support

Notification Actions: "category" API Support

In iOS 8, a number of new options are introduced that allow users to interact with custom functionality in the context of a user task. These customization options are known broadly as app extensions.

Today we are releasing partial API support for the Action app extension, which allows you to pass through the new category field in the APNS payload.

 Warning

iOS 8 is in developer preview as of the date of this release (July 1, 2014), and the information included here is based on the technical information disclosed by Apple at 2014 WWDC regarding iOS 8. See the WWDC presentation What's New in iOS Notifications for more detail on Apple's announcements regarding notifications.

** Airship documentation for this feature will be limited to this Release Note until iOS 8 is available to the public.

APNs Category Field

Changes to the APNs payload per Apple look like this:

{
   "aps": {
      "alert" : "You're invited!",
      "category" : "INVITE_CATEGORY"
   }
}

Which means that category is a new key in the aps dictionary, similar to other aps dictionary keys such as alert and badge.

Airship API Update

In the Airship API, aps properties and their child properties are mapped to Platform Overrides for ios. Since we support multiple notification platforms, e.g., Google Cloud Messaging, the Platform Override design of our API allows us to quickly slot in support for new features of individual platforms.

Hence,

{
   "notification" : {
      "ios": {
         "alert": "You're invited!",
         "category": "INVITE_CATEGORY"
      }
   }
}

Forthcoming change to Airship API Reference:

  • "category" - Optional, a string. Sets the APNs category for the push. This maps directly to the "category" field in the "aps" section of the APNs payload.

To learn more about the changes to APNs, etc. , check out Apple's What's New in iOS 8. (Note: You may need an iOS Developer account to access content at developer.apple.com.)

APNs Payload Size Increase

Another major APNs announcement is the increase in the allowable payload for a push notification. The current payload limit is 256 bytes, and any notifications that exceed that limit are refused by APNs. Apple will increase the limit to 2KB.

The change will make room for a number of additional options for passing extra data along with your notification. As Apple continues to add new functionality and supporting fields such as category for Notification Actions, it makes sense to increase payload capacity to support such features.

Here at UA, we have a number of system checks in our delivery infrastructure and web dashboard that monitor for encroachment and infringement upon the payload size limit. We will be retrofitting these services to adapt to the new size limit, and releasing the changes as soon as Apple does.

There's nothing for you to change on your end. Watch this space for an official announcement when the limit change is live.