Фреймворк MDM Policy
Управление мобильными устройствами (Mobile device management, MDM) является важным требованием для многих сценариев использования, позволяя ограничивать или контролировать функциональность конкретного устройства или парка устройств различными способами или в ответ на определённые события (например, в случае утери или кражи устройства).
ОС Аврора предоставляет фреймворк MDM. Разработанные с его помощью приложения (далее — MDM-приложения) позволяют применять ограничительные политики, а также в ручном режиме включать, отключать или вызывать конкретные функциональные возможности устройства.
Использование фреймворка MDM
Программный интерфейс фреймворка MDM состоит из двух отдельных аспектов. Первый аспект
предоставляется библиотекой libsailfishpolicy
и состоит из политик, которые определяют, может ли
пользователь изменять определённые настройки или получать доступ к определённым функциям. Второй
аспект предоставляется библиотекой libsailfishmdm
и состоит из конкретных функциональных
возможностей системы, которые предлагаются приложениям MDM, но могут или не могут быть доступны
через другие системные API.
Для использования данных библиотек приложения MDM должны использовать файлы pkgconfig
sailfishpolicy.pc
и sailfishmdm.pc
, соответственно.
Например, в проекте на основе qmake
:
CONFIG += link_pkgconfig
PKGCONFIG += sailfishpolicy sailfishmdm
API политики ОС Аврора
API политики ОС Аврора позволяет приложению MDM задавать текущие политики для конкретных параметров или функций. Например, приложение MDM может запретить пользователю изменять настройки GPS.
Есть несколько четко определённых типов политик, которые полностью реализуются libsailfishpolicy
(то
есть установка значения политики для одного из этих типов приведёт к определённым побочным эффектам,
возникающим на устройстве, которое обеспечивает соблюдение политики). Эти типы политик доступны
через класс Sailfish::PolicyValue, а
Sailfish::AccessPolicy предоставляет удобный API. Интерфейс
Sailfish::AccessPolicyPlugin существует для написания плагинов
управления политиками доступа.
Для более безопасного способа применения некоторых аппаратных политик, например, для доступа к аппаратным датчикам, есть класс Sailfish::HardwareSwitchValue. Данный API позволяет управлять аппаратными переключателями, если он поддерживается устройством.