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 thru 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.

<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.

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 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 included with the Apple operating systems iOS, iPadOS, watchOS and macOS, previously Mac OS X and OS X. 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 15, released on September 18, 2023, 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">Mac OS X Tiger</span> Fifth major release of Mac OS X

Mac OS X Tiger is the 5th major release of macOS, Apple's desktop and server operating system for Mac computers. Tiger was released to the public on April 29, 2005 for US$129.95 as the successor to Mac OS X 10.3 Panther. Included features were a fast searching system called Spotlight, a new version of the Safari web browser, Dashboard, a new 'Unified' theme, and improved support for 64-bit addressing on Power Mac G5s. Mac OS X 10.4 Tiger also had a number of additional features that Microsoft had spent several years struggling to add to Windows with acceptable performance, such as fast file searching and improved graphics processing.

WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon Kindle e-book reader, Nintendo consoles starting with the 3DS Internet Browser, and the discontinued BlackBerry Browser. WebKit's C++ application programming interface (API) provides a set of classes to display Web content in windows, and implements browser features such as following links when clicked by the user, managing a back-forward list, and managing a history of pages recently visited.

<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.

Cocoa Touch is the application development environment for building software programs to run on iOS for the iPhone and iPod Touch, iPadOS for the iPad, watchOS for the Apple Watch, and tvOS for the Apple TV, from Apple Inc.

<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.

iMessage Instant messaging service by Apple

iMessage is an instant messaging service developed by Apple Inc. and launched in 2011. iMessage functions exclusively on Apple platforms – including macOS, iOS, iPadOS, and watchOS – as part of Apple's broader strategic approach to inter device integration, sometimes referred to as the Apple Eco-System.

<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.

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. "iOS 5: Notifications and Notification Center". Gigaom. October 12, 2011. Archived from the original on October 4, 2016. Retrieved April 8, 2016.
  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.