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. |
Navigation Configuration
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 |