Using Managed Configurations

Enterprise Browser 5.0

Overview

Managed configurations are part of a specification developed by Google and the Android community for remotely configuring installed applications and devices through any Enterprise Mobility Management (EMM) system that supports it. Originally known as "App Restrictions" because of their limited initial scope, managed configurations (MCs) are now being used by Zebra to remotely configure a variety of settings, including those for device hardware, software and security.

The features of a given app that are manageable using MCs are defined in its schema. The Enterprise Browser (EB) schema is downloaded when visiting Google Play through the EMM console and selecting Enterprise Browser for administration. The schema defines the features available for consumption by the EMM, and provides the information necessary to present the app's management UI within the EMM console. This data-driven UI method allows delivery of new features and their corresponding UI attributes as soon as they become available. For more information about configuring Zebra devices with managed configurations, see Zebra OEMConfig.

† Management UIs vary depending on the EMM system in use.

The terms "app restriction" and "managed configuration" are used interchangeably in this guide.

Requirements

  • One or more Zebra devices running Android 11 or later
  • A supported EMM system with EB and its schema downloaded from Google Play
  • EB 5.0 (or later) installed on device(s) (can be deployed/upgraded via EMM, if necessary)

Configuring EB with MCs

At present, the full suite of EB settings can be administered only through the Config.xml file. Over time, Zebra plans to increase the features manageable through MCs until parity with the Config.xml file method is reached.

These methods CANNOT be used in combination (see below). Use of the Config.xml file to configure an Enterprise Browser app CANNOT be combined with the managed configuration method; settings deployment using either of these methods overwrites the other.

The legacy method must be used if one or more desired features is not configurable through MCs. See below.

EB Config-file Processing

  • Each time EB is launched, it reads the Config.xml file and configures the app accordingly.
  • When an MC file is deployed, its settings are processed and a new Config.xml file is created, overwriting the existing file stored as:
    • /sdcard/Android/data/com.zebra.mdna.enterprisebrowser/config.xml
  • The newly created Config.xml file contains only the MC-configured values; all other EB parameters return to their default settings.
  • Newly deployed settings take effect the next time the EB app is launched, regardless of deployment method.
  • When config changes are detected by a running EB app, the following message is displayed on the device:
    Click image to enlarge; ESC to exit.

NOTE: Enterprise Browser must be installed and launched on the device before any configuration file can be applied.

Launch Remotely

To launch Enterprise Browser (if installed) on a device, the following XML code can be submitted remotely through the XML pass-through feature of Zebra OEMConfig:


<wap-provisioningdoc> 
    <characteristic version="11.3" type="AppMgr"> 
        <parm name="Action" value="LaunchApplication" /> 
        <parm name="ApplicationName" value="EnterpriseBrowser" /> 
    </characteristic> 
</wap-provisioningdoc>

App Restrictions

EB app restriction categories and their corresponding bundles are described in the table below. Specific parameters for each restriction are contained in the individual tables that follow. The terms "app restriction" and "managed configuration" are used interchangeably in this guide.

Restriction Name Description
Application UI Configuration Handles parameters such as screen orientation and splash screen image and settings
Barcode Scanning Configuration Controls selection of DataWedge vs. EB APIs for scanning, and settings related to decoding and scanning during navigation
Broadcast Receiver Configuration Used to allow an EB app to communicate with and receive Intent actions from other apps running on the device
DOM Custom Configuration Allows for injection of settings into the document object model (DOM), which can modify a running app without changing its source code
Kiosk Configuration Settings related to single-app operation on a device, including the behavior of system and status bars, HOME, BACK and RECENT keys and password values
Navigation Configuration Handles the StartPage attribute and app-navigation settings such as HTTP/S proxies, bad URL redirects, web filtering, and black/white listing


Application UI Configuration

Handles parameters such as screen orientation and splash screen image and settings. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
LockOrientation AUTO
PORTRAIT
LANDSCAPE
Auto
Portrait
Landscape
Forces a particular screen orientation (portrait or landscape) when an EB app launches. More info.
SplashScreenImage User input
Example: file://%INSTALLDIR%/rho/apps/app/loading.png
Empty Used to specify the fully qualified path of an image (.bmp, .gif, .jpg, or .png) to be displayed at app start-up. If tag is removed or left unspecified, default EB splash screen is displayed. More info.
SplashScreenDuration User-input integer 0 Used to specify the length of time (in milliseconds) to display the image defined by the SplashScreenImage tag. Zebra recommends a duration greater than 3000 MS (three seconds) to compensate for image loading time. More info.

Barcode Scanning Configuration

Controls selection of DataWedge vs. EB APIs for scanning, and settings related to decoding and scanning during navigation. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
ScanApiToggle 0
1
Use EMDK
Use DataWedge
Controls whether to 'use DataWedge (DW) for scanning' or to use Enterprise Browser APIs through Zebra's Enterprise Mobility Developer Kit (EMDK) or another SDK. More info.
ScannerOnNav
Found under Barcode Scanning > EMDK configuration
0
1
Turn Off
Turn On
Controls whether scanner is automatically disabled when navigating away from a page on which it was enabled. More info.
DecodeVolume
Found under Barcode Scanning > EMDK > EB-generatedAudioFile
User input from 0–5 Empty One of three required: Used to set the volume of the device beeper when a barcode is scanned. More info.
DecodeFrequency
Found under Barcode Scanning > EMDK > EB-generatedAudioFile
User input
Example: 0xFFFF
Empty Two of three required: Used to set the frequency of the device beeper to signal a successful scan decode. Frequency must be within the range of the beeper. More info.
DecodeDuration
Found under Barcode Scanning > EMDK > EB-generatedAudioFile
Integer from 0–5000 Empty Three of three required: Used to specify the duration (in milliseconds) of the device beeper sound when a barcode is scanned. More info.
ExistingAudioFile
Found under Barcode Scanning > EMDK configuration
User-input string
Example: /enterprise/device/enterprisebrowser/alarm.wav
Empty Overrides settings of EB-generatedAudioFile parameters. Used to specify a device-resident .wav or .ogg file to be played when a scanned barcode is successfully decoded. A blank field plays no sound or uses the three parameters (above, if specified) for EB-generated sound. More info.

Broadcast Receiver Configuration

Used to allow an EB app to communicate with and receive Intent actions from other apps running on the device. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
IntentReceiver 0
1
Turn Off
Turn On
Determines whether an Enterprise Browser app receives intent actions, which work with Android intents to facilitate inter-application communication. More info.
IntentAction
Found under Broadcast Receiver > ItemActionList
User input
Example: android.intent.action.VIEW
Empty Specifies the Action for which the receiver is to be registered. At least one IntentAction value is required for Receiver registration; the IntentAction value can be Android-defined or custom. More info.
IntentCategrory
Found under Broadcast Receiver > ItemCategoryList
User-input string
Example: android.intent.category.LAUNCHER
Empty Used to specify the Category under which the receiver is to be registered. There can be zero or many IntentCategory tags; values are Android-defined. More info.

DOM Configuration

Allows for injection of settings into the document object model (DOM), which can modify a running app without changing its source code. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
EBLibraryInjection 0
1
Turn Off
Turn On
Used to inject EB JavaScript API libraries (ebapi-modules.js and elements.js) into all HTML pages of a running app, bypassing the requirement to manually reference them on each page. More info.

Kiosk Configuration

Settings related to single-app operation on a device, including the behavior of system and status bars, HOME, BACK and RECENT keys and password values. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
FullScreen 0
1
Turn Off
Turn On
Used to sets the Enterprise Browser app to display in full screen mode, unless specifically minimized using the Application API. More info.
StatusBar 0
1
Hidden
Shown
Used to disable the Android Status Bar, which could otherwise allow a user to launch another app or activity, effectively quitting the kiosk app. More info.
NavigationBar 0
1
Hidden
Shown
Controls whether the navigation bar is displayed within the Enterprise Browser app. More info.
HomeButtonAction 0
1
Turn Off
Turn On
Used to disable the HOME key, which could otherwise quit the kiosk application and invoke the Android Launcher. More info.
BackButtonAction 0
1
Turn Off
Turn On
Used to disable the BACK key, which could otherwise invoke the previously active app, activity or Android Launcher, potentially quitting the kiosk app. More info.
RecentButtonAction 0
1
Turn Off
Turn On
Used to prevent display of the Recent Apps list when the "recent" button is pressed, which could otherwise allow the user exit the current app by selecting a different app from the "recent" list. More info.
VolumeButtonAction 0
1
Turn Off
Turn On
This parameter can disable the hardware controls for audio volume, which could otherwise silence the kiosk app. More info.
ExitPassword 0
1
Turn Off
Turn On
Used to enable a password prompt when quitting an EB app. Password is stored using the ExitPasswordValue attribute. More info.
ExitPasswordValue User-input alphanumeric string
Example: MyPass0773H
Empty string Used to store the password for quitting an EB app when ExitPassword parameter is enabled. More info.

Handles the StartPage attribute and app-navigation settings such as HTTP/S proxies, bad URL redirects, web filtering, and black/white listing. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
StartPage HTML file on the device or a server file://%INSTALLDIR%/menu.html Defines the start page of the Enterprise Browser application displayed at launch. More info.
BadLinkUri HTML file on the device file://%INSTALLDIR%/badlink.html Specifies the "badlink" URI file to be displayed when:
- An error occurs when attempting to navigate to a page (e.g. no network connection)
- A page times out (according to the timeout interval set in NavTimeout)
- The user presses the stop button
More info.
NavigationTimeout Admin-entered length of time 45000 The length of time (in milliseconds) the application should wait to establish communication with the relevant server (as opposed to waiting for a page to fully load) before displaying the "bad link" message. Default = 45 sec. More info.
HttpProxy URL of a valid HTTP proxy server and port number.
Example: http:my.proxy.com:8080
Empty string Specifies the URL and port number for an HTTP proxy server. More info.
HttpsProxy URL of a valid HTTPS proxy server and port number.
Example: https:my.proxy.com:8181
Empty string Specifies the URL and port number for an HTTPS proxy server. More info.
WebsiteFiltering
Found under Navigation > WebUrlFiltering
0
1
Turn Off
Turn On
Controls whether web sites are filtered by URIs specified in the related WhileListingUrls (explicitly allowed) and BlackListingUrls (explicitly blocked) configuration tags. More info.
UrlWhitelist
Found under Navigation > WebUrlFiltering
Admin-created whitelist Empty string Explicitly ALLOWS one or more websites (as listed) to be visited by an app when WebsiteFiltering is turned ON. More info.
UrlBlacklist
Found under Navigation > WebUrlFiltering
Admin-created blacklist Empty string Explicitly BLOCKS one or more websites (as listed) from being visited by an app when WebsiteFiltering is turned ON. More info.