Создание MDM-приложения с ускоренной активацией
Данная статья содержит информацию о деталях реализации MDM-приложения с ускоренной активацией.
Содержание:
Реализация ускоренной активации
Для того, чтобы MDM-приложение при первом включении могло получить активационные данные через механизм ускоренной активации в Startup Wizard, нужно:
- Предустановить MDM-приложение на прошивку.
Установка выполняется с помощью механизма
vendor-data, который позволяет автоматически устанавливать приложения при загрузке ОС. - Указать при помощи MDM-приложения формат конфигурации в сервис managed-configuration.
Данный сервис хранит и изменяет настройки приложений.
См. Передача начальных данных в
managed-configuration. - C помощью сервиса
managed-configurationполучить от ОС активационные данные в указанном формате и произвести активацию. - По завершении активации выставить нужный статус в
managed-configuration. См. Обработка последующих данных.
Передача начальных данных в managed-configuration
Для получения начальных данных от сервиса managed-configuration MDM-приложение должно декларировать поддержку переменной-структуры с названием "AuroraOS":
{
"AuroraOS": {
"ActivationType": "<Activation-Type>",
"InitialData": "<contents-of-PROVISIONING_ADMIN_EXTRAS_BUNDLE>",
"ActivationStatus": "<Activation-Status>",
}
}
Структура содержит три поля:
ActivationType— строка с типом активации.InitialData— .json-объект с начальными данными.ActivationStatus— статус ускоренной активации для считывания операционной системой. По умолчанию должен иметь значениеWaitingForInitialDataдля старта ускоренной активации.
В сценарии активации из StartupWizard ActivationType содержит значение suw.
Значение поля InitialData ОС заполняет содержимым android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE из QR-кода, где данные QR-кода имеют следующий вид:
{
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": { // активационные данные
"SomeActivationDataField": "SomeActivationDataContent",
...
},
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://link-to-mdm-app", // в рамках текущего сценария ускоренной активации не нужно, используется в активации через настройки
"aurora.app.extra.PROVISIONING_DEVICE_ADMIN_APP_ID": "ru.mdm.app.name", // имя мдм приложения
"android.app.extra.PROVISIONING_WIFI_SSID": "MyNetworkId", // имя сети
"android.app.extra.PROVISIONING_WIFI_PASSWORD": "MyPassword", // пароль
"android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE": "WPA" // тип сети
}
Обработка последующих данных
При получении данных MDM-приложение должно их обработать и провести активацию.
После завершения активации следует очистить поля ActivationType и InitialData и заполнить поле ActivationStatus для определения дальнейших действий ОС.
В следующей таблице перечислены значения поля ActivationStatus в соответствии с ожидаемыми действиями ОС:
| Значение | Описание | Действия ОС |
|---|---|---|
WaitingForInitialData |
MDM-приложение ожидает передачи типа активации в поле ActivationType и активационных данных в поле InitialData |
Сканирование QR-кода |
InProgress |
MDM-приложение выполняет активацию и применяет политики | Завершение StartupWizard не разрешено При следующей загрузке StartupWizard переходит в режим ускоренной активации Повторное считывание QR-кода не выполняется. При необходимости повторной отправки активационных данных MDM-приложение должно поменять статус на WaitingForInitialData либо ActivationError |
ActivationError |
В процессе активации MDM-приложения произошла ошибка | Пользователю выдаётся сообщение об ошибке и происходит возврат к сканированию QR-кода При следующей загрузке StartupWizard переходит в режим сканирования QR-кода |
CompleteAndPermitShutdown |
MDM-приложение подключено к серверу и применило политики с сервера | ОС уведомляет пользователя о том, что устройство активировано и выполняет переход на страничку, с которой администратор может выключить устройство При следующей загрузке StartupWizard не переходит в режим ускоренной активации |
CompleteAndPermitLogin |
MDM-приложение подключено к серверу и применило политики с сервера, при этом блокировка администратора не требуется | ОС уведомляет пользователя о том, что устройство активировано и переходит на страничку, переход с которой позволяет залогиниться администратору При следующей загрузке StartupWizard не переходит в режим ускоренной активации |
FailedAndPermitLogin |
MDM-приложение не смогло завершить активацию и дальнейшие попытки не имеют смысла | ОС уведомляет пользователя о том, что ускоренная активация не выполнена и продолжить её невозможно При следующей загрузке StartupWizard не переходит в режим ускоренной активации |