Sign up

Apple Push Notification Service

What is Apple Push Notification Service (APNS)?

Angela Stringfellow

Last updated on

Apple is a behemoth with a nearly $3 trillion market capitalization. The company commands such a large value due to its products having intuitive software installed on robust hardware. The tight integration of hardware and software has created a powerful ecosystem for users, and this ecosystem has, in turn, created ‌a loyal brand user base for Apple.

The flip side to the Apple ecosystem is that it’s a walled garden. To reach and access the billions of Apple users, developers have to go through Apple itself, giving the company the upper hand in determining the terms and conditions. Fortunately, the company has made it easy for developers to access the network with easy-to-use APIs and certificate-based services.

The push notification service is an innovation made popular by Apple following its introduction in 2009 for the company’s iOS. All Apple devices and applications have the capability to receive push notifications, but developers have to go through Apple in order to make use of the Apple Push Notification Service (APNS).

Apple Push Notification Service (APNS)

APNS is the service that developers use to send notifications to Apple devices and software applications. The devices and software that are covered by APNS include:

  • iPhones
  • iPads
  • Mac devices
  • Safari browser

It’s worth noting that developers are unable to send notifications to the Apple ecosystem without access to APNS.

Apple Push Notification Service Requirements

The following is a list of requirements developers must meet in order to gain access to APNS.

  • Access to Mac devices is a primary requirement. Since the application code for Apple devices has to be written in Swift with Xcode, having a Mac device is essential for developing applications for Apple devices.
  • Enrollment in Apple’s developer program. There are various access permissions and certificates that can only be obtained by developers after they enroll in the Apple developer program. The enrollment process is extensive, and all the directions can be found on Apple’s developer portal.
  • Enable push notification capability in the Xcode project. Xcode is the integrated development environment (IDE) for MacOS, and it’s required for developing apps for Apple devices. Apple has provided a thorough guide on how to enable push notifications in an Xcode project.
  • Registration with APNS. Applications that need to send push notifications to Apple devices must first be registered with APNS. Apple then provides a unique identifier to the developer for use with the app.
  • APNS certificates are required to send push notifications. There is a wide range of APNS certificates that can be used for push notifications, and these will be discussed in the next section.
  • User device tokens. Users must give explicit consent to the application to receive push notifications. When users give consent, developers get the unique device token associated with that user, which then allows push notifications to be sent using APNS.

APNS Certificates

Apple provides developers with the ability to send certificate-based push notifications to users. These can be obtained from the Apple developer account under the ‘Certificate, IDs, & Profiles’ tab. Developers can then create new certificates from the portal.

Certificates for APNS fall under the ‘Services’ section, and the major APNS certificates that developers can use are:

  • Apple Push Notification service SSL (Sandbox)
  • Apple Push Notification service SSL (Sandbox & Production)
  • macOS Apple Push Notification service SSL (Production)

Select the certificate appropriate for your needs and generate the certificate with the respective App ID. Then upload the Certificate Signing Request, which can be obtained from Keychain Access. Once all the steps are complete, you will be able to download the certificate you chose.

This certificate needs to be imported to the Keychain Access of the device being used for development and is required on your application server to send push notifications. Be sure to reissue the certificate before its expiration date passes.

How Does APNS Work?

You’ll need the device token to send push notifications to users’ devices. You’ll also need the APNS certificate to authenticate the push notifications. When you send push notifications from your server, an APNS certificate is used to communicate securely with APNS. Your server must then send the appropriate information, such as notification title, notification message, badge count, and any other associated data along with the device token.

APNS then verifies the token for validity. If all the details check out and are up to the terms laid down by Apple, the notification is scheduled for delivery. Apple decides when to deliver ‌push notifications to the devices of users, but developers can set a priority value for the messages they send. This can be used to influence the schedule Apple uses to send push notifications to users.

Apple maintains tight control over the delivery of push notifications to conserve the battery life of devices and maintain an excellent consumer experience. Similarly, the notifications are displayed according to the notifications settings for the application, and these are set by the user.

APNS: An Essential Gateway

Apple is the gatekeeper to the billions of consumers who use Apple devices. In turn, those users generate billions of dollars in revenue, which means that developers must abide by the regulations set by Apple to send out push notifications.

There are high barriers in place that make it challenging to set up push notifications for Apple devices, and it’s a good idea to use notification systems like MagicBell to simplify the process. The service does most of the heavy lifting for you, leaving you free to focus on developing the core functionalities of your application without having to worry about how to send the notifications.

Featured Blogposts

Related Blogposts