MDM Solutions

Android

Manage MX Connect from MDM

The App Config community (appconfig.org) is formed to standardize the way devices and applications can be managed in enterprise environments. It makes possible for companies to manage their (large) fleet of devices and the applications that run on them in a centralized fashion using any of the MDM/EMM solutions that are part of the community. Apps that are manageable this way define a schema that contains the configurable properties and appear in the Managed Google Play Store (also called Google Play for Work Store). This Managed Google Play Store is only accessible by users of registered Organizations. All apps can be accessed through it from the normal Google Play Store but there are ones that are only visible in this specialized Store. Android devices that want to use managed apps in compliance with app config need to be set up with Android Work Profile enabled and apps need to be installed through the Managed Google Play Store (there is no way to configure apps that are installed using another method). An Organization in the Managed Google Play Store can be bound to a third party MDM/EMM solution and apps that are distributed to the devices managed by the MDM/EMM need to be first approved by the Organization's admin to appear in the Play Store app on the device. They can be installed as a mandatory app (so that they are installed automatically) or optional (the user of the phone can choose to install it).

Cognex provides support for App Config standard with it's MX-series devices and compatible apps starting with remote Firmware Update and Config Upload for MX Terminals through the MX Connect application. With the App Configuration capability (see Terminology and Definitions) the MDM administrator can specify which Firmware and Config should be applied to a device or group of devices. When these are specified MX Connect will apply the Firmware Update and/or Config Upload after it is synchronized to the Android device and when it is connected to the MX Terminal (see steps below).

Please note that we support a different method for updating the Firmware and uploading a Config for MX Terminals using Intents, but that is not supported by every MDM that supports App Config (ex. SOTI supports Intents but MobileIron don't), and cannot be used together with it. Intents can be used more like commands: you can start a Firmware Update or Config Upload by sending an Intent to a specific device. App Config on the other hand (as its name suggest) is a configuration: you can specify with it which devices should have which firmware and config and they will be applied at some point automatically (if necessary). Using App Config for Firmware Update and Config Upload is the preferred way due to its simplicity. 

Terminology and Definitions

The following terms are used throughout this document:

  • MX Mobile Terminal: The MX barcode reader device, for example, MX-1502.
  • Android device: Android smartphone inside the MX Mobile Terminal.
  • Firmware: The firmware of the MX Mobile Terminal.
  • MX configuration: The configuration of the MX Mobile Terminal.
  • MDM: Mobile Device Management referring to an MDM solution, for example, SOTI or MobileIron.
  • EMM: Enterprise Mobility Management, same as MDM (different terminology).
  • App Config (Community): A community comprising of different OEMs, MDM/EMM vendors and app developers
  • App Config (Standard): A standard, created by the similarly named community in order to standardize the way devices and applications managed in enterprise environments. It defines several capabilities that participant MDMs and OEMs can implement (implementing different capabilities are optional, and implementation details can differ as long as they respect the standard).
  • App Configuration capability: The capability of the App Config standard that defines how enterprise applications should be managed from MDM by defining properties that are defined on the MDM side and influence the app's behavior. The developer of the applications need to define the properties.
  • Android (for) Enterprise / Android for Work: It has different names but basically the Android OS's features for Enterprise users, comprising Managed Configurations/App Restrictions.
  • Android Work Profile: Android devices enrolled to Android for Work (either directly, or through a third party MDM/EMM solution) are set up with Work Profile that is basically a separate part of the system consisting of apps and data that are managed by the enterprise. It is separated from personal apps and data and can be accessed from a dedicated UI of the phone. Apps that are installed to Work Profile can be managed via App Config from MDM/EMM solutions.
  • Managed Google Play Store / Google Play for Work Store: The variant of the Google Play Store (the official application store for Android) meant for Enterprise users. You need to have an Organization registered in this Store to be able to use Managed Google Play Applications. This store is a superset of the normal Google Play Store so every normal Google Play app appears in the Managed Play Store / Google Play for Work Store but they may be manageable (ex. contain App Config features) and additional apps that are meant to be used in Enterprise environments can be accessed from there. An Organization can also have private applications in this store that only they can access.
  • Managed Google Play Applications: The apps that appear on the Managed Play Store / Google Play for Work Store.
  • Managed Configurations: The Android implementation of the App Config standard's App Configuration capability, provides features to manage enterprise applications from MDM.
  • App Restrictions: Older, no longer used name for Managed Configurations on Android.

Preparation Steps

  1. Register an Organization in the Managed Google Play Store (Google Play for Work Store) using Google's Managed Enterprise Enrollment page and create a binding between it and the MDM/EMM solution you use

    To register your organization, start from the MDM/EMM you are using and start adding the binding. You will need at least one Google Account that is registered to Manage your business (not a personal account).

    Please note, that one Organization can only be bound to one MDM/EMM at a time.

    SOTI can be bound to multiple Organizations in the Managed Play Store (but one Organization still can only be bound to one MDM/EMM at a time). You can manage these Android Enterprise Bindings under Servers / Global Settings.
    You need to add a New Managed Enterprise.

    wiki_Screenshot-2020-10-16-at-10.58.37_crop.png

    wiki_Screenshot-2020-07-31-at-20.27.35_crop.png

    If you already registered your Organization you just need to sign in with one of the administrator accounts for that Organization, or you can register a new Google Account (remember to choose "To manage your business" as the reason for creating an account). If you register a new account and a new Organization, this new administrator account will also be the Owner of the Organization, but you can add more administrator accounts later and you can also change the owner too (the Owner account can designate another administrator as the new Owner).
     
    You need to finish the steps on Google's page so the binding between your Organization and MobileIron is created.

    wiki_Screenshot_2020-08-11-Android-Apps-on-Google-Play-copy-3.png

    wiki_Screenshot-2020-07-31-at-22.18.39_crop.png

    To create a binding and register your Organization in the Managed Google Play Store, you need to go to Admin / Google / Android Enterprise menu of MobileIron. You can begin the recommended setup by clicking on the Authorize Google button.

    wiki_Screenshot_2020-08-11-MobileIron-Cloud.png

    If you already registered your Organization you just need to sign in with one of the administrator accounts for that Organization, or you can register a new Google Account (remember to choose "To manage your business" as the reason for creating an account). If you register a new account and a new Organization, this new administrator account will also be the Owner of the Organization, but you can add more administartor accounts later and you can also change the owner too (the Owner account can designate another administrator as the new Owner).
     
    You need to finish the steps on Google's page so the binding between your Organization and MobileIron is created.

    wiki_Screenshot_2020-08-11-Android-Apps-on-Google-Play-copy-3.png

    wiki_Screenshot-2020-07-31-at-22.18.39_crop.png

     

  2. Enroll your Android device with your MDM/EMM and set up Work Profile to use the Managed Play Store)
    With SOTI, you need to decide at the time of enrollment whether you want to use the Managed Play Store and set up a Work Profile on a particular device. So in order to use App Config, you need to Enroll your device into SOTI in a different way than other, non-managed devices. Once you enrolled a device, you can only remove or set up Work Profile again by re-enrolling it.
     
    To Enroll a device to use the Managed Play Store and set up Work Profile, you need to create a new Add Device Rule for Android Plus devices and in the Android Enterprise step, you need to select Managed Google Play Accounts and select your Organization (that is bound to SOTI) from the dropdown. Finish creating the Add Device Rule with the options you want to use and use this Rule when Enrolling your devices so the Work Profile will be set up on them so MX Connect will available to them in the Managed Play Store.

    wiki_Screenshot-2020-07-31-at-20.50.22_crop.png

    MobileIron does not require you to enroll a device in any special way if you want to use the Managed Play Store and setup Work Profile on it, but you need to add the device to a Device Group that the appropriate Configuration is distributed to. You can add or remove a device at any point (without re-enrolling it) to remove and setup Work Profile again.
     
    After the devices are Enrolled, you need to Distribute the "Android enterprise: Managed Device with Work Profile" Configuration to them. This Configuration should be created by the system and you can distribute it to individual Devices or Device Groups (recommended). Once you Distributed this Configuration to devices, Work Profile can be set up on them, but you need to do some additional steps on the device(s) themselves so the setup completes. Once that is done, they are able to use the Managed Play Store and MX Connect can be used with Managed Configurations on them.

    wiki_Screen-Shot-2020-10-15-at-12.13.04_blur.png

    wiki_Screen-Shot-2020-10-15-at-12.13.43.png

    wiki_Screen-Shot-2020-10-15-at-12.14.17.png

     

  3. Approve the MX Connect app in the Managed Play Store for use in your Organization
    To be able to install MX Connect with SOTI and use App Configurations, it need to be approved it in the Managed Play Store itself by an administrator. MX Connect can be approved from its product page in the Managed Play Store.
     
    If you do not already have one (where you want to add MX Connect to) you need to Create a new Application Catalog Rule (you can do that from the menu that appears when right clicking on the Application Catalog header under Rules for Android Plus) and add MX Connect from Google Play (or alternatively you can log in directly to the Managed Google Play Store and Approve MX Connect from there).

    wiki_Screen-Shot-2020-10-19-at-15.52.31.png

    wiki_Screenshot-2020-10-19-at-15.46.31.png

    wiki_Screenshot-2020-10-19-at-15.46.49.png

    wiki_Screenshot-2020-10-19-at-15.47.01-copy.png

    You need to search for MX Connect and before you can successfully add it to the Application Catalog Rule, you need to Approve it.

    wiki_Screen-Shot-2020-10-19-at-15.48.23.png

    wiki_Screen-Shot-2020-10-19-at-15.48.31.png

    wiki_Screen-Shot-2020-10-19-at-15.48.34.png

    wiki_Screen-Shot-2020-10-19-at-15.48.40.png

    wiki_Screen-Shot-2020-10-19-at-15.49.04.png

    To be able to install MX Connect with MobileIron and use App Configurations, it need to be approved it in the Managed Play Store itself by an administrator. MX Connect can be approved from its product page in the Managed Play Store.

    You need to start with Adding a new app to Mobile Iron App Catalog from Google Play (or alternatively you can log in directly to the Managed Google Play Store and Approve MX Connect from there).

    wiki_Screen-Shot-2020-10-19-at-15.42.26.png

    You need to search for MX Connect and before you can successfully add it to the App Catalog, you need to Approve it

    wiki_Screen-Shot-2020-10-19-at-16.23.13.png

    wiki_Screen-Shot-2020-10-19-at-15.28.05.png

    wiki_Screen-Shot-2020-10-19-at-15.28.09.png

    wiki_Screen-Shot-2020-10-19-at-15.28.17.png

    You can distribute the app during the Add steps (in that case you do not need to do Step 4) and add a Managed Configuration to it too (in that case you do not need Step 5 either), but you can also do it later in separate steps.

    wiki_Screen-Shot-2020-10-19-at-15.37.08.png

    wiki_Screen-Shot-2020-10-19-at-15.40.45.png

     

  4. Install MX Connect from the Managed Play Store
    After you approved it, you can install MX Connect from the Managed Play Store by adding it to an Application Catalog Rule. In order to have MX Connect appear in SOTI you may need to manually Sync Apps.

    wiki_Screenshot-2020-10-19-at-15.47.01-copy2.png

    After you approved it, you can install MX Connect from the Managed Play Store from the App Catalog of MobileIron by setting its Distribution. In order to have MX Connect to appear in MobileIron you may need to manually Refresh Available Catalogs.

    wiki_Screen-Shot-2020-10-15-at-12.15.31.png

    Once the MX Connect App shows up in the Catalog, you need to Distribute it to the Users or User Groups that needs to use it.

    wiki_Screen-Shot-2020-10-15-at-12.15.40_blur.png

    wiki_Screen-Shot-2020-10-16-at-11.22.59.png

     

  5. Create a Managed Configuration / App Configuration for MX Connect
    When you add MX Connect to an Application Catalog Rule, you can also set the App Configuration values under Advanced settings for it.

    wiki_Screen-Shot-2020-10-19-at-15.49.09_crop.png

    On the Advanced page you can select whether the app will be Mandatory installed (recommended) to every devices that are targeted by this Rule, or will be only Suggested to the users. If you use the second option, MX Connect needs to be manually installed on the Android device from the Managed Play Store.

    wiki_Screenshot-2020-10-19-at-15.49.30.png

     
    The App Configuration will be applied when MX Connect will be installed on the devices that are targeted by the Rule.
     
    You can change these App Config values later and after the Rule gets synced they will be applied on the device too.
    With MobileIron you can create multiple, named App Configurations for an app, and you can distribute them in several ways: to specific users, user groups or all users that have the app installed.

    wiki_Screen-Shot-2020-10-15-at-12.15.43.png

    wiki_Screen-Shot-2020-10-15-at-12.15.50.png

    This distribution don't need to be the same as the app's distribution, and the App Configuration will be applied to the users to whom both the app and the App Configuration are distributed. If there is no overlap between the distribution of the app and the App Configuration, the App Configuration won't be applied to anyone (ex. if you choose to distribute the application to Group A, and distribute an App Configuration to Group B, it won't be applied to either groups).

    wiki_Screen-Shot-2020-10-15-at-12.16.48_modified_name.png

     

Update Firmware on MX Mobile Terminal from MDM

  1. Change the Firmware URI in the Managed Configuration / App Configuration
    You can change the Firmware URI by editing the Advanced settings of MX Connect's entry in an App Catalog Rule in SOTI. You can set a URL for where the Firmware file is hosted on the internet (recommended), or a local path on the devices' file system. It is highly recommended to use Cognex's Firmware Update server URLs for Firmware updates. If you choose to do the update from a file you need to put the Firmware file to the device's file system, which you can do with a File Sync Rule from SOTI.

    wiki_Screen-Shot-2020-10-19-at-15.49.09_crop.png

    wiki_Screenshot-2020-10-19-at-15.49.30-copy.png

    You can change the Firmware URI by editing a Managed Configuration in MobileIron. You can set a URL for where the Firmware file is hosted on the internet (recommended), or a local path on the devices' file system. It is highly recommended to use Cognex's Firmware Update server URLs for Firmware updates. If you choose to do the update from a file you need to put the Firmware file to the device's file system manually and than use it's path in the Managed Configuration.

    wiki_Screen-Shot-2020-10-15-at-12.16.25_modified_name.png

     

  2. Wait for the modified Managed Configuration / App Configuration to be synchronized to the Android devices, or force the synchronization
    After the App Configuration values for MX Connect are changed in an Application Catalog Rule, SOTI will send this change to all devices, that the Application Catalog Rule is targeted with. You cannot schedule when this will happen, however you can force it on a particular device by initiating a Check-in of that device from the Device Details page.

    wiki_Screen-Shot-2020-10-19-at-16.16.15_cropped_blurred.png

    After a Managed Configuration is changed, MobileIron will send this change to all devices, that the Managed Configuration is distributed to. You cannot schedule when this will happen, however you can force it on a particular device by Forcing a Check-in of that device.

    wiki_Screen-Shot-2020-10-19-at-14.55.51_blur.png

     

  3. Wait for the updates to be completed

    When the values set using App Configuration / Managed Configuration gets synced to an Android device and the Firmware URI is changed, it will be automatically installed to the MX Terminal by MX Connect. If the MX Terminal is connected when the new values are received, the installation will begin right away and if not, it will be done upon next connection. Please note that you cannot use the MX Terminal unti the Firmware update is done.

 

Update MX Configuration on MX Mobile Terminal from MDM

  1. Change the Config URI and set whether you want to Always apply config in the Managed Configuration / App Configuration
    You can change the Firmware URI by editing the Advanced settings of MX Connect's entry in an App Catalog Rule in SOTI. You can set a URL for where the Config file is hosted on the internet, or a local path on the devices' file system. You need to host your config file somewhere and set its URL if you want MX Connect to download it. If you choose to do the update from a file you need to put the Config file to the device's file system, which you can do with a File Sync Rule from SOTI.

    wiki_Screen-Shot-2020-10-19-at-15.49.09_crop.png

    wiki_Screenshot-2020-10-19-at-15.49.30-copy2.png

     
    You can also set whether the Config will be Always Applied, meaning that it will be uploaded and saved on the MX Terminal every time MX Connect connects to it. This way, even if an application (that communicates with the MX Terminal) changes the Config while it is running, the Config file that is set in MDM will be applied again as soon as that application goes into the background.
    You can change the Firmware URI by editing a Managed Configuration in MobileIron. You can set a URL for where the Config file is hosted on the internet, or a local path on the devices' file system. You need to host your config file somewhere and set its URL if you want MX Connect to download it. If you choose to do the update from a file you need to put the Config file to the device's file system manually and than use it's path in the Managed Configuration.
     
    You can also set whether the Config will be Always Applied, meaning that it will be uploaded and saved on the MX Terminal every time MX Connect connects to it. This way, even if an application (that communicates with the MX Terminal) changes the Config while it is running, the Config file that is set in MDM will be applied again as soon as that application goes into the background.

    wiki_Screen-Shot-2020-10-15-at-12.16.25_modified_name2.png

     

  2. Wait for the modified Managed Configuration / App Configuration to be synchronized to the Android devices, or force the synchronization
    After the App Configuration values for MX Connect are changed in an Application Catalog Rule, SOTI will send this change to all devices, that the Application Catalog Rule is targeted with. You cannot schedule when this will happen, however you can force it on a particular device by initiating a Check-in of that device from the Device Details page.

    wiki_Screen-Shot-2020-10-19-at-16.16.15_cropped_blurred.png

    After a Managed Configuration is changed, MobileIron will send this change to all devices, that the Managed Configuration is distributed to. You cannot schedule when this will happen, however you can force it on a particular device by Forcing a Check-in of that device.

    wiki_Screen-Shot-2020-10-19-at-14.55.51_blur.png

     

  3. Wait for the updates to be completed

    When the values set using App Configuration / Managed Configuration gets synced to an Android device, it will be automatically installed to the MX Terminal by MX Connect if the actual file is different than the last installed one, or if Always apply config was set. If the MX Terminal is connected when the new values are received, the installation will begin right away and if not, it will be done upon next connection. Please note that you cannot use the MX Terminal unti the Config upload is done, but it usually just takes a couple of seconds.

 

iOS

MX Connect User Guide

Functionalities

The main features of the MX Connect application are:

  • Display basic information about the connected MX Mobile Terminal, for example MX-1502.
  • Receive and display the configuration from the MDM server, for example JAMF.
  • Perform necessary updates according to configuration received from the MDM server.
  • Lock the application via Single App Mode during updates and display update status (active / inactive).
  • Log and display events sorted by date.

IMG_0001.PNG

Updating Process

In the UPDATES section of the main screen the app shows the configured firmware and MX configuration. If these configurations are installed properly, a checkmark is displayed in the rows, respectively. Although the configuration XML sent by the MDM contains URLs, MX Connect only displays the last component of these URLs. Use file names in the URLs that reflect the version of their content.

Browsing the Log

Check the log to review the history of the attached MX mobile terminal. You can check what configuration the app received, and if the updating processes were successful.

IMG_0002.PNG

Tap the row in the history list and check the disclosed page for more detailed information on a particular event.

IMG_0003.PNG

Manage MX Connect from MDM

Terminology and Definitions

The following terms are used throughout this document:

  • MX Mobile Terminal: The MX barcode reader device, for example, MX-1502.
  • iOS device: iPhone or iPod Touch built into an MX Mobile Terminal.
  • Firmware: The firmware of the MX Mobile Terminal.
  • MX configuration: The configuration of the MX Mobile Terminal.
  • App Configuration XML: An XML formatted text containing the URLs of the update files.
  • MDM: Mobile Device Management referring to an MDM solution, for example, Jamf.

Preparation Steps

  1. Configure Apple Push Notification Service on your MDM

    Follow the instructions to enable your MDM to communicate with mobile phones via Apple's Push Notification Service.

  2. Make your iOS device supervised

    Make your iOS device supervised by using the Apple Configurator desktop application on a Mac or by using Apple's DEP program. This is a precondition so that MDM can have more control over the mobile phone (e.g. launch and application in single app mode which is required for MX Connect updating workflow).

  3. Enroll the mobile phone to the MDM.

    User-Initiated Enrollment for Mobile Devices

    You can combine supervising and enrolling by using a supervising identity.

    Supervision Identities

    For more information about device enrollment, refer to Enrollment of Mobile Devices.

    Adding iOS Devices

    You can use the enrollment URL of your "Add Devices" rule.

    Screenshot-2019-06-25-at-11.22.34.png

    There are multiple ways to enroll a device in MobileIron. You can read two examples below (for more options please check MobileIron's User's manual).
    • Enrolling via invitation:

    wiki_Screenshot-2020-07-27-at-17.00.00.png

    wiki_Screenshot-2020-07-27-at-17.00.59.png

     

    • Enrolling via Apple Business Manager:

    wiki_Screenshot-2020-07-27-at-17.02.01.png

    There are multiple ways to enroll a device in Worspace ONE. Check the following description:
  4. Install MX Connect app with your MDM system from the App Store.

    Add MX Connect to JAMF by an App Store URL.

    Screenshot-2019-06-21-at-16.27.15.png

    Set the distribution method to "Install Automatically" to let JAMF deploy it without user interaction.

    Screenshot-2019-06-24-at-15.17.34.png

    To learn more about app distribution in JAMF, read the App Distribution document. 

    To install MX Connect app first you have to create an Application Catalog Rule.

    App-Catalog-Rule.png

    In the app catalog rule you have to add MX Connect app by any of the possible options. Most likely you will select the App Store Applications option.

    App-Store-app.png

    To force installing to devices set the Application Type field to Mandatory.

    Screenshot-2019-06-25-at-11.31.25.png

    To install MX Connect application via MobileIron first you have to add it on the MDM admin site.

    wiki_Screenshot-2020-07-27-at-17.04.23.png

    Click Add button.

    wiki_Screenshot-2020-07-27-at-17.07.49.png

    Navigate to publicly available native apps and select "Add application":
    wiki_AddApp.png
    Fill out the form properly:

    wiki_AddApplication2.JPG

    Select MX Connect published by Cognex Corporation:

    wiki_AddApp3.png

    Save and assign to user group where MX mobile terminals are used. Set all other assignment properties according to your need and finally publish your changes.

     
  5. Create a Single App Mode Configuration Profile for MX Connect.

    Launch the application by putting it to Single App Mode (SAM). To let your MDM put the application to SAM, create a configuration profile in your MDM that is sent out to devices in the right time. If a device receives a Single-App-Mode configuration profile for MX Connect app, the iOS device launches the app and keeps it on screen until the MDM system revokes the configuration profile.

    You can create a Single-App-Mode configuration profile at Mobile Devices or Configuration Profiles.

    Screenshot-2019-06-24-at-15.59.45.png

    You can create a Single-App-Mode configuration profile at Profiles / Add.

    SAM-profile-SOTI.png

    You can create a Single-App-Mode configuration profile at Configurations.

    wiki_Screenshot-2020-07-27-at-17.15.52.png

    Create a new configuration and select the Single App Mode type.

    wiki_Screenshot-2020-07-27-at-17.16.15.png

    To associate the MX Connect app configure the restriction by selection your hosted MX Connect app.

    wiki_Screenshot-2020-07-27-at-17.17.26.png

    Please note that this is only a preparation step so please leave "Enable this configuration" option unchecked:

    wiki_Screenshot-2020-07-29-at-7.53.03.png

    Select "Add profile" for devices from the drop-down list:
    wiki_AddProfile.png
    Select wiki_AddProfile2.JPG for Platform and wiki_AddProfile31.JPG for Context.
    Fill out General tab according to your needs (use Manual for Deployment) but leave Smart Group assignment empty for now. Select Single App Mode tab and enter the following data and then Publish it:

    wiki_AddProfile4.png

     
  6. Create an Autonomous Single App Mode Configuration Profile for MX Connect.

    Autonomous Single App Mode (ASAM) is a very similar functionality to Single-App-Mode. ASAM lets the MX Connect app to lock to the iOS device's screen and unlock when it is no longer needed. 

    Note that while the user of the MDM system manually issues and revokes Single-App-Mode, the Autonomous Single App Mode is activated and deactivated by MX Connect app.

    MX Connect needs this to autonomously lock to the screen during downloading and installing update files to prevent the phone's user to navigate away during installation.
    To let MX Connect use ASAM, create a configuration profile with MX Connect app's bundle ID, com.cognex.MXConnect, in your MDM and issue it to all your iOS devices.

    Sending out ASAM configuration profile for MX Connect does not put the app on the screen, it only gives permission to the app to do so. Issuing an ASAM configuration profile has to be done only once for an iOS device and it must not be revoked.

    Select Restrictions to create an Autonomous Single App Mode configuration profile.

    Screenshot-2019-06-24-at-16.05.05.png

    Select the Applications tab and MX Connect's bundle ID: com.cognex.MXConnect

    Screenshot-2019-06-24-at-16.09.22.png

    Select Restrictions to create an Autonomous Single App Mode configuration profile.

    ASAM-SOTI-1.png

    Screenshot-2019-06-25-at-14.20.02.png

    Select the Applications tab and add MX Connect's bundle ID (com.cognex.MXConnect) to the list.

    Screenshot-2019-06-25-at-14.20.47.png

    To create an iOS restriction for ASAM mode for MX Connect app you have to select "iOS restriction" at type selection.

    wiki_Screenshot-2020-07-27-at-17.27.16.png

    In the configuration section you have to add MX Connect to the appropriate field.

    wiki_Screenshot-2020-07-27-at-17.30.53.png

    To send ASAM configuration to a particular device click on Push button on the device's Configuration tab.

    wiki_Screenshot-2020-07-29-at-7.45.11.png

    This option is not available on Workspace ONE for apps available in App Store.
     
    What does it mean?
    MX Connect cannot keep up single application mode during firmware upgrade roll-out if Single App Mode was turned off/deactivated too early (e.g. the update was still ongoing).
     
    How can I avoid issues?
    Inform your users not to navigate away from MX Connect if an upgrade operations has been started.
     
    How shall I use Single App Mode?
    You have to make sure that you do not disable Single App Mode until the installation of the firmware is finished on the MX mobile terminals. We would suggest to communicate a slot to your users when you plan to upgrade firmware on MX mobile terminals. 15 minutes slot should be enough to do the firmware upgrade but this may vary according to your network speed.
     
    What happens if I disable Single App Mode when the upgrade process has not been finished?
    If the user does not navigate away from MX Connect during the update process, then the operation will be finished and firmware/configuration file is rolled out to mx mobile terminal.
    I the user navigates away (as MX Connect is not in single app mode user is not prevented to do this) then Firmware upgrade and configuration update may be interrupted and not processed until you start Single App Mode again.
  7. Prepare a server to access firmware and configuration update files by URL.

    During a firmware or configuration update MDM sends only the URLs of the update files to the MX Connect app, which downloads the update files using these URLs. Make sure that your update files are accessible by a URL, and set up a server to accomplish this requirement, if necessary. You can use Cognex' firmware storage to distribute upgrades. For more detail, refer to the FAQ

Update Firmware and Configuration on MX Mobile Terminal

  1. Install MX Connect app (with your MDM system) on mobile devices.

    If the MX Connect app is already installed on all iOS devices managed, skip this step (otherwise check Preparation step 4).

    Once you have added MX Connect to your JAMF instance, apply two settings to automatically install to you device.

    App install is automatic:

    Screenshot-2019-06-24-at-15.17.34.png

    Add your iOS device to the app's scope:

    Screenshot-2019-06-24-at-16.18.23.png

    Once you have added MX Connect to your SOTI instance, apply two settings to automatically install to you device.

    Installing the app is automatic:

    Screenshot-2019-06-25-at-11.31.25.png

    Add your iOS device to the app's scope:

    Screenshot-2019-06-25-at-14.25.04.png

    To install MX Connect app on your device(s) you have to configure its Distribution settings in App Catalog.

    wiki_Screenshot-2020-07-27-at-17.45.45.png

    To install MX Connect app on your device(s) you have to configure its Assignment settings.

    wiki_assignMXC.png

  2. Launch MX Connect. To launch MX Connect, send a Single App Mode configuration profile to the iOS devices.

    Revoke this profile manually to let the user of the iOS device switch to another application. Make sure to revoke SAM configuration profile, otherwise the company's daily workflow will be blocked because the designated application is not able to use the MX devices.

    To launch MX Connect, put it to Single-App-Mode by adding your device to the SAM configuration profile's scope.

    Screenshot-2019-06-24-at-16.26.38.png

    To launch MX Connect, put your device to Single-App-Mode by adding it to the SAM configuration profile's scope.

    Assign-SAM.png

    You have prepared a Single App Mode configuration. Edit this configuration and enable it by checking the appropriate option.

    wiki_Screenshot-2020-07-29-at-7.55.20.png

    Please note that you have to uncheck this option after the installation process to terminate the Single App Mode.

    Open the profile (that was created at Preparation step 5) and assign it to mobile phones (use smart group) where the MX terminal update is necessary.

    wiki_AssignProfile.png

    If you revoke the Single App Mode configuration during an upgrade process, the app keeps the SAM until the installation is done. Exception is Workspace ONE as there is no Autonomous single app mode configuration for App store apps 
  3. Send updates to the MX mobile terminal.

    To send firmware or MX configuration updates, compose an XML text containing the URLs of the update files. The XML has to be provided to your MDM, which sends it to each MX Connect instance. MX Connect starts the update process upon receiving the XML configuration.

    The XML composed is not a command but a configuration. The XML resides at MX Connect until the next XML configuration overwrites it. MX Connect will try to install the firmware and configuration using the defined URLs each time when the application starts. Firmware update is performed once and MX Connect checks whether the installed firmware matches with the firmware available on the MX mobile terminal. MX configuration update is performed multiple times when the application is opened, which takes only a few seconds.

    To send new updates to MX Connect, edit the App Configuration text at MX Connect's page. Use the proper form of the XML to perform a successful update.

    Screenshot-2019-06-24-at-16.29.56.png

    To send new updates to MX Connect, edit the App Configuration text at MX Connect app's "Application Catalog Rule". Use the proper form of the XML to perform a successful update.

    Send-config-SOTI-1.png

    Screenshot-2019-06-25-at-14.46.35.png

    To create and send a Managed App Config go to MX Connect app's App Configuration tab and select iOS Managed App Configuration section.

    wiki_Screenshot-2020-07-29-at-8.01.17.png

    Click on Add button and create a new configuration as indicated below.

    wiki_Screenshot-2020-07-29-at-8.06.46.png

    Open Application settings for MX Connect app and select Assign.

    wiki_assignMXC.png

    Select the actual MX Connect assignment and edit Application configuration. Turn on Send configuration setting.

    wiki_SendConfig.png

     

    Depending from MDM you have to enter an XML as configuration or you can add key-value pairs as a configuration or you can pick your preferred method. 

    • Use the following template to compose a configuration XML:
    			<dict>
    				<key>firmwareURL</key>
    				<string>https://myserver.com/firmwares/firmware_file_name</string>
    				<key>configurationURL</key>
    				<string>https://myserver.com/configs/config_file_name</string>
    			</dict>
    • Define the following key value pairs:
    Key Type Value
    firmwareURL string https://myserver.com/firmwares/firmware_file_name
    configurationURL string https://myserver.com/firmwares/firmware_file_name
    Note that all key-string pairs are optional. MX Connect does not perform any update or check for a missing field, and does not restore any kind of default value for a missing field. If you configure both the firmwareURL and the configurationalURL with new values, MX Connect first installs the firmware rebooting the MX mobile terminal, then processes the configuration file.
  4. Revoke Single App Mode from MX Connect to remove devices from SAM.

Adding MDM reporting to an application

A company owning and operating many Cognex Mobile Terminals may want to remotely collect up-to-date information about battery level, battery health, installed firmware, etc. An iOS application using the cmbSDK framework can report status information of the attached Mobile Terminal to an MDM instance. Cognex mobile apps (MX Connect, Cognex Quick Setup...) can be also configured to report MX data.

Preparing your iOS application for reporting data about MX mobile terminal

Any iOS application is capable of reporting Mobile Terminal status information if it embeds and uses the cmbSDK framework.

1. Update cmbSDK framework in you app to use at least 2.4.0 version. 

2. Configure reporting for the app in your MDM.

Configuring the reporting functionality from MDM

Reporting is done by an iOS application towards an MDM instance. The app has to be managed by the MDM instance and can only report to that MDM instance. There are a few configuration options the MDM administrator has to properly set to let the reporting feature work for a certain application. These settings are done by creating a proper Managed App Configuration including key-value pairs as the configuration of reporting. Please refer to your MDM's administration guide to learn how to edit Managed App Configuration of a managed mobile app.

 

Mandatory configuration fields

As described above the MDM's administrator has to compose a Managed App Configuration to define settings of the reporting. This Managed App Configuration is sent to the mobile app by the MDM to let the app process it and behave accordingly. Please note that providing a proper Managed App Configuration is mandatory to enable the reporting. Without that the cmbSDK (in the app) won't start reporting.

The mandatory configuration fields are the following.

Key Type Description
mxReportingEnabled Bool It has to be set to true to enable reporting.
mxReportingURL String This URL has to point to your MDM instance including port number if necessary.
mxReportingIntervalMinutes Integer Reporting frequency in minutes, minimum value is 1.
mdmType String The type of your MDM. Currently "SOTI" and "Jamf" are supported.
mdmDeviceID String

This field is a technical field that has to be set with a constant depending on your MDM type.

SOTI: %DeviceIdentifier%

Jamf: $JSSID

MobileIron: ${devicePK}

 

Developer hint

It is possible to turn on/off the reporting from the source code of your application by changing MDMReportingEnabled property of your CDMDataManSystem instance. Please note that the default value is false for MDMReportingEnabled. Please be aware that the mandatory fields still needs to be configured in MDM.

 

Authentication fields

For cmbSDK connecting to your MDM instance will most likely require authentication credentials. Beside the mandatory configuration fields you also have to provide these in the Managed App Configuration as indicated in the following table.

Key Type SOTI Jamf MobileIron Description
mdmReportingClientID String x     Application needs to be added as API client and generate this ID
mdmReportingClientSecret String x     Application needs to be added as API client and generate this secret
mdmReportingPassword String x x x Password
mdmReportingUsername String x x x User name

Please note that you have to provide a registered user's credentials that has the right to use the MDM's API for reporting. Refer to your MDM's administrator guide to learn more.

Developer hint 

If you don't want to provide authentication credentials via Managed App Config for some reason these can be set by the cmbSDK's API from your app's code. It gives you full flexibility to retrieve authentication credentials in the way your company's policy requires. To do so you have to set the defaultMDMAuthCredentials property of CDMDataManSystem class.

var authCredentials: MDMAuthCredentials = MDMAuthCredentials()
authCredentials.username = "usr"
authCredentials.password = "pwd"
authCredentials.clientID = "myClientID"
authCredentials.clientSecret = "myClientSecret"
self.dataManSystem.defaultMDMAuthCredentials = authCredentials
self.dataManSystem.MDMReportingEnabled = true // if you want to start reporting
MDMAuthCredentials *authCredentials = [MDMAuthCredentials new];
authCredentials.username = "usr";
authCredentials.password = "pwd";
authCredentials.clientID = "myClientID";
authCredentials.clientSecret = "myClientSecret";
self.dataManSystem.defaultMDMAuthCredentials = authCredentials;
self.dataManSystem.MDMReportingEnabled = true; // if you want to start reporting

Please note that if you set authentication credentials both in the Managed App Config and via defaultMDMAuthCredentials property the fields in the Managed App Config will overwrite the fields in the defaultMDMAuthCredentials property per field basis. This precedence allows your MDM administrator to make some fix/change without rebuilding and deploying your application.

Reported information

The following data of the attached Mobile Terminal is collected:

Attribute name Type Format Description
MX Device Variant Text MX-1XXX VARIANT Example MX-1502 ER is shown for extended range MX-1502 mobile terminals
MX Device Name Text   MX-1XXX-YYYYYY names are used by default, but it may be different according to configuration
MX Serial Number Text 14 character  
MX Pistol Grip Battery Level Number X -1 means no battery is available
MX Flat Battery Level Number
MX Pistol Grip Battery Health Number
MX Flat Battery Health Number
MX Firmware Version Text A.B.C_D Example: 5.7.9_sr3
MX Status Date Date Depends from you MDM local settings Contains the timestamp (in case of SOTI only date) for the last report.
MX Status Timestamp Text YYYY-MM-DD HH:MM:SS (24H) Contains the exact timestamp for the last report. Available only on SOTI.

Custom attributes in MDM

The reported data fields appear as custom/extension attributes in MDM.

Jamf and SOTI

These custom attributes are global attributes and they are assigned to all enrolled devices. By default the custom attributes are not present in an MDM instance, the properly configured mobile app creates the custom attributes automatically via the MDM's API and neither the app developer nor the MDM administrator has to take care of it.

MobileIron Cloud

Preparing custom/extension attributes require two steps:

  • First custom attributes have to be defined at Admin/System/Attributes. MDM admin has to add manually all relevant attributes that you want to check. Use the names from the table above but replace spaces with an underline (e.g.: MX_Pistol_Grip_Battery_Level)
  • The second step is assigning these attributes to device(s). This second step is automatically performed the apps that includes cmbSDK, you don't have to do it manually. So please be sure to first define the custom attributes before using cmbSDK for reporting.

Summary of all requirements

  • It is possible to use your own app for reporting, but Cognex mobile apps can be also configured to send data to MDM.
  • Your app has to use the cmbSDK framework (2.4.0 version or later) and has to be managed by your MDM.
  • The app has to be in foreground and has to connect to the attached Mobile Terminal via cmbSDK.
  • If you are using multiple apps during your work and you want to make sure the continuity in reporting, we suggest to configure both apps in MDM.
  • The mobile phone has to have a proper network connection to reach your MDM instance.
  • It is mandatory to have a proper Managed App Configuration sent to your app by your MDM to enable reporting.
  • Authentication credentials have to be complete and valid for usage of your MDM API.
  • Do not modify or delete manually the created custom attributes on your MDM instance.
  • In case of MobileIron Cloud you have to first define the custom attributes manually on the admin site.
  • MX data reporting is available in Cognex apps from the following versions:
    • Cognex Quick Setup (available from version 2.4.2)
    • MX Browser (available from version 2.0.2)
    • MX Connect (available from version 1.0.2)
    • MX Keyboard (not available yet)