Firebase Cloud Messaging (FCM) is the new version of Google Cloud Messaging (GCM) that enables a ZENworks MDM Server to send data to an Android device. The data might be a send-to-sync message that informs the device that there is new ZENworks data to be retrieved from the ZENworks MDM Server, or it might be a message with payload that pushes data directly to the device. The ZENworks MDM Server communicates with the FCM service, which then pushes the notification to the device. After receiving the push notification, the device contacts the ZENworks MDM Server directly to provide the requested information or to receive the changes.
To connect to the FCM service, you need to create a Firebase project in the Firebase console and obtain a .JSON file (that contains the Project Number) and a Server Key. The .JSON file and the Server Key are then used to configure ZENworks’ access to the FCM service.
If you want to create a new FCM project, then refer to Create a Firebase Project.
IMPORTANT:You might not be able to configure FCM due to changes in the current workflow when creating a Firebase project. Ensure that you apply the Official Primary Server FTF-101 on ZENworks 23.4. For more information, see Primary Server Patches in ZENworks Patch Updates.
MDM Server: An MDM role is assigned to a Primary Server.
Follow these steps, if you want to create a Firebase project.
On the Getting Started with Mobile Management page, navigate to the Android Devices section, click Configure FCM to display the Firebase Cloud Messaging page. Alternatively, from the left hand side navigation pane of ZCC, navigate to Configuration > Push Notification > Firebase Cloud Messaging.
Click Firebase Developers Console, which will direct you to the Firebase console at https://console.firebase.google.com.
Sign in using your Google account credentials.
As a best practice, we recommend that this should be a Google account created specifically for managing your corporate Google services and not a personal Google account.
Click Add Project.
Specify a Project Name and click Continue.
Click Continue.
Click Create Project.
Select the Android icon in the Project Overview page.
Specify the Android Package Name for the ZENworks Agent App, that is, com.novell.zapp. Click Register App.
Click Next and then click Continue to console.
Click com.novell.zapp in the Project Overview page then click the gear icon.
Select the Service accounts tab. Click Generate new private key. A Service Account JSON file will be downloaded.
Exit the Firebase Console.
In ZCC, on the Firebase Cloud Messaging page configure ZENworks with the Project JSON and Service Account JSON files:
For the ZENworks 2020 and 2020 Update 1 releases, before importing the .JSON file, ensure that the file contains the firebase URL parameter. If the file does not contain the firebase URL parameter, then the error message Invalid file selected. Select a valid .JSON file is displayed. To add the parameter, edit the file and specify the following: firebase_url: https://(project_id).firebaseio.com
For example: In the following file, the firebase_url parameter is missing:
"project_info": { "project_number": "973364669284", "project_id": "fir-project-75920", "storage_bucket": "fir-project-75920.appspot.com" },
If the project ID is fir-project-75920, then you need to add the firebase_url parameter in the following manner:
"project_info": { "project_number": "973364669284", "firebase_url": "https://fir-project-75920.firebaseio.com", "project_id": "fir-project-75920", "storage_bucket": "fir-project-75920.appspot.com" },
NOTE:project_id in the .json file is unique to the Firebase project.
From the ZENworks 2020 Update 2 release onwards, you do not need to update the firebase URL in the .json file.
Click the Enable Firebase Cloud Messaging check box to turn on the option.
Specify the following fields with the information you generated in the Firebase Developers Console:
Project JSON file: Upload the .JSON file that you have downloaded from the Firebase Console
Service Account JSON File: Upload the Service Account JSON file that you had downloaded from the Service accounts tab.
Key activation date: Specify the key’s activation date.
Google User ID: Specify the Google account ID used to log in to the Firebase Developers Console and create or import the Firebase project.
Click Test FCM to validate that the information is entered correctly. This option will test the connection to the FCM service from each of the MDM Servers configured in the zone. If the connectivity fails from one or more MDM Servers, then the failed servers are listed.
Click OK to save your Firebase Cloud Messaging configuration.
If you have already configured FCM and want to re-configure it, then it is mandatory that you remove the existing FCM setting before you go ahead and configure a new FCM setting. To remove the setting in ZCC:
Navigate to Configuration > Management Zone Settings > Push Notifications > Firebase Cloud Messaging
Click Remove.
After removing the FCM configuration, you can now proceed to configuring a new FCM setting by following the procedure in Create a Firebase Project. After re-configuring FCM, ensure that all the enrolled Android devices in the zone sync with the ZENworks server to obtain the latest changes.