Apple Push Notification Service
Apple Push Notification Service logo.
|Target platform(s)||iOS, macOS, Safari|
Apple Push Notification Service (commonly referred to as Apple Notification Service or APNs) is a platform notification service created by Apple Inc. that enables third party application developers to send notification data to applications installed on Apple devices. The notification information sent can include badges, sounds, newsstand updates, or custom text alerts. It was first launched with iOS 3.0 on June 17, 2009. APNs support for local applications was later added to the Mac OS X API beginning with the release of Mac OS X 10.7 ("Lion"). Support for website notifications were later added with the release of Mac OS X 10.9 ("Mavericks").
Apple announced the service on June 9, 2008 with an original stated release for that September; however, as stated by Scott Forstall at the iOS 3.0 preview event on March 17, 2009, the rollout was delayed after a decision to restructure the APNs for scalability purposes due to the allegedly "overwhelming" response to the announcement of the APNs. At both events, Forstall stated that push notifications better conserve battery than background processes (which are used in pull technology) for receiving notifications.
APNs was first launched together with iOS 3.0 on June 17, 2009. The release of iOS 5.0 included a Notification Center, adding support for receiving and reading local notifications in a single place.
APNs was also added as an API to Mac OS X 10.7 ("Lion") so that developers could begin updating their third-party applications and start utilizing the service. Support was later improved in OS X 10.8 ("Mountain Lion") with the introduction of a Notification Center. As with iOS 5.0, the improvement allowed users to manage and read their received notifications in a single location. The release of OS X 10.9 ("Mavericks") included Safari 7.0, which added support for accepting and receiving APNs notifications from websites that the user granted permission to.
Mac OS X Server uses APNs to push the server's mail, calendar and contacts services to network users. Devices such as the iPhone and applications like Mail and Calendar on Mac can receive push notifications from Mac OS X server.
Beginning with iOS 8.0, the maximum size allowed for a notification payload was increased to 2 kilobytes; notification payloads that exceed this limit are rejected by APNs servers. Versions of iOS that are older than 8.0, as well as versions of Mac OS X, have a maximum payload size of 256 bytes; notification payloads that exceed this limit are not sent to these Operating Systems.
In 2014, the maximum size allowed for a notification payload sent through the binary interface was increased from 256 bytes to 2 kilobytes. In December 2015, a new HTTP/2 provider API was released by Apple, effectively replacing the now-legacy binary interface. The maximum notification payload size allowed using the HTTP/2 API is 4 kilobytes. 
On October 22, 2014, Apple announced that it would cease all support for SSL 3.0 on October 29, 2014 due to the POODLE attack that gained public attention shortly before. After this date, developers were required to use the TLS protocol to send notification using the APNs.
- Google Cloud Messaging
- SQL Server Notification Services
- Microsoft Notification Protocol
- Push email
- Windows Notification Service
- iPhone push notification service for devs announced, Engadget
- "Apple Push Notification Service". Apple Inc. March 21, 2016. Retrieved April 8, 2016.
- "iOS 5: Notifications and Notification Center". Gigaom. October 12, 2011. Retrieved April 8, 2016.
- "OS X Lion v10.7". Apple Inc. December 8, 2015. Retrieved April 8, 2016.
- "Troubleshooting". Apple Inc. October 1, 2014. Retrieved April 8, 2016.
- "Apple Releases OS X Mountain Lion Developer Preview with Over 100 New Features". Apple Inc. February 16, 2012. Retrieved April 8, 2016.
- "OS X Mountain Lion features coming in iOS 6: Notification Center 'Do Not Disturb' toggle, Safari iCloud Tabs, and Mail VIPs". 9to5Mac. June 4, 2012. Retrieved April 8, 2016.
- "Safari 7.0 to bring web notifications to OS X Mavericks". Appleinsider. June 28, 2013. Retrieved April 8, 2016.
- "Now websites can send push notifications — not just apps". Niemanlab. June 10, 2013. Retrieved April 8, 2016.
- "Local and Remote Notification Programming Guide: Creating the Remote Notification Payload". Apple Inc. October 24, 2016. Retrieved November 29, 2016.
- "Update to APNs for SSL 3.0". Apple Inc. October 22, 2014.