MCP Tools Reference: Android Device Management MCP Server

Инструмент: list_devices

Отображает список устройств для данного предприятия. Необходимо указать идентификатор предприятия в родительском поле (например, enterprises/{enterpriseId}).

В следующем примере показано, как использовать curl для вызова инструмента MCP list_devices .

Запрос Curl
                  
curl --location 'https://androidmanagement.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_devices",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Схема ввода

Запрос на составление списка устройств для данного предприятия.

ListDevicesRequest

JSON-представление
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string
}
Поля
parent

string

Название предприятия в формате enterprises/{enterpriseId} .

pageSize

integer

Запрашиваемый размер страницы. Если не указан, будет возвращено не более 10 устройств. Максимальное значение — 100; значения выше 100 будут преобразованы в 100. Ограничения могут меняться со временем.

pageToken

string

Токен, идентифицирующий страницу результатов, возвращенных сервером.

Схема вывода

Ответ на запрос о предоставлении списка устройств для данного предприятия.

ListDevicesResponse

JSON-представление
{
  "devices": [
    {
      object (Device)
    }
  ],
  "nextPageToken": string
}
Поля
devices[]

object ( Device )

Список устройств.

nextPageToken

string

Если результатов больше, токен для перехода на следующую страницу результатов.

Устройство

JSON-представление
{
  "name": string,
  "userName": string,
  "managementMode": enum (ManagementMode),
  "state": enum (DeviceState),
  "appliedState": enum (DeviceState),
  "policyCompliant": boolean,
  "nonComplianceDetails": [
    {
      object (NonComplianceDetail)
    }
  ],
  "enrollmentTime": string,
  "lastStatusReportTime": string,
  "lastPolicyComplianceReportTime": string,
  "lastPolicySyncTime": string,
  "policyName": string,
  "appliedPolicyName": string,
  "appliedPolicyVersion": string,
  "apiLevel": integer,
  "enrollmentTokenData": string,
  "enrollmentTokenName": string,
  "disabledReason": {
    object (UserFacingMessage)
  },
  "softwareInfo": {
    object (SoftwareInfo)
  },
  "hardwareInfo": {
    object (HardwareInfo)
  },
  "displays": [
    {
      object (Display)
    }
  ],
  "applicationReports": [
    {
      object (ApplicationReport)
    }
  ],
  "previousDeviceNames": [
    string
  ],
  "networkInfo": {
    object (NetworkInfo)
  },
  "memoryInfo": {
    object (MemoryInfo)
  },
  "memoryEvents": [
    {
      object (MemoryEvent)
    }
  ],
  "powerManagementEvents": [
    {
      object (PowerManagementEvent)
    }
  ],
  "hardwareStatusSamples": [
    {
      object (HardwareStatus)
    }
  ],
  "deviceSettings": {
    object (DeviceSettings)
  },
  "user": {
    object (User)
  },
  "systemProperties": {
    string: string,
    ...
  },
  "securityPosture": {
    object (SecurityPosture)
  },
  "ownership": enum (Ownership),
  "commonCriteriaModeInfo": {
    object (CommonCriteriaModeInfo)
  },
  "appliedPasswordPolicies": [
    {
      object (PasswordRequirements)
    }
  ],
  "dpcMigrationInfo": {
    object (DpcMigrationInfo)
  },
  "defaultApplicationInfo": [
    {
      object (DefaultApplicationInfo)
    }
  ]
}
Поля
name

string

Название устройства в формате enterprises/{enterpriseId}/devices/{deviceId} .

userName

string

Имя ресурса пользователя, которому принадлежит это устройство, в формате enterprises/{enterpriseId}/users/{userId} .

managementMode

enum ( ManagementMode )

Тип режима управления, который используется политикой Android Device Policy на устройстве. Это влияет на то, какие параметры политики поддерживаются.

state

enum ( DeviceState )

Состояние, которое необходимо применить к устройству. Это поле можно изменить с помощью запроса на исправление. Обратите внимание, что при вызове enterprises.devices.patch допустимы только значения ACTIVE и DISABLED . Чтобы перевести устройство в состояние DELETED , вызовите enterprises.devices.delete .

appliedState

enum ( DeviceState )

Текущее состояние, к которому относится данное устройство.

policyCompliant

boolean

Соответствует ли устройство установленным правилам.

nonComplianceDetails[]

object ( NonComplianceDetail )

Подробная информация о настройках политики, которым устройство не соответствует.

enrollmentTime

string ( Timestamp format)

Время регистрации устройства.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

lastStatusReportTime

string ( Timestamp format)

В последний раз устройство отправляло отчет о состоянии.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

lastPolicyComplianceReportTime
(deprecated)

string ( Timestamp format)

Устарело.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

lastPolicySyncTime

string ( Timestamp format)

В последний раз устройство получило свою политику.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

policyName

string

Название политики, применяемой к устройству, в формате enterprises/{enterpriseId}/policies/{policyId} . Если не указано, применяется policy_name для пользователя устройства. Это поле может быть изменено запросом на исправление. При вызове enterprises.devices.patch можно указать только policyId , при условии, что policyId не содержит косых черт. Остальная часть названия политики определяется автоматически.

appliedPolicyName

string

Название политики, которая в настоящее время применяется к устройству.

appliedPolicyVersion

string ( int64 format)

Версия политики, применяемая в данный момент к устройству.

apiLevel

integer

Уровень API версии платформы Android, работающей на устройстве.

enrollmentTokenData

string

Если устройство было зарегистрировано с помощью регистрационного токена с предоставленными дополнительными данными, это поле содержит эти данные.

enrollmentTokenName

string

Если устройство было зарегистрировано с помощью регистрационного токена, в этом поле содержится имя токена.

disabledReason

object ( UserFacingMessage )

Если состояние устройства — DISABLED , на устройстве отображается необязательное сообщение, указывающее причину отключения устройства. Это поле можно изменить, отправив запрос на обновление.

softwareInfo

object ( SoftwareInfo )

Подробная информация о программном обеспечении устройства. Эта информация доступна только в том случае, если в политике устройства softwareInfoEnabled имеет значение true.

hardwareInfo

object ( HardwareInfo )

Подробная информация об аппаратном обеспечении устройства.

displays[]

object ( Display )

Подробная информация о дисплеях устройства. Эта информация доступна только в том случае, если в политике устройства displayInfoEnabled имеет значение true.

applicationReports[]

object ( ApplicationReport )

Отчеты по приложениям, установленным на устройстве. Эта информация доступна только в том случае, если в политике устройства application_reports_enabled имеет значение true.

previousDeviceNames[]

string

Если одно и то же физическое устройство было зарегистрировано несколько раз, в этом поле содержатся имена предыдущих устройств. Серийный номер используется в качестве уникального идентификатора для определения того, было ли это же физическое устройство зарегистрировано ранее. Имена расположены в хронологическом порядке.

networkInfo

object ( NetworkInfo )

Информация о сети устройства. Эта информация доступна только в том случае, если в политике устройства networkInfoEnabled имеет значение true.

memoryInfo

object ( MemoryInfo )

Информация о памяти: содержит сведения о памяти и хранилище устройства.

memoryEvents[]

object ( MemoryEvent )

События, связанные с измерениями памяти и хранилища, в хронологическом порядке. Эта информация доступна только в том случае, если в политике устройства memoryInfoEnabled имеет значение true.

События сохраняются в течение определенного периода времени, а старые события удаляются.

powerManagementEvents[]

object ( PowerManagementEvent )

События управления питанием на устройстве отображаются в хронологическом порядке. Эта информация доступна только в том случае, если в политике устройства powerManagementEventsEnabled имеет значение true.

hardwareStatusSamples[]

object ( HardwareStatus )

Примеры состояния оборудования в хронологическом порядке. Эта информация доступна только в том случае, если в политике устройства hardwareStatusEnabled имеет значение true.

deviceSettings

object ( DeviceSettings )

Информация о настройках устройства. Эта информация доступна только в том случае, если в политике устройства параметр deviceSettingsEnabled имеет значение true.

user

object ( User )

Пользователь, которому принадлежит устройство.

systemProperties

map (key: string, value: string)

Карта выбранных системных свойств (имя и значение), относящихся к устройству. Эта информация доступна только в том случае, если в политике устройства systemPropertiesEnabled имеет значение true.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

securityPosture

object ( SecurityPosture )

Значение показателя уровня безопасности устройства, отражающее степень его защищенности.

ownership

enum ( Ownership )

Право собственности на управляемое устройство.

commonCriteriaModeInfo

object ( CommonCriteriaModeInfo )

Информация о режиме общих критериев — стандартах безопасности, определенных в Общих критериях оценки безопасности информационных технологий (CC).

Эта информация доступна только в том случае, если в политике устройства statusReportingSettings.commonCriteriaModeEnabled имеет true , и устройство принадлежит компании.

appliedPasswordPolicies[]

object ( PasswordRequirements )

В настоящее время к устройству применяются следующие требования к паролю.

  • Это поле существует потому, что применяемые требования в некоторых случаях могут незначительно отличаться от требований, указанных в passwordPolicies .
  • Обратите внимание, что это поле не содержит информации о соответствии паролей требованиям. Информацию о несоответствии требованиям см. в nonComplianceDetails .
  • Поле NonComplianceDetail.fieldPath устанавливается на основе passwordPolicies , а не на основе этого поля.
dpcMigrationInfo

object ( DpcMigrationInfo )

Только вывод. Информация о том, было ли данное устройство перенесено из-под управления другого контроллера политик устройств (DPC).

defaultApplicationInfo[]

object ( DefaultApplicationInfo )

Только вывод. Информация о приложении по умолчанию для DefaultApplicationType . Эта информация доступна только в том случае, если в политике устройства установлено значение true для defaultApplicationInfoReportingEnabled . Доступно в Android 16 и выше.

Все типы приложений отображаются на полностью управляемых устройствах. Типы DEFAULT_BROWSER , DEFAULT_CALL_REDIRECTION , DEFAULT_CALL_SCREENING и DEFAULT_DIALER отображаются для рабочих профилей на корпоративных устройствах с рабочим профилем и на личных устройствах. DEFAULT_WALLET также отображается для корпоративных устройств с рабочим профилем, но будет включать только информацию о рабочем профиле.

Детали несоответствия

JSON-представление
{
  "settingName": string,
  "nonComplianceReason": enum (NonComplianceReason),
  "packageName": string,
  "fieldPath": string,
  "currentValue": value,
  "installationFailureReason": enum (InstallationFailureReason),
  "specificNonComplianceReason": enum (SpecificNonComplianceReason),
  "specificNonComplianceContext": {
    object (SpecificNonComplianceContext)
  }
}
Поля
settingName

string

Название параметра политики. Это имя поля верхнего уровня в Policy JSON.

nonComplianceReason

enum ( NonComplianceReason )

Причина, по которой устройство не соответствует настройкам.

packageName

string

Название пакета, указывающее, какое приложение не соответствует требованиям, если таковое имеется.

fieldPath

string

Для настроек с вложенными полями, если какое-либо вложенное поле не соответствует требованиям, указывается полный путь к проблемному полю. Путь форматируется так же, как и поле JSON политики в JavaScript, а именно: 1) Для полей типа object имя поля сопровождается точкой, а затем именем подполя. 2) Для полей типа array имя поля сопровождается индексом массива, заключенным в скобки. Например, чтобы указать на проблему с полем url в поле externalData в третьем приложении, путь будет выглядеть так: applications[2].externalData.url

currentValue

value ( Value format)

Если параметр политики не удалось применить, используется текущее значение параметра на устройстве.

installationFailureReason

enum ( InstallationFailureReason )

Если package_name задан, а причина несоответствия — APP_NOT_INSTALLED или APP_NOT_UPDATED , то будет указана подробная причина, по которой приложение не может быть установлено или обновлено.

specificNonComplianceReason

enum ( SpecificNonComplianceReason )

Причина, специфичная для данной политики, по которой устройство не соответствует настройкам.

specificNonComplianceContext

object ( SpecificNonComplianceContext )

Дополнительный контекст для specific_non_compliance_reason .

Ценить

JSON-представление
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Поля
kind поля объединения. Тип значения. kind может быть только одним из следующих:
nullValue

null

Представляет собой нулевое значение.

numberValue

number

Представляет собой значение типа double.

stringValue

string

Представляет собой строковое значение.

boolValue

boolean

Представляет собой логическое значение.

structValue

object ( Struct format)

Представляет собой структурированное значение.

listValue

array ( ListValue format)

Представляет собой повторяющееся Value .

Структура

JSON-представление
{
  "fields": {
    string: value,
    ...
  }
}
Поля
fields

map (key: string, value: value ( Value format))

Неупорядоченная карта динамически типизированных значений.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Ввод полей

JSON-представление
{
  "key": string,
  "value": value
}
Поля
key

string

value

value ( Value format)

ListValue

JSON-представление
{
  "values": [
    value
  ]
}
Поля
values[]

value ( Value format)

Повторяющееся поле с динамически типизированными значениями.

Конкретный контекст несоответствия

JSON-представление
{
  "oncWifiContext": {
    object (OncWifiContext)
  },
  "passwordPoliciesContext": {
    object (PasswordPoliciesContext)
  },
  "defaultApplicationContext": {
    object (DefaultApplicationContext)
  }
}
Поля
oncWifiContext

object ( OncWifiContext )

Дополнительная информация о нарушениях, связанных с конфигурацией Wi-Fi. См. ONC_WIFI_INVALID_VALUE и ONC_WIFI_API_LEVEL

passwordPoliciesContext

object ( PasswordPoliciesContext )

Дополнительная информация о нарушениях, связанных с политикой паролей. См. PASSWORD_POLICIES_PASSWORD_EXPIRED и PASSWORD_POLICIES_PASSWORD_NOT_SUFFICIENT .

defaultApplicationContext

object ( DefaultApplicationContext )

Только вывод. Дополнительный контекст для случаев несоответствия, связанных с настройками приложения по умолчанию. См. DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE .

OncWifiContext

JSON-представление
{
  "wifiGuid": string
}
Поля
wifiGuid

string

GUID несовместимой конфигурации Wi-Fi.

PasswordPoliciesContext

JSON-представление
{
  "passwordPolicyScope": enum (PasswordPolicyScope)
}
Поля
passwordPolicyScope

enum ( PasswordPolicyScope )

Область применения несоответствующих паролей.

DefaultApplicationContext

JSON-представление
{
  "defaultApplicationScope": enum (DefaultApplicationScope)
}
Поля
defaultApplicationScope

enum ( DefaultApplicationScope )

Только для вывода. Область действия несоответствующих настройкам приложения по умолчанию.

Отметка времени

JSON-представление
{
  "seconds": string,
  "nanos": integer
}
Поля
seconds

string ( int64 format)

Обозначает количество секунд UTC-времени с начала эпохи Unix 1970-01-01T00:00:00Z. Должно находиться в диапазоне от -62135596800 до 253402300799 включительно (что соответствует периоду с 0001-01-01T00:00:00Z по 9999-12-31T23:59:59Z).

nanos

integer

Неотрицательные доли секунды с разрешением в наносекунды. Это поле представляет собой наносекундную часть длительности, а не альтернативу секундам. Отрицательные значения секунд с дробными долями должны по-прежнему иметь неотрицательные значения в наносекундах, отсчитываемые вперед во времени. Должны быть в диапазоне от 0 до 999 999 999 включительно.

Пользовательское сообщение

JSON-представление
{
  "localizedMessages": {
    string: string,
    ...
  },
  "defaultMessage": string
}
Поля
localizedMessages

map (key: string, value: string)

Карта, содержащая пары <локаль, сообщение>, где локаль — это корректно сформированный код языка BCP 47 , например, en-US, es-ES или fr.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

defaultMessage

string

Сообщение по умолчанию отображается, если локализованное сообщение не указано или язык пользователя не совпадает ни с одним из локализованных сообщений. Если локализованные сообщения указаны, необходимо указать сообщение по умолчанию.

ЛокализованныеСообщенияВвод

JSON-представление
{
  "key": string,
  "value": string
}
Поля
key

string

value

string

SoftwareInfo

JSON-представление
{
  "androidVersion": string,
  "androidDevicePolicyVersionCode": integer,
  "androidDevicePolicyVersionName": string,
  "androidBuildNumber": string,
  "deviceKernelVersion": string,
  "bootloaderVersion": string,
  "androidBuildTime": string,
  "securityPatchLevel": string,
  "primaryLanguageCode": string,
  "deviceBuildSignature": string,
  "systemUpdateInfo": {
    object (SystemUpdateInfo)
  }
}
Поля
androidVersion

string

Строка с указанием версии Android, видимая пользователю. Например, 6.0.1 .

androidDevicePolicyVersionCode

integer

Код версии приложения Android Device Policy.

androidDevicePolicyVersionName

string

Версия приложения Android Device Policy, отображаемая пользователю.

androidBuildNumber

string

Строка идентификатора сборки Android, предназначенная для отображения пользователю. Например, shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys .

deviceKernelVersion

string

Например, версия ядра: 2.6.32.9-g103d848 .

bootloaderVersion

string

Номер версии загрузчика системы, например, 0.6.7 .

androidBuildTime

string ( Timestamp format)

Время сборки.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

securityPatchLevel

string

Уровень исправлений безопасности, например, 2016-05-01 .

primaryLanguageCode

string

Код языка IETF BCP 47 для основной локали устройства.

deviceBuildSignature

string

Хэш SHA-256 объекта android.content.pm.Signature , связанного с системным пакетом, может использоваться для проверки того, что сборка системы не была изменена.

systemUpdateInfo

object ( SystemUpdateInfo )

Информация о возможном предстоящем обновлении системы.

SystemUpdateInfo

JSON-представление
{
  "updateStatus": enum (UpdateStatus),
  "updateReceivedTime": string
}
Поля
updateStatus

enum ( UpdateStatus )

Статус обновления: существует ли обновление и каков его тип.

updateReceivedTime

string ( Timestamp format)

Время, когда обновление стало доступно. Нулевое значение указывает на то, что это поле не задано. Это поле устанавливается только в том случае, если обновление доступно (то есть, updateStatus не равен ни UPDATE_STATUS_UNKNOWN , ни UP_TO_DATE ).

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

HardwareInfo

JSON-представление
{
  "brand": string,
  "hardware": string,
  "deviceBasebandVersion": string,
  "manufacturer": string,
  "serialNumber": string,
  "model": string,
  "batteryShutdownTemperatures": [
    number
  ],
  "batteryThrottlingTemperatures": [
    number
  ],
  "cpuShutdownTemperatures": [
    number
  ],
  "cpuThrottlingTemperatures": [
    number
  ],
  "gpuShutdownTemperatures": [
    number
  ],
  "gpuThrottlingTemperatures": [
    number
  ],
  "skinShutdownTemperatures": [
    number
  ],
  "skinThrottlingTemperatures": [
    number
  ],
  "enterpriseSpecificId": string,
  "euiccChipInfo": [
    {
      object (EuiccChipInfo)
    }
  ]
}
Поля
brand

string

Марка устройства. Например, Google .

hardware

string

Название оборудования. Например, Angler .

deviceBasebandVersion

string

Версия базовой полосы. Например, MDM9625_104662.22.05.34p .

manufacturer

string

Производитель. Например, Motorola .

serialNumber

string

Серийный номер устройства. Однако для личных устройств под управлением Android 12 и выше это то же самое, что и enterpriseSpecificId .

model

string

Модель устройства. Например, Asus Nexus 7 .

batteryShutdownTemperatures[]

number

Пороговые значения температуры отключения батареи в градусах Цельсия для каждой батареи в устройстве.

batteryThrottlingTemperatures[]

number

Пороговые значения температуры, при которых происходит снижение производительности батареи, в градусах Цельсия для каждой батареи в устройстве.

cpuShutdownTemperatures[]

number

Пороговые значения температуры отключения процессора в градусах Цельсия для каждого процессора на устройстве.

cpuThrottlingTemperatures[]

number

Пороговые значения температуры, определяющие троттлинг процессора, в градусах Цельсия для каждого процессора на устройстве.

gpuShutdownTemperatures[]

number

Пороговые значения температуры отключения графического процессора в градусах Цельсия для каждого графического процессора на устройстве.

gpuThrottlingTemperatures[]

number

Пороговые значения температуры, ограничивающие производительность графического процессора (GPU), в градусах Цельсия для каждого графического процессора на устройстве.

skinShutdownTemperatures[]

number

Пороговые значения температуры отключения устройства при контакте с кожей в градусах Цельсия.

skinThrottlingTemperatures[]

number

Пороговые значения температуры, ограничивающие работу устройства под воздействием внешних факторов, в градусах Цельсия.

enterpriseSpecificId

string

Только для вывода. Идентификатор, однозначно идентифицирующий личное устройство в конкретной организации. На одном и том же физическом устройстве, зарегистрированном в одной и той же организации, этот идентификатор сохраняется при изменении настроек и даже при сбросе до заводских настроек. Этот идентификатор доступен на личных устройствах с рабочим профилем на устройствах под управлением Android 12 и выше.

euiccChipInfo[]

object ( EuiccChipInfo )

Только вывод. Информация, относящаяся к микросхеме eUICC.

EuiccChipInfo

JSON-представление
{
  "eid": string
}
Поля
eid

string

Только для вывода. Встроенный идентификационный документ (EID), который идентифицирует каждый чип eUICC на устройстве. Эта информация доступна на устройствах, принадлежащих компании и работающих под управлением Android 13 и выше.

Отображать

JSON-представление
{
  "name": string,
  "displayId": integer,
  "refreshRate": integer,
  "state": enum (DisplayState),
  "width": integer,
  "height": integer,
  "density": integer
}
Поля
name

string

Название дисплея.

displayId

integer

Уникальный идентификатор дисплея.

refreshRate

integer

Частота обновления дисплея в кадрах в секунду.

state

enum ( DisplayState )

Состояние дисплея.

width

integer

Ширина дисплея в пикселях.

height

integer

Отображение высоты в пикселях.

density

integer

Плотность отображения выражается в точках на дюйм.

Отчет о приложении

JSON-представление
{
  "packageName": string,
  "versionName": string,
  "versionCode": integer,
  "events": [
    {
      object (ApplicationEvent)
    }
  ],
  "displayName": string,
  "packageSha256Hash": string,
  "signingKeyCertFingerprints": [
    string
  ],
  "installerPackageName": string,
  "applicationSource": enum (ApplicationSource),
  "state": enum (ApplicationState),
  "keyedAppStates": [
    {
      object (KeyedAppState)
    }
  ],
  "userFacingType": enum (UserFacingType)
}
Поля
packageName

string

Название пакета приложения.

versionName

string

Версия приложения, отображаемая пользователю.

versionCode

integer

Код версии приложения, который позволяет определить, является ли одна версия более новой, чем другая.

events[]

object ( ApplicationEvent )

Список событий приложения, произошедших за последние 30 часов.

displayName

string

Отображаемое название приложения.

packageSha256Hash

string

Хэш SHA-256 APK-файла приложения, который можно использовать для проверки того, что приложение не было изменено. Каждый байт хэша представлен в виде двухзначного шестнадцатеричного числа.

signingKeyCertFingerprints[]

string

Хэш SHA-1 каждого элемента android.content.pm.Signature , связанного с пакетом приложения. Каждый байт каждого хэш-значения представлен в виде двузначного шестнадцатеричного числа.

installerPackageName

string

Название пакета приложения, которое установило это приложение.

applicationSource

enum ( ApplicationSource )

Источник пакета.

state

enum ( ApplicationState )

Состояние приложения.

keyedAppStates[]

object ( KeyedAppState )

Список состояний приложения, отображаемых при вводе текста.

userFacingType

enum ( UserFacingType )

Приложение ориентировано на пользователя.

Событие приложения

JSON-представление
{
  "eventType": enum (ApplicationEventType),
  "createTime": string
}
Поля
eventType

enum ( ApplicationEventType )

Тип события приложения.

createTime

string ( Timestamp format)

Время создания события.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

KeyedAppState

JSON-представление
{
  "key": string,
  "severity": enum (Severity),
  "message": string,
  "data": string,
  "createTime": string,
  "lastUpdateTime": string
}
Поля
key

string

Ключ состояния приложения. Служит точкой отсчета для определения того, для чего приложение предоставляет состояние. Например, при предоставлении обратной связи по управляемой конфигурации этот ключ может быть ключом управляемой конфигурации.

severity

enum ( Severity )

Степень серьезности состояния приложения.

message

string

При желании можно добавить произвольную строку сообщения, поясняющую состояние приложения. Если состояние было вызвано определенным значением (например, значением управляемой конфигурации), оно должно быть включено в сообщение.

data

string

При желании можно указать машиночитаемое значение для считывания системой EMM. Например, значения, которые администратор может использовать для запросов в консоли EMM (например, «уведомить меня, если значение battery_warning < 10»).

createTime

string ( Timestamp format)

Время создания состояния приложения на устройстве.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

lastUpdateTime

string ( Timestamp format)

Время последнего обновления состояния приложения.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

NetworkInfo

JSON-представление
{
  "imei": string,
  "meid": string,
  "wifiMacAddress": string,
  "networkOperatorName": string,
  "telephonyInfos": [
    {
      object (TelephonyInfo)
    }
  ]
}
Поля
imei

string

IMEI-номер GSM-устройства. Например, A1000031212 .

meid

string

MEID-номер CDMA-устройства. Например, A00000292788E1 .

wifiMacAddress

string

MAC-адрес Wi-Fi устройства. Например, 7c:11:11:11:11:11 .

networkOperatorName
(deprecated)

string

Алфавитное название текущего зарегистрированного оператора. Например, Vodafone.

telephonyInfos[]

object ( TelephonyInfo )

Предоставляет телефонную информацию, связанную с каждой SIM-картой в устройстве. Поддерживается только на полностью управляемых устройствах, начиная с Android API уровня 23.

TelephonyInfo

JSON-представление
{
  "phoneNumber": string,
  "carrierName": string,
  "iccId": string,
  "activationState": enum (ActivationState),
  "configMode": enum (ConfigMode)
}
Поля
phoneNumber

string

Номер телефона, связанный с этой SIM-картой.

carrierName

string

Название оператора связи, связанного с данной SIM-картой.

iccId

string

Только вывод. ICCID, связанный с этой SIM-картой.

activationState

enum ( ActivationState )

Только вывод. Состояние активации SIM-карты на устройстве. Применимо только для eSIM. Поддерживается на всех устройствах с уровнем API 35 и выше. Для физических SIM-карт и устройств с уровнем API ниже 35 всегда значение ACTIVATION_STATE_UNSPECIFIED .

configMode

enum ( ConfigMode )

Только вывод. Режим конфигурации SIM-карты на устройстве. Применимо только для eSIM. Поддерживается на всех устройствах с уровнем API 35 и выше. Для физических SIM-карт и устройств с уровнем API ниже 35 всегда устанавливается CONFIG_MODE_UNSPECIFIED

MemoryInfo

JSON-представление
{
  "totalRam": string,
  "totalInternalStorage": string
}
Поля
totalRam

string ( int64 format)

Общий объем оперативной памяти на устройстве в байтах.

totalInternalStorage

string ( int64 format)

Общий объем внутренней памяти устройства в байтах.

Событие памяти

JSON-представление
{
  "eventType": enum (MemoryEventType),
  "createTime": string,
  "byteCount": string
}
Поля
eventType

enum ( MemoryEventType )

Тип события.

createTime

string ( Timestamp format)

Время создания события.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

byteCount

string ( int64 format)

Количество свободных байтов на носителе или, для параметра EXTERNAL_STORAGE_DETECTED , общая емкость носителя информации в байтах.

Событие управления питанием

JSON-представление
{
  "eventType": enum (PowerManagementEventType),
  "createTime": string,
  "batteryLevel": number
}
Поля
eventType

enum ( PowerManagementEventType )

Тип события.

createTime

string ( Timestamp format)

Время создания события.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

batteryLevel

number

Для событий BATTERY_LEVEL_COLLECTED уровень заряда батареи отображается в процентах.

Состояние оборудования

JSON-представление
{
  "createTime": string,
  "batteryTemperatures": [
    number
  ],
  "cpuTemperatures": [
    number
  ],
  "gpuTemperatures": [
    number
  ],
  "skinTemperatures": [
    number
  ],
  "fanSpeeds": [
    number
  ],
  "cpuUsages": [
    number
  ]
}
Поля
createTime

string ( Timestamp format)

Время проведения измерений.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

batteryTemperatures[]

number

Текущая температура батарей в градусах Цельсия для каждой батареи устройства.

cpuTemperatures[]

number

Текущая температура процессора (в градусах Цельсия) для каждого процессора на устройстве.

gpuTemperatures[]

number

Текущая температура каждого графического процессора на устройстве (в градусах Цельсия).

skinTemperatures[]

number

Текущая температура кожи устройства в градусах Цельсия.

fanSpeeds[]

number

Скорость вращения вентиляторов в об/мин для каждого вентилятора на устройстве. Пустой массив означает отсутствие вентиляторов или неподдерживаемую системой скорость вращения вентиляторов.

cpuUsages[]

number

Использование ЦП в процентах для каждого доступного ядра устройства. Использование равно 0 для каждого отключенного ядра. Пустой массив означает, что использование ЦП не поддерживается в системе.

Настройки устройства

JSON-представление
{
  "isDeviceSecure": boolean,
  "unknownSourcesEnabled": boolean,
  "developmentSettingsEnabled": boolean,
  "adbEnabled": boolean,
  "isEncrypted": boolean,
  "encryptionStatus": enum (EncryptionStatus),
  "verifyAppsEnabled": boolean
}
Поля
isDeviceSecure

boolean

Указывается, защищено ли устройство PIN-кодом/паролем.

unknownSourcesEnabled

boolean

Включена ли возможность установки приложений из неизвестных источников.

developmentSettingsEnabled

boolean

Включен ли режим разработчика на устройстве.

adbEnabled

boolean

Проверяет, включен ли ADB на устройстве.

isEncrypted

boolean

Включено ли шифрование хранилища.

encryptionStatus

enum ( EncryptionStatus )

Статус шифрования из DevicePolicyManager.

verifyAppsEnabled

boolean

Применяется ли на устройстве проверка Google Play Protect .

Пользователь

JSON-представление
{
  "accountIdentifier": string
}
Поля
accountIdentifier

string

Уникальный идентификатор, который вы создаете для этого пользователя, например, user342 или asset#44418 . Это поле должно быть установлено при создании пользователя и не может быть обновлено. Это поле не должно содержать персональные данные. Идентификатор должен содержать не более 1024 символов; в противном случае запрос на обновление политики завершится неудачей.

SystemPropertiesEntry

JSON-представление
{
  "key": string,
  "value": string
}
Поля
key

string

value

string

Позиция безопасности

JSON-представление
{
  "devicePosture": enum (DevicePosture),
  "postureDetails": [
    {
      object (PostureDetail)
    }
  ]
}
Поля
devicePosture

enum ( DevicePosture )

Значение показателя уровня безопасности устройства.

postureDetails[]

object ( PostureDetail )

Дополнительные сведения о состоянии безопасности устройства.

PostureDetail

JSON-представление
{
  "securityRisk": enum (SecurityRisk),
  "advice": [
    {
      object (UserFacingMessage)
    }
  ]
}
Поля
securityRisk

enum ( SecurityRisk )

Конкретный риск безопасности, негативно влияющий на уровень защищенности устройства.

advice[]

object ( UserFacingMessage )

Соответствующие рекомендации для администраторов по снижению этого риска безопасности и повышению уровня защиты устройства.

CommonCriteriaModeInfo

JSON-представление
{
  "commonCriteriaModeStatus": enum (CommonCriteriaModeStatus),
  "policySignatureVerificationStatus": enum (PolicySignatureVerificationStatus)
}
Поля
commonCriteriaModeStatus

enum ( CommonCriteriaModeStatus )

Включен ли режим общих критериев.

policySignatureVerificationStatus

enum ( PolicySignatureVerificationStatus )

Только вывод. Статус проверки подписи политики.

Требования к паролю

JSON-представление
{
  "passwordMinimumLength": integer,
  "passwordMinimumLetters": integer,
  "passwordMinimumLowerCase": integer,
  "passwordMinimumNonLetter": integer,
  "passwordMinimumNumeric": integer,
  "passwordMinimumSymbols": integer,
  "passwordMinimumUpperCase": integer,
  "passwordQuality": enum (PasswordQuality),
  "passwordHistoryLength": integer,
  "maximumFailedPasswordsForWipe": integer,
  "passwordExpirationTimeout": string,
  "passwordScope": enum (PasswordPolicyScope),
  "requirePasswordUnlock": enum (RequirePasswordUnlock),
  "unifiedLockSettings": enum (UnifiedLockSettings)
}
Поля
passwordMinimumLength

integer

Минимально допустимая длина пароля. Значение 0 означает отсутствие ограничений. Применяется только в том случае, если password_quality имеет значение NUMERIC , NUMERIC_COMPLEX , ALPHABETIC , ALPHANUMERIC или COMPLEX .

passwordMinimumLetters

integer

Минимальное количество букв, необходимое для пароля. Это правило применяется только в том случае, если password_quality имеет COMPLEX .

passwordMinimumLowerCase

integer

Минимальное количество строчных букв, необходимых для пароля. Это требование применяется только в том случае, если password_quality имеет значение COMPLEX .

passwordMinimumNonLetter

integer

Минимальное количество символов, не являющихся буквами (цифры или символы), требуемое в пароле. Это правило применяется только в том случае, если password_quality имеет COMPLEX .

passwordMinimumNumeric

integer

Минимальное количество цифр, необходимых для пароля. Это требование применяется только в том случае, если password_quality имеет COMPLEX .

passwordMinimumSymbols

integer

Минимальное количество символов, необходимое в пароле. Это требование применяется только в том случае, если password_quality имеет COMPLEX .

passwordMinimumUpperCase

integer

Минимальное количество заглавных букв, необходимых в пароле. Это требование применяется только в том случае, если password_quality имеет COMPLEX .

passwordQuality

enum ( PasswordQuality )

Требуемое качество пароля.

passwordHistoryLength

integer

Длина истории паролей. После установки этого параметра пользователь не сможет ввести новый пароль, совпадающий с любым паролем из истории. Значение 0 означает отсутствие ограничений.

maximumFailedPasswordsForWipe

integer

Количество неверных паролей разблокировки устройства, которые можно ввести до полного удаления данных с устройства. Значение 0 означает отсутствие ограничений.

passwordExpirationTimeout

string ( Duration format)

Истекло время действия пароля.

Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .

passwordScope

enum ( PasswordPolicyScope )

Область действия требования о наличии пароля.

requirePasswordUnlock

enum ( RequirePasswordUnlock )

Период времени, в течение которого устройство или рабочий профиль разблокируются с использованием надежной формы аутентификации (пароль, PIN-код, графический ключ), после чего их можно разблокировать с использованием любого другого метода аутентификации (например, отпечаток пальца, агенты доверия, распознавание лица). По истечении указанного периода времени для разблокировки устройства или рабочего профиля можно использовать только надежные формы аутентификации.

unifiedLockSettings

enum ( UnifiedLockSettings )

Этот параметр определяет, разрешена ли единая блокировка устройства и рабочего профиля на устройствах под управлением Android 9 и выше с рабочим профилем. Его можно установить только в том случае, если password_scope имеет значение SCOPE_PROFILE ; в противном случае политика будет отклонена. Если пользователь не установил отдельную блокировку для рабочего профиля, и это поле имеет значение REQUIRE_SEPARATE_WORK_LOCK , будет сообщено о NonComplianceDetail с nonComplianceReason установленным в USER_ACTION .

Продолжительность

JSON-представление
{
  "seconds": string,
  "nanos": integer
}
Поля
seconds

string ( int64 format)

Секунды, выраженные знаком, представляют собой промежуток времени. Должны находиться в диапазоне от -315 576 000 000 до +315 576 000 000 включительно. Примечание: эти границы вычисляются по формуле: 60 сек/мин * 60 мин/час * 24 часа/сутки * 365,25 дней/год * 10000 лет

nanos

integer

Доли секунды со знаком, отображаемые с наносекундным разрешением. Длительности менее одной секунды обозначаются полем 0 seconds и положительным или отрицательным значением поля nanos . Для длительностей в одну секунду и более ненулевое значение поля nanos должно иметь тот же знак, что и поле seconds . Должен находиться в диапазоне от -999 999 999 до +999 999 999 включительно.

DpcMigrationInfo

JSON-представление
{
  "previousDpc": string,
  "additionalData": string
}
Поля
previousDpc

string

Только для вывода. Если это устройство было перенесено с другого DPC, это его имя пакета. В противном случае, поле не заполняется.

additionalData

string

Только для вывода. Если это устройство было перенесено с другого DPC, поле additionalData токена миграции заполняется здесь.

DefaultApplicationInfo

JSON-представление
{
  "defaultApplicationType": enum (DefaultApplicationType),
  "packageName": string,
  "defaultApplicationSettingAttempts": [
    {
      object (DefaultApplicationSettingAttempt)
    }
  ]
}
Поля
defaultApplicationType

enum ( DefaultApplicationType )

Только вывод. Тип приложения по умолчанию.

packageName

string

Только вывод. Название пакета текущего приложения по умолчанию.

defaultApplicationSettingAttempts[]

object ( DefaultApplicationSettingAttempt )

Только вывод. Подробная информация о попытках настройки параметров приложения по умолчанию, в том же порядке, что и в defaultApplications .

DefaultApplicationSettingAttempt

JSON-представление
{
  "packageName": string,
  "attemptOutcome": enum (AttemptOutcome)
}
Поля
packageName

string

Только вывод. Название пакета приложения, которое пытались запустить.

attemptOutcome

enum ( AttemptOutcome )

Только результат. Результат установки приложения в качестве приложения по умолчанию.

Аннотации инструментов

Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ✅ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌