Как разработка пользовательского приложения Android DPC связана с API управления Android?
Я новичок в мире корпоративной разработки Android, и у меня есть некоторое представление о том, как разные части в корпоративной экосистеме Android связаны друг с другом. Позволь мне объяснить.
Решение, которое я пытаюсь найти, - это возможность заблокировать устройство в режиме киоска как удаленно, так и на основе бизнес-логики, даже если пользователь находится в автономном режиме. Я начал исследовать EMM и особенно API управления Android, чтобы решить эту проблему. Я смог удаленно заблокировать устройство в режиме киоска с помощью API. Шаги, которые я предпринимаю, следующие
- Сброс настроек устройства Android
- Добраться до экрана, где пользователю необходимо ввести свои учетные данные
- Вместо реальных учетных данных я ввожу afw#setup
- Устройство переходит в режим рабочего профиля и устанавливается политика устройства Android
- Я создаю токен регистрации в API управления (шаги для этого описаны в кратком руководстве
- Я генерирую QR-код и сканирую его, используя устройство сброса к заводским настройкам, как только мне предлагают
- Устройство будет связано с предприятием, и я успешно смогу управлять им и перевести устройство в режим киоска, создав специальную политику режима киоска и исправив устройство, чтобы оно соответствовало этой политике, используя комбинацию политики исправлений (для создания политика) и API-интерфейсы исправления устройства.
Следующим шагом было выяснение способа блокировки устройства в режиме киоска, даже когда пользователь находится в автономном режиме. Я предполагаю, что это произойдет, создав приложение корпоративного пользовательского DPC (контроллер политики устройства) для Android. Я предположил, что, прочитав следующую документацию, где одним из 3 способов предоставления "одноцелевых" устройств является создание собственного приложения DPC. Вот еще одна цитата из другого URL
Как EMM, вы разрабатываете приложение DPC, которое может использоваться вашими клиентами в сочетании с консолью и сервером EMM. Ваш клиент развертывает DPC на пользовательских устройствах, которыми он управляет. DPC действует как мост между вашей консолью EMM (и сервером) и устройством. Администратор использует консоль EMM для выполнения ряда задач, включая настройку параметров устройства и приложений.
И вот здесь возникают все мои заблуждения. Естественно, возникает первый вопрос - был ли автор предыдущей цитаты, ссылающийся на API управления EMM, когда говорил о консоли и сервере EMM?
Кроме того, есть еще вопросы, на которые я не смог найти ответ
В руководстве по созданию настраиваемого DPC нет упоминания о том, какую роль будет играть EMM API в настраиваемом DPC, и, следовательно, нет места, где я мог бы найти описание того, как именно настраиваемый DPC является мостом между консолью EMM (предположительно, EMM API). а устройство?
Тогда давайте предположим, что я разработал собственное приложение DPC и загрузил его в альфа-канал Google Play. В документации говорится, что во время процесса установки вместо ввода afw#setup мне нужно ввести afw#DPC_NAME, и я не знаю, как сгенерировать это имя? Это идентификатор пакета приложения DPC? Или, может быть, он установлен где-то в настройках Google? Например, Google разработал приложение TestDPC для тестирования корпоративных решений, и я смог пройти описанные выше шаги и ввести afw#testdpc, успешно отсканировать QR-код в файле git readme, и я увидел, что TestDPC установлен и устройство было запущено в режиме рабочего профиля. Итак, я предполагаю, что каким-то образом мне нужно зарегистрировать свой собственный "testdpc" и ввести вместо него afw#my_dpc.
По сути, у меня есть отдельные части, работающие в одиночку, и я хочу сформировать более широкую картину, чтобы понять, как соединить эти части вместе.
Спасибо за ваши ответы
ОБНОВЛЕНИЕ 1:
Сегодня я нашел способ превратить пользовательский DPC в владельца устройства без прохождения NFC или другого процесса подготовки. Это особенно полезно для целей разработки. Перейдите по этой ссылке для получения инструкций. Это экономит много времени, и, в моем случае, мы все еще ждем одобрения Google, но, наконец, мы можем начать тестировать некоторые вещи без необходимости процесса пользовательской инициализации.
1 ответ
Существует два различных способа управления устройствами Android:
Новый способ: API управления Android. Это способ, рекомендованный Google, и он значительно проще, чем старый, вам не нужно вызывать другие API или создавать собственные DPC. Если ваш сценарий использования не учитывается этим API, вы можете отправить отзыв в Google, чтобы они могли добавить отсутствующие функции.
Старый способ: использование пользовательских DPC. Для этого вам необходимо:
- создать собственный DPC,
- зарегистрируйте свой пользовательский DPC в Google, присоединившись к сообществу EMM (так вы получите afw#DPC_NAME),
- используйте Google Play EMM API для установки приложений.
В документации вы - разработчик, использующий эти API - называетесь "EMM". "Сервер EMM" означает сервер, которым вы владеете и который вызывает эти API, а "консоль EMM" относится к консоли пользовательского интерфейса, которую вы предоставляете своим ИТ-администраторам, если таковые имеются.
https://developer.android.com/work/dpc/build-dpc
Внимание! Android Enterprise больше не принимает новые регистрации для настраиваемых контроллеров политик устройств (DPC). Учить больше.
Привет @Fred!
Я нашел эту информацию выше по указанному пути. У меня есть несколько вопросов по поводу вышеупомянутого разговора.
Если мы используем API управления Android для разработки EMM, нам не нужно внедрять приложение Custom DPC?
Можем ли мы зарегистрировать учетную запись в сообществе EMM с помощью приложения Custom DPC?
Можно ли использовать пользовательское приложение DPC с API управления Android?