Apple Push Notification Service (APNS) Delivery Channel
The Apple Push Notification Service (APNS) delivery channel allows Connect to deliver APNS notifications to iOS and MacOS applications running on iPhones, iPads, Apple Watches and MacOS computers. An Apple application provider originates push notifications and transmits them to the Apple push notification gateways. The destination devices (e.g. iPhones, iPads) maintain connection to the same push notification gateways to receive the push notification messages on these connections.
The APNS Delivery Channel allows Connect to serve as an APNS provider. In order to connect to the APNS gateways, Apple requires the provider to use TLS peer-to-peer authentication using a server certificate provided by Apple. This Apple-provided certificate is required to configure an APNS delivery channel.
When an iOS or MacOS application registers with the APNS gateways, it receives a binary device token that identifies the application running on a unique device. This device token must be stored in the APNS channel customer attribute for each customer before Connect can send notifications to that customer.
The APNS delivery channel may be used to deliver notifications to multiple iOS or MacOS applications. Each application must be configured as a separate delivery channel with a unique name, Apple-provided server certificate, and customer attribute to store the device token.
Note: The APNS delivery channel currently supports one installed device per application and per customer. It does not support the case where a customer has a single application installed on two different devices (e.g. an application is installed on a customer's iPhone and iPad using the same customer's login details).
Changes to Delivery Channels in Connect 10R5
In Connect 10R4, delivery channel configuration information was stored in jar files that were copied to the deployed nodes. In Connect 10R5, the process for deploying delivery channels has been simplified. Delivery channel configuration information is now stored in the database and sent to the deployment nodes as part of the deployment configuration database. There is no more jar file manipulation involved when deploying delivery channels.