Skip to content
  • There are no suggestions because the search field is empty.

General Component

The General Policy Component allows you to change basic behavior and restrictions on managed devices. These settings control things like screen behavior, microphone access, updates, and system time.

Use this component when you want to configure how a device behaves on a daily basis.

general-component


Stay on Plugged Modes

API reference: stayOnPluggedModes

Type: enum

The battery plugged in modes for which the device stays on. When using this setting, it is recommended to clear maximumTimeToLock so that the device doesn't lock itself while it stays on.

Modes for plugging in the battery.

Options

Option Enum Description
Outlet AC Power source is an AC charger.
USB charging USB Power source is a USB port.
Wireless charging WIRELESS Power source is wireless.

Microphone Access

API reference: microphoneAccess

Type: enum

Controls the use of the microphone and whether the user has access to the microphone access toggle. This applies only on fully managed devices.

On fully managed devices, controls the use of the microphone and whether the user has access to the microphone access toggle. This setting has no effect on devices which are not fully managed. The microphone access toggle exists on Android 12 and above.

Options

Option Enum Description
Default MICROPHONE_ACCESS_UNSPECIFIED This is equivalent to user choice.
User choice MICROPHONE_ACCESS_USER_CHOICE This is the default device behaviour: the microphone on the device is available. On Android 12 and above, the user can use the microphone access toggle.
Disabled MICROPHONE_ACCESS_DISABLED The microphone on the device is disabled (for fully managed devices, this applies device-wide). The microphone access toggle has no effect as the microphone is disabled.
Enforced MICROPHONE_ACCESS_ENFORCED The microphone on the device is available. On devices running Android 12 and above, the user is unable to use the microphone access toggle. On devices which run Android 11 or below, this is equivalent to MICROPHONE_ACCESS_USER_CHOICE.

Enable changing device volume

API reference: adjustVolumeDisabled

Type: boolean

Controls whether users can adjust device volume

Whether adjusting the master volume is disabled. Also mutes the device. The setting has effect only on fully managed devices.


Enable the easter egg in settings

API reference: funDisabled

Type: boolean

Controls access to the Android hidden Easter Egg screen.

Whether the user is allowed to have fun. Controls whether the Easter egg game in Settings is disabled.


Skip tutorials for system apps

API reference: skipFirstUseHintsEnabled

Type: boolean

Skips initial welcome screens and tutorials that appear when apps are first opened.

When enabled, the device will automatically skip setup tutorials and introductory screens for system applications.

Flag to skip hints on the first use. Enterprise admin can enable the system recommendation for apps to skip their user tutorial and other introductory hints on first start-up.


Automatic time, date and time zone

API reference: autoDateAndTimeZone

Type: enum

Whether auto date, time, and time zone are enabled on a company-owned device. If this is set, then autoTimeRequired is ignored.

Options

Option Enum Description
Default AUTO_DATE_AND_TIME_ZONE_UNSPECIFIED Unspecified. Defaults to AUTO_DATE_AND_TIME_ZONE_USER_CHOICE.
Manual AUTO_DATE_AND_TIME_ZONE_USER_CHOICE Auto date, time, and time zone are left to user's choice.
Enforced AUTO_DATE_AND_TIME_ZONE_ENFORCED Enforce auto date, time, and time zone on the device.

Location tracking

API reference: locationUploadInterval

Type: string

Defines how often the device sends its location information to the server.

Time interval for location reporting (e.g., Never, 1 hour, 4 hours, 8 hours, 12 hours, Every day).


Device Heartbeat

API reference: heartbeatInterval

Type: string

Controls how often the device checks in with the Mambo server.

Time between check-ins (e.g., Never, 1 hour, 4 hours, 8 hours, 12 hours, Every day).


System Updates

API reference: systemUpdate

Type: object

The system update policy, which controls how OS updates are applied. If the update type is WINDOWED, the update window will automatically apply to Play app updates as well.

Note: Google Play system updates (also called Mainline updates) are automatically downloaded and require a device reboot to be installed. Refer to the mainline section in Manage system updates for further details.

The type of system update configuration.

Fields API Reference Type Description
System update type type enum (System update type) The type of system update to configure.
Start time startMinutes integer If the type is WINDOWED, the start of the maintenance window, measured as the number of minutes after midnight in the device's local time. This value must be between 0 and 1439, inclusive.
End time endMinutes integer If the type is WINDOWED, the end of the maintenance window, measured as the number of minutes after midnight in device's local time. This value must be between 0 and 1439, inclusive. If this value is less than startMinutes, then the maintenance window spans midnight. If the maintenance window specified is smaller than 30 minutes, the actual window is extended to 30 minutes beyond the start time.
freezePeriods freezePeriods[] object (Freeze Period) An annually repeating time period in which over-the-air (OTA) system updates are postponed to freeze the OS version running on a device. To prevent freezing the device indefinitely, each freeze period must be separated by at least 60 days.

System update type

API reference: systemUpdate.type

Type: enum

Controls how system updates are applied on the device.

Options

Option Enum Description
Default SYSTEM_UPDATE_TYPE_UNSPECIFIED Follow the default update behavior for the device, which typically requires the user to accept system updates.
Automatic AUTOMATIC Install automatically as soon as an update is available.
On selected schedule WINDOWED Install automatically within a daily maintenance window. This also configures Play apps to be updated within the window. This is strongly recommended for kiosk devices because this is the only way apps persistently pinned to the foreground can be updated by Play.

If autoUpdateMode is set to AUTO_UPDATE_HIGH_PRIORITY for an app, then the maintenance window is ignored for that app and it is updated as soon as possible even outside of the maintenance window.

Freeze Period

API reference: systemUpdate.freezePeriods[]

Type: object (Date)

A system freeze period. When a device’s clock is within the freeze period, all incoming system updates (including security patches) are blocked and won’t be installed.

When the device is outside any set freeze periods, the normal policy behavior (automatic, windowed, or postponed) applies.

Leap years are ignored in freeze period calculations, in particular:

  • If Feb. 29th is set as the start or end date of a freeze period, the freeze period will start or end on Feb. 28th instead.
  • When a device’s system clock reads Feb. 29th, it’s treated as Feb. 28th.
  • When calculating the number of days in a freeze period or the time between two freeze periods, Feb. 29th is ignored and not counted as a day.

Note: For Freeze Periods to take effect, SystemUpdateType cannot be specified as SYSTEM_UPDATE_TYPE_UNSPECIFIED, because freeze periods require a defined policy to be specified.

Freeze Period fields

Fields API Reference Type Description
Start date freezePeriods[].startDate object (Date) The start date (inclusive) of the freeze period. Note: day and month must be set. year should not be set as it is not used.

For example: { "month": 1, "day": 30 }
End date freezePeriods[].endDate object (Date) The end date (inclusive) of the freeze period. Must be no later than 90 days from the start date. If the end date is earlier than the start date, the freeze period is considered wrapping year-end. Note: day and month must be set. year should not be set as it is not used.

For example: { "month": 1, "day": 30 }

Date (API Specific Notes)

Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:

  • A full date, with non-zero year, month, and day values.
  • A month and day, with a zero year (for example, an anniversary).
  • A year on its own, with a zero month and a zero day. A year and month, with a zero day (for example, a credit card expiration date).

Related types:

Fields type Description
year integer Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
month integer Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
day integer Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.

Lock Screen Message

API reference: deviceOwnerLockScreenInfo

Type: object

The device owner information to be shown on the lock screen.

Provides a user-facing message with locale info. The maximum message length is 4096 characters.

Options

Fields API Reference type Description
Custom localization localizedMessages map (key: string, value: string) A map containing <locale, message> pairs, where locale is a well-formed BCP 47 language code, such as en-US, es-ES, or fr.

An object containing a list of "key": value pairs. Example: { "en-US": "Company device", "fr": "Appareil de l’entreprise" }.
Default Message displayed on device lock screen defaultMessage string The default message displayed if no localized message is specified or the user's locale doesn't match with any of the localized messages. A default message must be provided if any localized messages are provided.
Display enterprise name EnterpriseDisplayNameVisibility boolean Controls whether the enterpriseDisplayName is visible on the device (e.g. lock screen message on company-owned devices).

Display settings

API reference: displaySettings

Type: object

Controls device display behavior, including screen brightness configuration and screen timeout enforcement. These settings define whether brightness and timeout are user-controlled, automatic, fixed, or enforced by policy.

The display configuration applied to the device.

Fields API Reference Type Description
Screen brightness settings screenBrightnessSettings object(screenBrightnessSettings) Controls the screen brightness settings.
Screen timeout settings screenTimeoutSettings object(screenTimeoutSettings) Controls the screen timeout settings.

Screen brightness settings

API reference: displaySettings.screenBrightnessSettings

Type: object

Controls the screen brightness configuration.

Fields API Reference Type Description
Screen brightness mode screenBrightnessMode enum (ScreenBrightnessMode) Controls the screen brightness mode.
Fixed brightness level screenBrightness integer Applicable whenScreenBrightnessMode = BRIGHTNESS_FIXED.

Fixed brightness level

The screen brightness between 1 and 255 where 1 is the lowest and 255 is the highest brightness. A value of 0 (default) means no screen brightness set. Any other value is rejected. screenBrightnessMode must be either BRIGHTNESS_AUTOMATIC or BRIGHTNESS_FIXED to set this. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above.

Note: In the UI, the brightness is selected using a slider with a range of 1–100 for a better user experience and is internally scaled to the required 1–255 API range before sending the request.

Screen timeout settings

API reference: displaySettings.screenTimeoutSettings

Type: object

Controls the screen timeout configuration.

Fields API Reference Type Description
Screen timeout mode screenTimeoutMode enum (ScreenTimeoutMode) Controls whether the user is allowed to configure the screen timeout.
Screen timeout duration screenTimeout string Applicable whenScreenTimeoutMode = SCREEN_TIMEOUT_ENFORCED.

Enforced timeout duration(in seconds)

Controls the screen timeout duration. The screen timeout duration must be greater than 0, otherwise it is rejected. Additionally, it should not be greater than maximumTimeToLock, otherwise the screen timeout is set to maximumTimeToLock and a NonComplianceDetail with INVALID_VALUE reason and SCREEN_TIMEOUT_GREATER_THAN_MAXIMUM_TIME_TO_LOCK specific reason is reported. If the screen timeout is less than a certain lower bound, it is set to the lower bound. The lower bound may vary across devices. If this is set, ScreenTimeoutMode must be SCREEN_TIMEOUT_ENFORCED. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

ScreenBrightnessMode

API reference: screenBrightnessMode

Type: enum

Controls the screen brightness mode.

Options

Option Enum Description
Default SCREEN_BRIGHTNESS_MODE_UNSPECIFIED Unspecified. Defaults to BRIGHTNESS_USER_CHOICE.
Allow user to set BRIGHTNESS_USER_CHOICE The user is allowed to configure the screen brightness. screenBrightness must not be set.
Automatic BRIGHTNESS_AUTOMATIC The screen brightness mode is automatic in which the brightness is automatically adjusted and the user is not allowed to configure the screen brightness. screenBrightness can still be set and it is taken into account while the brightness is automatically adjusted. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above.
Set Fixed BRIGHTNESS_FIXED The screen brightness mode is fixed in which the brightness is set to screenBrightness and the user is not allowed to configure the screen brightness. screenBrightness must be set. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above.

ScreenTimeoutMode

API reference: displaySettings.screenTimeoutSettings.screenTimeoutMode

Type: enum

Controls whether the user is allowed to configure the screen timeout.

Options

Option Enum Description
Default SCREEN_TIMEOUT_MODE_UNSPECIFIED Unspecified. Defaults to SCREEN_TIMEOUT_USER_CHOICE.
Allow user to set SCREEN_TIMEOUT_USER_CHOICE The user is allowed to configure the screen timeout. screenTimeout must not be set.
Set Fixed SCREEN_TIMEOUT_ENFORCED The screen timeout is set to screenTimeout and the user is not allowed to configure the timeout. screenTimeout must be set. Supported on Android 9 and above on fully managed devices. A NonComplianceDetail with API_LEVEL is reported if the Android version is less than 9. Supported on work profiles on company-owned devices on Android 15 and above.

Summary

Use the General Policy Component to:

✔ Control screen and power behavior
✔ Restrict microphone and user actions
✔ Manage updates and time settings
✔ Improve device security
✔ Standardize device behavior

This is one of the most important components for setting a consistent experience across all managed devices.