Apple Push Notification service

Last updated

Apple Push Notification service
APNS Logo.png
Logo
Developer(s) Apple Inc.
Target platform(s) iOS, macOS, Safari
StatusActive
LicenseClosed-source
Website https://developer.apple.com/notifications/

Apple Push Notification service (APNs), previously known as Apple Push Service (APS), 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 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 was later added with the release of Mac OS X 10.9 ("Mavericks").

Contents

History

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. [1]

APNs was first launched together with iOS 3.0 on June 17, 2009. [2] The release of iOS 5.0 included a Notification Center, adding support for receiving and reading local notifications in a single place. [3]

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. [4] [5] 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. [6] [7] 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. [8] [9]

In December 2023, concerns arose regarding a potential privacy and surveillance loopholes involving push notifications delivered through APNs. US Senator Ron Wyden revealed, through a letter to the Department of Justice, that both the US government and foreign law enforcement could demand user data from Apple related to push notifications. [10]

Technical details

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. [11] Apple shut down the legacy binary API at the end of March 2021. [12]

The HTTP/2 provider for APNs uses TCP port 443 as the main port of communication, but developers are also allowed to use TCP port 2197 if outbound access to port 443 is blocked by firewalls. [13]

See also

Related Research Articles

macOS Operating system for Apple computers

macOS, originally Mac OS X, previously shortened as OS X, is an operating system developed and marketed by Apple since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and laptop computers, it is the second most widely used desktop OS, after Microsoft Windows and ahead of all Linux distributions, including ChromeOS and SteamOS. As of 2024, the most recent release of macOS is macOS 15 Sequoia, the 21st major version of macOS.

<span class="mw-page-title-main">Mac OS X Server</span> Server software for macOS

Mac OS X Server is a series of discontinued Unix-like server operating systems developed by Apple Inc. based on macOS. It provided server functionality and system administration tools, and tools to manage both macOS-based computers and iOS-based devices, network services such as a mail transfer agent, AFP and SMB servers, an LDAP server, and a domain name server, as well as server applications including a Web server, database, and calendar server.

Darwin is the core Unix-like operating system of macOS, iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple. Darwin's official mascot is Hexley the Platypus.

Carbon was one of two primary C-based application programming interfaces (APIs) developed by Apple for the macOS operating system. Carbon provided a good degree of backward compatibility for programs that ran on Mac OS 8 and 9. Developers could use the Carbon APIs to port (“carbonize”) their “classic” Mac applications and software to the Mac OS X platform with little effort, compared to porting the app to the entirely different Cocoa system, which originated in OPENSTEP. With the release of macOS 10.15 Catalina, the Carbon API was officially discontinued and removed, leaving Cocoa as the sole primary API for developing macOS applications.

The history of macOS, Apple's current Mac operating system formerly named Mac OS X until 2011 and then OS X until 2016, began with the company's project to replace its "classic" Mac OS. That system, up to and including its final release Mac OS 9, was a direct descendant of the operating system Apple had used in its Mac computers since their introduction in 1984. However, the current macOS is a UNIX operating system built on technology that had been developed at NeXT from the 1980s until Apple purchased the company in early 1997.

<span class="mw-page-title-main">Safari (web browser)</span> Web browser by Apple

Safari is a web browser developed by Apple. It is built into several of Apple's operating systems, including macOS, iOS, iPadOS and visionOS, and uses Apple's open-source browser engine WebKit, which was derived from KHTML.

<span class="mw-page-title-main">Contacts (Apple)</span> Address book software by Apple

Contacts is a computerized address book software included with the Apple operating systems iOS, iPadOS, watchOS and macOS. It includes various cloud synchronization capabilities and integrates with other Apple applications and features, including iMessage, FaceTime and the iCloud service.

<span class="mw-page-title-main">Xcode</span> IDE including tools for developing software for Apple platforms

Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 16, released on September 16, 2024, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools that enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.

<span class="mw-page-title-main">Growl (software)</span>

Growl is a deprecated global notification system and pop-up notification implementation for the Mac OS X and Windows operating systems. Applications can use Growl to display small notifications about events which may be important to the user. This software allows users to fully control their notifications, while allowing application developers to spend less time creating notifications and Growl developers to concentrate on the usability of notifications. Growl can be used in conjunction with Apple's Notification Center that is included in Mac OS X 10.8 and higher.

<span class="mw-page-title-main">Rosetta (software)</span> Operating system component

Rosetta is a dynamic binary translator developed by Apple Inc. for macOS, an application compatibility layer between different instruction set architectures. It enables a transition to newer hardware, by automatically translating software. The name is a reference to the Rosetta Stone, the artifact which enabled translation of Egyptian hieroglyphs.

UIKit is an application development environment and graphical user interface toolkit from Apple Inc. used to build apps for the iOS, iPadOS, and tvOS operating systems.

<span class="mw-page-title-main">OS X Lion</span> Eighth major release of Mac OS X

OS X Lion, also known as Mac OS X Lion, is the eighth major release of macOS, Apple's desktop and server operating system for Mac computers.

<span class="mw-page-title-main">OS X Mountain Lion</span> Ninth major release of OS X

OS X Mountain Lion is the ninth major release of macOS, Apple Inc.'s desktop and server operating system for Macintosh computers. OS X Mountain Lion was released on July 25, 2012, for purchase and download through the Mac App Store, as part of a switch to releasing OS X versions online and every year, rather than every two years. Named to signify its status as a refinement of the previous OS X version, Lion, Apple's stated aims in developing Mountain Lion were to allow users to more easily manage and synchronise content between multiple Apple devices and to make the operating system more familiar.

<span class="mw-page-title-main">Messages (Apple)</span> Instant messaging software applications

Messages is a text messaging software application developed by Apple Inc. for its macOS, iOS, iPadOS, watchOS, and visionOS operating systems.

<span class="mw-page-title-main">Google Cloud Messaging</span> Mobile notification service

Google Cloud Messaging (GCM) was a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications that target the Google Android Operating System, as well as applications or extensions developed for the Google Chrome internet browser. It was available to developers free of charge. The GCM Service was first announced in June 2012 as a successor to Google's now-defunct Android Cloud to Device Messaging (C2DM) service, citing improvements to authentication and delivery, new API endpoints and messaging parameters, and the removal of limitations on API send-rates and message sizes. It has been superseded by Google's Firebase Cloud Messaging (FCM) on May 29, 2019.

<span class="mw-page-title-main">OS X Mavericks</span> Tenth major release of OS X

OS X Mavericks is the 10th major release of macOS, Apple Inc.'s desktop and server operating system for Macintosh computers. OS X Mavericks was announced on June 10, 2013, at WWDC 2013, and was released on October 22, 2013, worldwide.

<span class="mw-page-title-main">OS X Yosemite</span> Eleventh major release of macOS (called OS X when released)

OS X Yosemite is the eleventh major release of macOS, Apple Inc.'s desktop and server operating system for Macintosh computers.

<span class="mw-page-title-main">OS X El Capitan</span> Twelfth major release of macOS

OS X El Capitan is the twelfth major release of macOS, Apple Inc.'s desktop and server operating system for Macintosh. It focuses mainly on performance, stability, and security. Following the California location-based naming scheme introduced with OS X Mavericks, El Capitan was named after a rock formation in Yosemite National Park. El Capitan is the final version to be released under the name OS X. OS X El Capitan received far better reviews than Yosemite.

macOS Sierra Thirteenth major release of macOS

macOS Sierra is the thirteenth major release of macOS, Apple Inc.'s desktop and server operating system for Macintosh computers. The name "macOS" stems from the intention to unify the operating system's name with that of iOS, watchOS and tvOS. Sierra is named after the Sierra Nevada mountain range in California and Nevada. Specifically, Lone Pine Peak is the location for macOS Sierra's default wallpaper. Its major new features concern Continuity, iCloud, and windowing, as well as support for Apple Pay and Siri.

References

  1. "iPhone push notification service for devs announced". Engadget. June 9, 2008. Retrieved July 6, 2023.
  2. "Apple Push Notification Service". Apple Inc. March 21, 2016. Retrieved April 8, 2016.
  3. Slivka, Eric (October 12, 2011). "Apple Releases iOS 5 with Notification Center, iMessage, Twitter, and More". MacRumors .
  4. "OS X Lion v10.7". Apple Inc. December 8, 2015. Retrieved April 8, 2016.
  5. "Troubleshooting". Apple Inc. October 1, 2014. Retrieved April 8, 2016.
  6. "Apple Releases OS X Mountain Lion Developer Preview with Over 100 New Features". Apple Inc. February 16, 2012. Retrieved April 8, 2016.
  7. "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.
  8. "Safari 7.0 to bring web notifications to OS X Mavericks". Appleinsider. June 28, 2013. Retrieved April 8, 2016.
  9. "Now websites can send push notifications — not just apps". Niemanlab. June 10, 2013. Retrieved April 8, 2016.
  10. Couts, Andrew. "Police Can Spy on Your iOS and Android Push Notifications". Wired. Retrieved April 5, 2024.
  11. "Local and Remote Notification Programming Guide: Creating the Remote Notification Payload". Apple Inc. October 24, 2016. Retrieved November 29, 2016.
  12. "Updated APNs provider API deadline - Latest News - Apple Developer". developer.apple.com. Retrieved December 8, 2022.
  13. "Apple Developer Documentation". developer.apple.com. Retrieved December 8, 2022.