Firebase Cloud Messaging

Note:

Firebase Cloud Messaging (FCM) was previously known as Google Cloud Messaging (GCM). Some XenMobile Server console labels and messages use the GCM terminology.

Citrix recommends that you use Firebase Cloud Messaging (FCM) to control how and when Android devices connect to XenMobile Server. XenMobile Server, when configured for FCM, sends connection notifications to Android devices that are enabled for FCM. Any security action or deploy command triggers a push notification to prompt the user to reconnect to XenMobile Server.

After you complete the configuration steps in this article and a device checks in, the device registers with the FCM service in XenMobile Server. That connection enables near real-time communication from your XenMobile Server to your device by using FCM. FCM registration works for new device enrollments and previously enrolled devices.

When XenMobile Server needs to initiate a connection to the device, it connects to the FCM service. Then, the FCM service notifies the device to connect. This type of connection is similar to what Apple uses for its Push Notification Service.

Prerequisites

  • Latest Secure Hub client
  • Google developer account credentials
  • Google Play services installed on FCM-enabled Android devices

Firewall ports

  • Open port 443 on XenMobile to Android.apis.google.com and Google.com.
  • Open ports 5228, 5229, and 5230 for incoming messages.
  • To allow outgoing connections, FCM recommends whitelisting ports 5228 through 5230 with no IP restrictions. However, if you require IP restrictions, FCM recommends whitelisting all the IP addresses in the IPv4 and IPv6 blocks. Those blocks are listed in the Google ASN of 15169. Update that list monthly.

Architecture

This diagram shows the communication flow for FCM in the external and internal network.

Image of the FCM architecture

To configure your Google account for GCM

  1. Sign in to the following URL using your Google developer account credentials:

    https://console.firebase.google.com/

  2. Click Add project.

    Image of the Create a project option

  3. After you create the project, click Project settings.

    Image of the Create Project option

  4. Click the Cloud Messaging tab. Copy the Server key and Sender ID values. In the next procedure, you paste those values in the XenMobile Server console. As of October 2016, you must create Server Keys in the Firebase console.

    Image of the Cloud Messaging tab

For steps to set up an FCM client app on Android, see this Google Developers Cloud Messaging article: https://firebase.google.com/docs/cloud-messaging/android/client.

To configure XenMobile for FCM

In the XenMobile console, go to Settings > Google Cloud Messaging.

  • Edit GCM API key, and type the Firebase Cloud Messaging Server key that you copied in the last step of Firebase Cloud Messaging configuration.

  • Edit GCM Sender ID, and type the Sender ID value you copied in the previous procedure.

Image of the Sender ID value entry

After you complete the setup, you can remove your Scheduling device policy or change that policy to connect less often.

To test your configuration

  1. Enroll an Android device.

  2. Leave the device idle for some time, so that it disconnects from XenMobile Server.

  3. Sign in to the XenMobile console, click Manage, select the Android device, and then click Secure.

    Image of the Secure Android device option

  4. Under Device Actions, click Selective Wipe.

    Image of the Selective Wipe option

In a successful configuration, selective wipe occurs on the device.