Managed configurations - historically referred to as app configuration, managed app config, or application restrictions - allow administrators to remotely push settings to applications on managed Android devices through their EMM.
Rather than manually configuring each app on each device, an administrator defines key-value pairs provided by an application in their EMM console that are delivered to the app silently. The app reads these values and adjusts its behaviour accordingly.
Common examples include:
Managed configurations work on both fully managed and work profile deployments.
The flow involves three parties:
app_restrictions.xml) bundled with the app. This schema defines the available settings, their types, default values, and descriptionsBundle. The app reads these values at launch or when notified of a changeThe administrator never interacts with the app directly - everything flows through the EMM and Managed Google Play, or in some cases omits Play entirely.
The configuration schema supports the following data types:
| Type | Description |
|---|---|
bool |
True/false toggle |
string |
Free-text string |
integer |
Whole number |
choice |
Single selection from a predefined list |
multi-select |
Multiple selections from a predefined list |
hidden |
A value transferred to the app but not shown in the EMM UI |
bundle |
A group of nested settings |
bundle_array |
An array of grouped settings (Android 6.0+) |
Bundles and bundle arrays allow complex, nested configurations. For example, a VPN app might define a bundle_array of VPN profiles, each containing a server address, username, and authentication type.
Android Enterprise validation requires EMMs to support up to four levels of nesting in managed configurations, but in some cases, for example OEM config, this can go up to 9 levels deep in nested configuration.
When an administrator selects an app in their EMM console and opens its configuration, the EMM renders a form based on the schema declared by the app developer. Each setting appears with its title, description, type, and default value.
Not all apps support managed configurations. If an app does not include an app_restrictions.xml schema, there is nothing for the EMM to display or configure. Whether an app supports managed configurations is visible on its Managed Google Play listing. Note that AMAPI can only retrieve managed configuration schemas from production-published apps - apps distributed via closed or internal test tracks may not surface their configurations. See Why don't managed configurations work with app tracks? for details.
Apps can send feedback to the EMM about the result of applying a configuration. For example, an email app might report whether the Exchange connection was successful or failed after receiving server details via managed config.
This feedback mechanism is called keyed app states. It allows administrators to see, directly in their EMM console, whether a configuration was applied successfully - without needing to check the device manually.
Administrators interact with managed configurations in two ways depending on the EMM:
Both approaches deliver the same configuration to the device. The difference is purely in the admin experience.