Using Managed Configurations

Enterprise Browser 5.5

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 configure 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 Controls 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.
License Configuration Controls settings related to device licensing, including display of the "Licensed to..." message shown at launch of an EB app.
Navigation Configuration Handles the StartPage attribute and app-navigation settings such as HTTP/S proxies, bad URL redirects, web filtering, and black/white listing.
SAP ITS Configuration Controls settings for working with ITSmobile, the SAP middleware system built around its Internet Transaction Server (ITS). ITSmobile provides browser-based access to SAP's ERP, SRM and other enterprise apps made with the company's proprietary dynpro language.
Software Keyboard Configuration Controls selection and display of the input method editor (IME), commonly referred to as the software keyboard on the device.
ViewPort Configuration Controls whether to apply meta tags that adjust the viewable areas of the app when initially launched.
Webview Configuration Core container for rendering application code. Certain behaviors of the WebView can be controlled by using this API class.
Zoom Configuration Controls zoom parameters within Webview APIs and the Config.xml file.
ZPP Configuration Zebra Picking Plus (ZPP) is an Enterprise Browser-based app for Zebra devices executes use cases for SAP Enterprise Warehouse Manager (EWM) and helps manage tasks involved in running a warehouse.


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 configure 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 Custom 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.
ButtonFilePath User-input string
Example: file://%INSTALLDIR%/button.xml
Empty Specifies the location of an encrypted button-information file created with Enterprise Keyboard Designer 2.5 and later only) or a button.xml file created manually. More info.
DomInjectionFilePath User-input string
Example: file://%INSTALLDIR%/mytags.txt
Empty Specifies the path of a device-resident file containing data for injected DOM elements. Permits injection of one or more DOM elements (i.e. JavaScript, CSS or meta tags) into a running app without modifying the underlying app. Injected JavaScript can be local or server-based. More info.
KeycodeMapperFilePath User-input string
Example: file://%INSTALLDIR%/android_sap/keycodemapping.xml
Empty Specifies the location of keycodemapping.xml, an optional file containing configuration settings for custom key mappings on a device. More info.
PageActionFilePath User-input string
Example: file://%INSTALLDIR%/PageAction.xml
Empty Specifies the location of PageAction.xml, an optional file containing configuration settings for page-based actions. More info.
CustomScriptFilePath User-input string
Example: file://%INSTALLDIR%/CustomScript.xml
Empty Specifies the location of CustomScript.xml, an optional file containing custom JavaScript snippets to be called by custom on-screen buttons or other app functions. 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.

License Configuration

Settings related to device licensing, including display of the "Licensed to..." message shown at launch of an EB app. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
LicenseDialogAtLaunch 0
1
Turn Off
Turn On
Controls the display of the “Licensed to...” dialog at launch on licensed devices. Has no effect on unlicensed devices. 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.

SAP ITS Configuration

Controls settings for working with ITSmobile, the SAP middleware system built around its Internet Transaction Server (ITS). ITSmobile provides browser-based access to SAP's ERP, SRM and other enterprise apps made with the company's proprietary dynpro language. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
KeyboardType
Found under SAP ITS Configuration -> OnScreen Keyboard Configuration
ButtonBar
EnterpriseKeyboard
ButtonBar
EnterpriseKeyboard
Used to select a keyboard, button bar, custom Enterprise Keyboard layout or default IME for the app. More info.
KeyboardDisplay
Found under SAP ITS Configuration -> OnScreen Keyboard Configuration -> Keyboard Visibility
alwaysOn
onDemand
Shown Always
Shown On Demand
Controls visibility of the software keyboard when running an ITSmobile app. More info.
KbOnKeypress
Found under SAP ITS Configuration -> OnScreen Keyboard Configuration -> Keyboard Visibility
0
1
Turn Off
Turn On
Controls visibility of the software keyboard when running an ITSmobile app. More info.
KbKeycode
Found under SAP ITS Configuration -> OnScreen Keyboard Configuration -> Keyboard Visibility
Hex Value More info.
KbOnFieldFocus
Found under SAP ITS Configuration -> OnScreen Keyboard Configuration -> Keyboard Visibility
0
1
Turn Off
Turn On
Controls visibility of the software keyboard when an input field comes into focus. More info.
WebviewResizeOnButtonBar
Found under SAP ITS Configuration -> OnScreen Keyboard Configuration -> Button bar Configuration
0
1
Turn Off
Turn On
Used to set a page as "resizable" for adapting to a keyboard pop-up. A setting of "1" activates the <ButtonBarMaxHeight> parameter. More info.
ButtonBarMaxHeight
Found under SAP ITS Configuration -> OnScreen Keyboard Configuration -> Button bar Configuration
User-input string Default More info.
SapButtonHeight
Found under SAP ITS Configuration -> Style Configuration
User-input string Empty More info.
SapButtonFontSize
Found under SAP ITS Configuration -> Style Configuration
User-input string Empty More info.
MobileEditDisabledWidth
Found under SAP ITS Configuration -> Style Configuration
User-input string Auto More info.
CssInjectionFilePath
Found under SAP ITS Configuration -> Style Configuration
User-input string file://%INSTALLDIR%/android_sap/sapstyle.txt More info.

Software Keyboard Configuration

Controls selection and display of the input method editor (IME), commonly referred to as the software keyboard on the device. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
KbPopup
0
1
Turn Off
Turn On
This parameter is intended for use only with Zebra Enterprise Keyboard (EKB) layouts or to prevent Enterprise Keyboard from appearing when the device scanner is used to populate a data-entry field. More info.
EbKb
Found under Keyboard -> KeyboardPreferences)
User-input string Empty Specifies a soft keyboard (IME) to be presented whenever the app launches or comes to the foreground. Use with <SetKeyboardOnExitOrBackground> parameter to swap IMEs when an EB app switches between foreground and background. More info.
KbNonEb
Found under Keyboard -> KeyboardPreferences
User-input string Empty Specifies a soft keyboard (IME) to be presented whenever the app exits or moves to the background. Use with <SetkeyboardOnLaunchOrForeground> parameter to swap IMEs when an EB app switches between foreground and background. More info.

ViewPort Configuration

Controls whether to apply meta tags that adjust the viewable areas of the app when initially launched. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
ViewPort 0
1
Turn Off
Turn On
Used to control whether the WebView supports the viewport HTML meta tag or a wide viewport. When false, layout width is always set to the width of the WebView control in device-independent (CSS) pixels. When true and the page contains the viewport meta tag, the value of the width specified in the tag is used. If the page does not contain the tag or does not specify a width, wide viewport id used. Overrides any value set using the UseWideViewPort parameter of the ViewPort config tag. More info.
ViewportWidth User-input string Empty Default viewport width to use for pages that do not have a viewport meta tag (uses 1:1 scaling if not specified). Defined in the Navigation \ ViewportWidth parameter of the Config.xml file. More info.
InitialScale User-input string Empty Sets the zoom level of the page when the app starts. More info.

Webview Configuration

This is the core container used for rendering application code. Certain behaviors of the WebView can be controlled by using this API class. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
UserAgent User-input string Empty Defined in the Navigation UserAgent parameter of the Config.xml file. When visiting a web server, the WebKit browser reports itself as the specified user agent. Use the UserAgent setting to spoof the device to the server (i.e. to view content designed for the desktop on a mobile screen). More info.

Zoom Configuration

Controls zoom parameters within Webview APIs. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
PageZoom User-input string Empty Sets the zoom factor of the page. A factor of 1.0 is "no zoom." Values of less than 1.0 are zoomed-out; values greater than 1.0 are zoomed-in. Zebra recommends NOT using a zoom value less than 1.0 because it could render the page unreadable. A new Zoom value takes effect on the current page; previous page(s) must be revisited before new zoom values take effect. More info.
PinchZoom 0
1
Turn Off
Turn On
Enables WebView to “pinch zoom” in and out of an image or web page using the two-finger gesture. Supported on EB 3.0.6.0 and later. Also can be configured using the 'EnableZoom' parameter in the Config.xml file. More info.
ZoomControls 0
1
Turn Off
Turn On
Applies only to Android. Controls whether to display on-screen zoom controls when using the built-in zoom mechanisms. Disabled by default. More info.
ZoomInKey Hex Value Empty Applies to Android with stock webkit and WM/CE with IE or Zebra Webkit. Controls zoom-IN behavior for application text using function key(s) configured with the EnableFunctionKey_X parameter. This setting is not applied if the parameter is missing, left blank or contains an invalid keycode. More info.
ZoomOutKey Hex Value Empty Applies to Android with stock webkit and WM/CE with IE or Zebra Webkit. Controls zoom-OUT behavior for application text using function key(s) configured with the EnableFunctionKey_X parameter. This setting is not applied if the parameter is missing, left blank or contains an invalid keycode. More info.

ZPP Configuration

Zebra Picking Plus (ZPP) is an Enterprise Browser-based app for Zebra devices executes use cases for SAP Enterprise Warehouse Manager (EWM) and helps manage tasks involved in running a warehouse. Default settings are shown in bold text.

Restriction Name Supported Values Displayed Value Description
SapUrl User-input string Empty Please refer to the Picking Plus User Guide for more information.
SapWarehouse User-input string Empty
SapWarehouseResource User-input string Empty
SapPlant User-input string Empty
DatawedgeIntentProfile User-input string Empty
InactivityTimoutInterval User-input string Empty
PartyEntitledToDispose User-input string Empty
AppPermissionLevel User-input string 01000
PreferredLangauge English
German
English
German