XenMobile Server

Firebase Cloud Messaging

Note:

Firebase Cloud Messaging (FCM) was previously known as Google Cloud Messaging (GCM). Some XenMobile 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. XenMobile, 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 XenMobile Server.

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

When XenMobile needs to start 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 fcm.googleapis.com and Google.com.
  • Open outgoing Internet communication for device Wi-Fi on ports 5228, 5229, and 5230.
  • To allow outgoing connections, FCM recommends allowing ports 5228 through 5230 with no IP restrictions. However, if you require IP restrictions, FCM recommends allowing all the IP addresses in the IPv4 and IPv6 blocks. Those blocks are listed in the Google ASN of 15169. Update that list monthly. For more information about FCM ports, see the Google documentation on FCM ports.

For more information, see Port requirements.

Architecture

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

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.

    The Create a project option

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

    The Project settings option

    Note:

    Google is going to deprecate the FCM legacy APIs for HTTP, which is currently used in our FCM implementation. The migration deadline is on June 21, 2024. We need to migrate the FCM from legacy FCM API to HTTP v1 API. For more information, see Migrate from legacy FCM APIs to HTTP v1.

  4. Click the Cloud Messaging tab. Verify that the Firebase Cloud Messaging API is enabled and click Manage Service Accounts.

    1. Before migration, you could use the legacy API, ensure the Cloud Messaging API (Legacy) is enabled. Copy the values from Key and Sender ID fields.

      Enable Cloud Messaging API

      If you don’t have a key listed, click the ellipsis under Actions to add a key.

      Actions

    2. After migration, the legacy API is deprecated from Google. You have to enable the Firebase Cloud Messaging API(V1). For more information, see Migrate from legacy FCM APIs to HTTP v1.

      Enable FCI

      Download the service account JSON file from Service accounts under Project settings. See Provide credentials manually section to generate a private key file for your service account. Click Generate new private key to download the service account key JSON file.

      Project settings

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 > Firebase Cloud Messaging.

For Cloud Messaging API (Legacy)

  1. Enter the Firebase Cloud Messaging Key from the last step of the Firebase Cloud Messaging configuration in API key field.

  2. Enter the Sender ID value from the previous procedure.

The Sender ID value entry

For Firebase Cloud Messaging API (V1)

Notes:

  • To enable FCM API V1 for XenMobile Server version 10.15 Rolling Patch 7 and later, see the Knowledge Center article CTX677031.
  • If you are a new FCM user, skip step 1 and proceed from step 2.
  1. If you are already using FCM, you will notice that the Sender ID is auto-populated with your current FCM project and a new option to upload the Service Account Key File.

    FCM for current users

  2. If you are a new FCM user, enter the Sender ID and upload the Service Account Key File from the previous procedure.

    New FCM user

  3. The uploaded file will be parsed and the corresponding fields will be auto-generated.

    Parsed service account

  4. Verify the information and click Save.

To test your configuration

  1. Enroll an Android device.

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

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

    The Secure Android device option

  4. Under Device Actions, click Selective Wipe.

    The Selective Wipe option

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

Firebase Cloud Messaging