Send an Apple Push Message
The Apple Push external action receives messages and delivers them to an Apple iOS device, such as an iPhone or iPad. The external action pushes messages to an iOS app installed on the target iOS device by means of a cloud service—the Apple Push Notification Service.
Note: The Apple Push external action is one of two external actions that can push messages to a mobile device. For messaging Android devices, see Send a Google Cloud Messaging (GCM) Message.
Requirements

When configured, an Apple Push external action can send messages to your target app installed on an iOS device. To accomplish this scenario, the Apple Push external action uses the Apple Push Service and two requirements from your target app, both of which require developer access:
- The iOS app’s SSL keystore: Provides the means to establish a secure, authenticated connection to Apple Push Notification Service. For more information, see Provider-to-Service Connection Trust in the Mac Developer Library Local and Push Notification Programming Guide.
- The iOS device’s unique device token—Provides the Apple Push Notification Service with the target device for sending notifications. For more information, see Token Generation and Dispersal.
Note: The above requirements are unique for each iOS app, and cannot be shared between different apps. When configuring the Apple Push external action to work with a new app, a new SSL keystore and new device tokens must be acquired.
Note: The Apple Push external action requires use of the outbound TCP port 2195 to send messages. Ensure that the firewall on the FME Server host is properly configured to allow for communication using this port.
Acquiring the SSL Keystore
The SSL keystore (.p12 file) contains both a certificate and private key, and is required to establish a connection between the subscriber and the Apple Push Notification Service.
The keystore is associated with the iOS app developer, and generating the keystore is a one-time process.
- Access the iOS Dev Center.
- Create the SSL certificate and key as described in Creating the SSL Certificate and Keys. When completing the steps, a new SSL certificate and key is added to Keychain Access.
- In Keychain Access, expand the certificate to reveal the private key.
- Select both the certificate and private key, and select File > Export Items to export to a keystore (.p12 file). A password will be requested to protect the keystore.
The SSL keystore file and password is required when configuring the subscriber.
Acquiring the Device Token for the Target Device
Each iOS device can register itself to the Apple Push Notification Service, and when doing so, associates itself with a device token, which is a 64-digit hexadecimal number that uniquely identifies the iOS device.
The iOS app on the device must distribute its device token to FME Server. Typically, the device token is sent to a processing workspace on FME Server that records the token and updates the subscriber. This flow is illustrated below.
An iOS app can register to the Apple Push Notification Service using method registerForRemoteNotificationTypes:
, and the device token is returned in the app delegate method application:didRegisterForRemoteNotificationsWithDeviceToken:
. This process is described in Registering for Remote Notifications.
Configuration

- Keystore File: Upload the SSL keystore .p12 file, used for creating a secure, authenticated connection to the Apple Push Notification Service.
- Keystore Password: The password used to access the keystore.
- Service Type: The keystore environment type (Sandbox or Production).
- iOS Device Tokens: The list of target iOS devices to receive notifications. Use a comma to separate multiple devices.
- Content Template: The notification content template.
Note: This field is primarily for testing purposes. To override this field in a production system, see below.