APNS and DME

The APNS solution works in the following way:

  1. The DME client for Apple iOS starts up and registers with the APNS that it wants to receive notifications.

    Through a system of certificates, Apple can route the notification pushes from the DME server to the DME application. This system is already in place, and no configuration is required.

    It is important to note that all communication between the DME Server and the APNS is routed through a central DME server called DME Central Services (DME CS). This is the only way to truly separate the many different DME servers around the world that send notifications to Apple iOS devices. For more information, see Central Services.

  2. The DME client for Apple iOS receives a device token from the APNS, which it reports to the DME Server via DME CS.

    This is done in the form of a device property (visible in Devices > click Apple iOS device > Information).

  3. The DME Server composes the notification messages, and establishes the required SSL connections to the APNS via DME CS.

    The server uses the provided device tokens to send the notifications. APNS notifications are part of the Adaptive Push framework, and it therefore adheres to the following set of priorities:

  4. If the DME client for Apple iOS is running, the client will react immediately when the APNS notification is received, and nothing is shown to the user.
  5. If the DME client for Apple iOS is not running, the user will see a pop-up message with a text and a DME launch button.

    If the user chooses to launch the DME client, the client will perform the requested action. If the user ignores the action, then no action will be performed by the client when it is next started - this is a limitation imposed by Apple.

APNS feedback

DME has no way of telling if the notification reached the Apple iOS device. However, the APNS has a system to tell if the DME client has been removed from the device. If this is the case, a feedback notice is returned the DME Central Services server. All Apple feedback messages are collected on the DME CS server. The DME server sending the push notification will first check with the CS server if sending the notification is permitted (if there is no feedback message for the device in question).

If it is not permitted, the DME server will refrain from sending the push, and remove the token ID from the device in question as specified above. This will remove the device token from the Apple iOS device in question, effectively stopping the flow of notifications to that device.

What is sent to CS

This information is provided to assure you that DME security is in no way compromised by using Apple APNS over DME Central Services. In order to send an APNS message DME sends data to the Central Services server. The content of this data cannot be traced back to any particular user. The data contains the following elements:

Based on this information, a notification is sent to APNS. For more information about APNS, see the Apple iOS Developer Library.

Next topic

Setting up notifications on Apple iOS