Apple Push Notification Service
The Apple Push Notification Service (APNs) is a service created by Apple Inc. that forwards notifications of third party applications to the Apple devices; such notifications may include badges, sounds or custom text alerts. It was launched together with iOS 3.0 on June 17, 2009. In iOS 5's Notification Center added pushing local notifications. APNs was also added as an API to Mac OS X v10.7 "Lion" for developers to take advantage of, and was improved in OS X 10.8 "Mountain Lion" with the introduction of Notification Center.
Apple announced the service on June 9, 2008 with a 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.
With Mac OS X Lion, an app can take advantage of the same API used in iOS to push badge numbers to applications running on Mac OS X. With the release of OS X Mountain Lion, users can receive push notifications through Notification Center. If the application is not open when the notification is received, the app will be badged and added to the dock (until the badge is cleared) to notify users.
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.
In iOS 8 and later, the maximum size allowed for a notification payload is 2 kilobytes; Apple Push Notification service refuses any notification that exceeds this limit. (Prior to iOS 8 and in OS X, the maximum payload size is 256 bytes.)
On December 12, 2015 Apple revised their documentation adding support for HTTP/2 protocol. The result is an APNs API with much better communication between the Provider (Apple) and users.
- Google Cloud Messaging
- SQL Server Notification Services
- Microsoft Notification Protocol
- Push email