Firebase Cloud Messaging

Note:

Firebase Cloud Messaging (FCM) was previously known as Google Cloud Messaging (GCM). Some Endpoint Management 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 Endpoint Management. Endpoint Management, 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 the Endpoint Management server.

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

When Endpoint Management 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 Endpoint Management to fcm.googleapis.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 FCM

  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 Project settings 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 Endpoint Management 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 Endpoint Management for FCM

In the Endpoint Management console, go to Settings > Firebase Cloud Messaging.

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

  • Edit 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 Endpoint Management.

  3. Sign in to the Endpoint Management 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.