Существует несколько способов подготовки устройств. Бизнес-требования ваших клиентов определяют, какие методы обеспечения вы захотите использовать.
Основы подготовки устройств
Сценарии развертывания подготовки устройств, которые хотят поддерживать ваши клиенты (например, BYOD или принадлежащие компании), определяют режимы работы, которые вы будете использовать (например, режим владельца устройства или режим владельца профиля). Аналогичным образом, режимы работы и версии Android, которые вам необходимо поддерживать, определяют, какие методы подготовки вы будете реализовывать.
Сценарии развертывания
В сценарии развертывания, принадлежащего компании , предприятие владеет и полностью контролирует устройства, которые используют ее сотрудники. Обычно организации развертывают корпоративные устройства, когда им необходимо строго контролировать и управлять всем устройством.
Компании, поддерживающие сценарий развертывания BYOD, позволяют своим сотрудникам приносить на работу личные устройства и использовать эти устройства для доступа к конфиденциальной информации и приложениям компании.
Режимы работы
Развертывания, принадлежащие компании, поддерживаются режимом работы владельца устройства . В Android ваше приложение для управления называется контроллером политики устройства (DPC). ЦОД применяет политики на устройстве под управлением Android и, выступая в роли владельца устройства, управляет всем устройством. Как владелец устройства, ЦОД может выполнять действия на уровне устройства, такие как настройка подключения на уровне устройства, настройка глобальных параметров и выполнение сброса настроек до заводских.
Развертывания BYOD поддерживаются режимом работы владельца профиля . Через ЦОД предприятие позволяет использовать персональные устройства в работе, добавляя рабочий профиль к основной учетной записи пользователя на устройстве. Рабочий профиль связан с основным пользователем, но как отдельный профиль. Как владелец профиля, ЦОД управляет только рабочим профилем на устройстве и имеет ограниченный контроль за пределами рабочего профиля.
Методы подготовки владельца устройства
Вы должны настроить режим работы владельца устройства во время первоначальной настройки нового устройства или после сброса настроек к заводским настройкам. Режим владельца устройства нельзя настроить на устройстве в любое другое время.
В зависимости от варианта использования существует два основных типа обеспечения режима владельца устройства.
- В потоке , управляемом устройствами , ИТ-администраторы могут использовать NFC для подготовки большого количества устройств. Этот процесс можно использовать для сценариев управляемого аккаунта Google Play или Google Workspace.
- В процессе , управляемом пользователем , параметры зависят от того, использует ли организация Google Workspace.
- В сценарии Google Workspace пользователь добавляет свою учетную запись Google во время первоначальной настройки устройства, и ЦОД должен помочь пользователю выполнить действия по настройке владельца устройства. Поток, управляемый пользователем, может помочь конечным пользователям настроить новые устройства, а также является альтернативой, когда устройства не поддерживают NFC.
- Если организация не использует Google Workspace, вам следует использовать метод управляемых учетных записей Google Play .
Примечание. Если вы ограничиваете распространение своего приложения в Google Play определенными странами, эти ограничения игнорируются во время подготовки владельца устройства. DPC будет загружен, даже если устройство находится за пределами целевой страны.
Методы предоставления владельца профиля
Рекомендуемый метод настройки режима работы владельца профиля зависит от того, использует ли организация Google Workspace.
- В случае с Google Workspace рекомендуемым методом является управляемый пользователем процесс, при котором пользователь добавляет свою учетную запись Google , а DPC помогает пользователю выполнить действия по настройке владельца профиля.
- Если организация не использует Google Workspace, рекомендуемым методом является метод управляемых аккаунтов Google Play .
Также поддерживается традиционный метод, при котором пользователю предлагается вручную установить DPC . Он предполагает, что пользователь загрузит ваш DPC из Google Play и установит его, а затем DPC проведет пользователя через остальную часть процесса настройки владельца профиля.
Ключевые различия в подготовке в разных версиях Android
Сценарий развертывания | Режим работы | Метод обеспечения | 5.0, 5.1 | 6.0, позже | 7.0, позже |
---|---|---|---|---|---|
Принадлежащий компании | Владелец устройства | QR-код | ✓ | ||
Управляемые аккаунты Google Play | ✓ | ✓ | |||
Аккаунт Google | ✓ | ✓ | |||
НФК | ✓ | ✓ | ✓ | ||
BYOD | Владелец профиля | Управляемые аккаунты Google Play | ✓ | ✓ | ✓ |
Аккаунт Google | 5,1 1 | ✓ | ✓ | ||
Ручная установка ЦОД | ✓ | ✓ | ✓ |
Общие соображения по реализации
Вот некоторые вещи, которые следует учитывать при написании вашего DPC , независимо от того, какой режим работы вы реализуете.
Совместимость сервисов Google Play
Руководство по APK-сервисам Google Play рекомендует разработчикам выполнять проверку версий сервисов Google Play перед выполнением транзакций API. Поскольку попытка обновления служб Google Play приводит к серьезным сбоям в процессе настройки устройства, ваш ЦОД не должен пытаться обновить службы Google Play до завершения подготовки устройства.
Ключевые моменты совместимости DPC с сервисами Google Play:
- ЦОД должен работать с использованием сервисов Google Play, поставляемых с конкретным устройством.
- ЦОД не должен полагаться на новые функции будущих версий сервисов Google Play, которые будут доступны во время подготовки устройства.
Когда подготовка устройства завершена, ЦОД может предложить пользователю обновить сервисы Google Play, чтобы ЦОД мог использовать новейшие функции. Однако если какая-либо функция по какой-либо причине недоступна, ЦОД должен корректно вернуться к версии, поставляемой с устройством.
Получить сведения об устройстве
Из-за задержек распространения может пройти до 2 минут, прежде чем вызов devices.get для вновь зарегистрированного устройства вернет сведения об устройстве.
Если ваш рабочий процесс требует получения подробной информации, прежде чем конечный пользователь сможет использовать устройство или рабочий профиль, мы предлагаем использовать экран прогресса в вашем ЦОД и дождаться успешного вызова.
Рекомендации по реализации режима владельца профиля
Вот некоторые вещи, которые следует учитывать при написании DPC для реализации режима работы владельца профиля.
Удалить или отключить персональный ЦОД
При настройке режима работы владельца профиля ЦОД запускается в личном профиле и инициирует процесс создания рабочего профиля. После создания рабочего профиля ЦОД также работает внутри рабочего профиля. ЦОД в рабочем профиле завершает процесс подготовки. В этот момент DPC в личном профиле должен отключиться или пользователь устройства должен удалить его.
Пользователь удаляет персональный ЦОД
- Персональный ЦОД прослушивает
ACTION_MANAGED_PROFILE_PROVISIONED
. (Для устройств Android 5.1 персональный ЦОД должен вместо этого прослушиватьACTION_MANAGED_PROFILE_ADDED
). - Персональный центр обработки данных инициирует запрос на удаление
ACTION_UNINSTALL_PACKAGE
. Это предложит пользователю удалить персональный ЦОД. Для удобства пользователей процесс удаления должен происходить во время процесса подготовки.
Персональный ЦОД отключается сам
- Персональный ЦОД прослушивает
ACTION_MANAGED_PROFILE_PROVISIONED
. (Для устройств Android 5.1 персональный ЦОД должен вместо этого прослушиватьACTION_MANAGED_PROFILE_ADDED
). - Если применимо, персональный ЦОД должен освободить права администратора устройства, прежде чем отключиться.
- Персональный центр обработки данных инициирует запрос на отключение
setApplicationEnabledSetting
с параметромCOMPONENT_ENABLED_STATE_DISABLED
. - Пользователь может повторно включить персональный ЦОД из Google Play.
Рекомендации по реализации режима владельца устройства
Вот некоторые вещи, которые следует учитывать при написании ЦОД для реализации режима работы владельца устройства.
Устройство должно быть новым или иметь сброс настроек к заводским настройкам.
Вы должны настроить режим работы владельца устройства во время первоначальной настройки нового устройства или после сброса настроек к заводским настройкам. Режим владельца устройства нельзя настроить на устройстве в любое другое время.
Режим владельца устройства дает ЦОД полный контроль над устройством. Если предоставление режима владельца устройства после первоначальной настройки было разрешено:
- Вредоносное ПО потенциально может создать владельца устройства и захватить его.
- Проблемы с конфиденциальностью могут возникнуть, если на устройстве уже есть какие-то пользовательские данные или приложения.
Настраивайте режим владельца устройства только на корпоративных устройствах
Режим владельца устройства следует настраивать только на тех устройствах, которые, по вашему мнению, принадлежат компании вашего клиента. Вы можете убедиться в этом, определив уникальный идентификатор устройства (например, серийный номер) или используя выделенный набор учетных записей, которым разрешена регистрация устройств в соответствии с вашей политикой EMM.
Если вы не можете подтвердить право собственности компании на устройство, необходимо создать отказоустойчивый механизм, чтобы режим владельца устройства не был включен по ошибке. Например, вы можете предложить пользователю устройства подтвердить или предпринять какое-либо положительное действие перед предоставлением режима владельца устройства.
Включить системные приложения
Когда ЦОД предоставляет рабочий профиль, любые системные приложения без значков запуска считаются критически важными для устройства, и им автоматически разрешается запускаться в рабочем профиле. Системные приложения, имеющие значки запуска, считаются необязательными, и вы можете решить, включать ли их.
Включите системные приложения через Google Play
Включить системные приложения с помощью Google Play легко, и пользователи получают обновления приложений по мере их доступности.
Включите системные приложения с помощью API-интерфейсов платформы Android.
Если вы хотите, чтобы пользователи видели системные приложения, как только они начнут использовать свои устройства, включите системные приложения в рамках процесса подготовки устройств. DPC включает системные приложения по имени пакета или по намерению с помощью DevicePolicyManager.enableSystemApp()
.
Есть несколько способов определить системные приложения, которые вы хотите включить и представить в консоли EMM ИТ-администраторам.
Создание каталогов системных приложений
В этом методе каждое устройство определяет, какие приложения установлены на нем, и отправляет эти данные обратно в консоль EMM. Консоль EMM динамически отображает эти данные при создании политики устройства, что позволяет ИТ-администратору управлять приложениями отдельно для каждого приложения.
Если рабочий профиль еще не подготовлен на устройстве, извлеките список всех приложений со значками запуска на устройстве с помощью
queryIntentActivities()
:private List<ResolveInfo> getAppsWithLauncher() { Intent i = new Intent(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_LAUNCHER); return getPackageManager().queryIntentActivities(i, 0); }
Если рабочий профиль уже подготовлен на устройстве, извлеките список всех приложений в рабочем профиле с помощью
PackageManager.GET_DISABLED_COMPONENTS
иPackageManager.GET_UNINSTALLED_PACKAGES
.Найдите системные приложения в списке приложений, проверив
FLAG_SYSTEM
, который указывает, установлено ли приложение в образе системы устройства.
Плюсы:
- Предоставляет ИТ-администраторам полную картину приложений на всех устройствах.
- Обеспечивает детальный контроль над тем, какие приложения включены.
Минусы:
- Поскольку каждое устройство имеет свой каталог приложений, трудно применить модель единой конфигурации политики к нескольким типам устройств.
- ИТ-администраторам может быть сложно представить объем приложений, специфичных для OEM-производителей, в понятной форме.
Классифицировать системные приложения по функциональности
Когда ИТ-администратор хочет включить системное приложение для группы устройств, он выбирает универсальное приложение в зависимости от его функциональности; например, «Системный браузер». Затем ЦОД разрешает все системные приложения для этой цели.
Плюсы:
- Простое и функциональное обеспечение для ИТ-администраторов.
- Обеспечивает согласованную функциональность на различных устройствах (по крайней мере, для распространенных случаев использования).
Минусы:
- Ограничивает системные приложения теми, которые поддерживаются на всех типах устройств.
- ИТ-администраторы могут захотеть использовать одну OEM-версию приложения (например, браузер Samsung®), но не другую (например, браузер LG®).
- ИТ-администраторы, возможно, не захотят запускать несколько приложений, но они не могут предотвратить это, если имеется несколько обработчиков намерений.
Поддержка только одобренных системных приложений
Вы работаете с OEM-производителем, чтобы определить конкретные OEM-пакеты и поддерживать только эти пакеты в консоли EMM. Это также позволяет вам каталогизировать управляемые конфигурации для OEM-приложения, о которых иначе вы не узнали бы, поскольку OEM-приложение не размещено в Google Play.
Плюсы:
- Значительно упрощает рабочий процесс интеграции и устраняет крайние случаи, которые являются проблематичными в первых двух вариантах.
- Вы можете внести в каталог управляемые конфигурации OEM-приложения и представить их в консоли EMM для ИТ-администраторов.
- Обеспечивает тесные отношения с OEM-производителями для поддержки флагманских устройств.
Минусы:
- Менее масштабируема и, как следствие, уменьшает потребительский выбор.
Тестовые сценарии для вашего ЦОДа
Test DPC — это приложение с открытым исходным кодом, предоставляемое Google для тестирования корпоративных возможностей вашего приложения DPC. Тестовый ЦОД доступен на github или Google Play . Вы можете использовать Test DPC для:
- Имитировать функции в Android
- Устанавливайте и применяйте политики
- Установите ограничения для приложений и намерений
- Настройка рабочих профилей
- Настройка полностью управляемых устройств Android
Хотя Test DPC предназначен в первую очередь для тестирования вашего корпоративного решения для Android, вы также можете использовать его в качестве источника примера кода для функций Android.
Настройка подготовки
Во время подготовки устройства пользовательский интерфейс системы отображает цвет по умолчанию в строке состояния и логотип по умолчанию в верхней части экрана. Установите собственные цвета и логотипы, чтобы обеспечить единообразный визуальный переход между вашим ЦОД и интерфейсом системы, или разрешите администраторам делать это с помощью консоли EMM. Например, администратор может загрузить логотип компании или настроить внешний вид экранов, на которых отображаются уведомления.
Ваш ЦОД обеспечивает выбор цвета и логотипа с помощью дополнительных параметров DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR
и DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI
.
Чтобы установить собственный цвет , используйте EXTRA_PROVISIONING_MAIN_COLOR
, чтобы установить целое число, указывающее преобладающий цвет, который будет отображаться во время подготовки устройства. Поместите дополнительную (константу) в намерение с помощью ACTION_PROVISION_MANAGED_PROFILE
или ACTION_PROVISION_MANAGED_DEVICE
.
Чтобы узнать, как представляются целые числа, см. Цвет . Пример см. в MAIN_COLOR
в приложении TestDPC.
Чтобы установить собственный логотип , используйте EXTRA_PROVISIONING_LOGO_URI
, чтобы задать изображение, которое будет отображаться в верхней части экрана во время подготовки устройства. Поместите дополнительную (константу) в намерение с помощью ACTION_PROVISION_MANAGED_PROFILE
или ACTION_PROVISION_MANAGED_DEVICE
. Убедитесь, что изображение имеет достаточную плотность пикселей для устройства.
Пример см. в LOGO_URI
в приложении TestDPC.
Метод QR-кода
Метод предоставления QR-кода устанавливает и настраивает режим владельца устройства путем сканирования QR-кода в мастере настройки. QR-код содержит полезную нагрузку пар ключ-значение со всей информацией, необходимой ЦОД для подготовки устройства.
Ваша консоль EMM должна предоставлять ИТ-администраторам возможность создавать QR-коды для устройств, которые они хотят подготовить. ИТ-администратор отправляет QR-коды своим конечным пользователям, а конечные пользователи настраивают свои устройства, сканируя QR-коды.
Варианты использования для предоставления QR-кода
Некоторые устройства, например планшеты, не поддерживают NFC. Предоставление QR-кода — это удобный способ предоставить распределенный парк устройств, не поддерживающих NFC. ИТ-администратор может отправлять QR-коды своим пользователям, чтобы разрешить настройку на основе пользователей.
Для предоставления QR-кода не требуется удостоверение личности Google, например домен Google или учетная запись Google. Организации, которые используют Android, но не используют Google Workspace, не имеют удостоверения Google.
Как и NFC, предоставление QR-кода позволяет использовать киоски и одноразовые развертывания, где идентификатор Google (или любой идентификатор) не требуется или нежелателен. Например, киоск в магазине никому не принадлежит и не должен иметь удостоверения конечного пользователя.
Создать QR-код
Действительным QR-кодом для предоставления QR-кода является строка нотации объектов JavaScript® (JSON) в кодировке UTF-8. Вы можете включить эти свойства в действительный QR-код:
Всегда требуется
Требуется, если ЦОД еще не установлен на устройстве.
-
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION
-
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
Рекомендуется, если устройство еще не подключено к Wi-Fi.
Необязательный
-
EXTRA_PROVISIONING_LOCALE
-
EXTRA_PROVISIONING_TIME_ZONE
-
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
-
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER
-
EXTRA_PROVISIONING_LOCAL_TIME
-
EXTRA_PROVISIONING_WIFI_HIDDEN
-
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
-
EXTRA_PROVISIONING_WIFI_PROXY_HOST
-
EXTRA_PROVISIONING_WIFI_PROXY_PORT
-
EXTRA_PROVISIONING_WIFI_PROXY_BYPASS
-
EXTRA_PROVISIONING_WIFI_PAC_URL
-
EXTRA_PROVISIONING_SKIP_ENCRYPTION
В этом примере создается действительный QR-код:
{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.emm.android/com.emm.android.DeviceAdminReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"https://path.to/dpc.apk",
"android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
"android.app.extra.PROVISIONING_WIFI_SSID": "GuestNetwork",
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {
"dpc_company_name": "Acme Inc.",
"emm_server_url": "https://server.emm.biz:8787",
"another_custom_dpc_key": "dpc_custom_value"
}
}
Процесс предоставления QR-кода
- Мастер настройки предложит пользователю коснуться экрана приветствия 6 раз. Нажатия должны выполняться в одном и том же месте экрана.
- Мастер установки предложит пользователю подключиться к Интернету, чтобы мастер установки мог загрузить программу для чтения QR-кодов.
- Сервисы Google Play загружают модуль, содержащий механизм распознавания QR-кода.
- Пользователь сканирует QR-код, предоставленный своим ИТ-администратором.
- Мастер установки загружает ваше приложение DPC и инициирует процесс подготовки владельца устройства с помощью
ACTION_PROVISION_MANAGED_DEVICE
.
Метод управляемых аккаунтов Google Play
ЦОД может использовать метод подготовки управляемых учетных записей Google Play для настройки режима владельца устройства или режима владельца профиля. Этот метод подготовки предназначен для организаций, которые не используют Google Workspace.
Метод подготовки управляемых учетных записей Google Play использует библиотеку поддержки DPC . Эта клиентская библиотека обеспечивает бесперебойную работу управляемых учетных записей Google Play. Он также поддерживает совместимость с будущими обновлениями процесса подготовки управляемых учетных записей Google Play.
Предварительные требования для подготовки устройств
- Идентификатор предприятия создается и регистрируется с идентификатором EMM, а ESA задается, как описано в разделе Создание и регистрация предприятия .
- Фирменный стиль пользователя известен вашей консоли EMM.
- Пользователь может войти в приложение DPC, используя учетные данные, принятые вашей консолью EMM (обычно учетные данные корпоративной электронной почты).
Настройка режима владельца профиля
Вы можете настроить режим работы владельца профиля на устройстве, которое используется в сценарии BYOD, как личное устройство.
- Пользователь вручную скачивает ваш ЦОД из Google Play и запускает его.
- ЦОД подготавливает рабочий профиль с помощью
ACTION_PROVISION_MANAGED_PROFILE
. - Выполните заключительные шаги настройки .
Настройка режима владельца устройства
Вы должны указать режим работы владельца устройства во время первоначальной настройки нового устройства или после сброса настроек к заводским настройкам. Режим владельца устройства нельзя настроить на устройстве в любое другое время.
Во время настройки устройства пользователь вводит специальный токен, специфичный для DPC, когда ему предлагается добавить учетную запись. Токен имеет формат afw#DPC_IDENTIFIER
. Для EMM с именем ACME afw#acme
установит DPC по умолчанию для ACME EMM. Каждый EMM должен запросить у Google определенный идентификатор DPC, прежде чем он сможет использовать его в процессе подготовки.
- Пользователь включает новое устройство или устройство с восстановленными заводскими настройками, и запускается мастер настройки.
- При появлении запроса на добавление учетной записи пользователь вводит специальный токен в формате
afw#DPC_IDENTIFIER
, который идентифицирует ЦОД для вашего EMM. - Используя идентификатор DPC в токене, мастер настройки добавляет на устройство временную учетную запись Google. Эта временная учетная запись используется только для загрузки DPC для вашего EMM из Google Play и удаляется на заключительных этапах настройки .
- ЦОД подготавливает устройство с помощью
ACTION_PROVISION_MANAGED_DEVICE
. - Выполните заключительные шаги настройки .
Заключительные этапы настройки для всех режимов работы
Выполняйте эти действия только после завершения начальных действий по настройке режима владельца профиля или режима владельца устройства.
ЦОД гарантирует, что устройство может поддерживать управляемые учетные записи Google Play, инициализируя библиотеку поддержки ЦОД:
AndroidForWorkAccountSupport androidForWorkAccountSupport = new AndroidForWorkAccountSupport(context, admin); androidForWorkAccountSupport.ensureWorkingEnvironment(callback);
Если вы настраиваете на устройстве режим владельца устройства, на этом этапе удаляется временная учетная запись Google, добавленная для загрузки DPC.
Пользователь входит в ЦОД, используя свои учетные данные EMM. Обычно это учетные данные корпоративной электронной почты.
ЦОД запрашивает учетные данные управляемой учетной записи Google Play для аутентифицированного корпоративного пользователя из консоли EMM.
Если в консоли EMM нет
userId
пользователя Google Play, новый пользователь создается путем вызоваUsers.insert()
. Если вы подготавливаете режим владельца устройства, укажите учетную запись устройства (для развертываний выделенных устройств) или учетную запись пользователя (для развертываний, принадлежащих компании).Установите политику устройства, вызвав
Devices.update
. Вам следует установить политику перед добавлением управляемой учетной записи Google Play на устройство, в противном случае политика не будет применяться в течение короткого периода времени после добавления учетной записи на устройство.Консоль EMM запрашивает учетные данные для
userId
вызываяUsers.generateAuthenticationToken()
. Этот токен аутентификации недолговечен и не может быть использован повторно. ЦОД должен использовать токен для программного добавления учетной записи (конечному пользователю это бесполезно).API EMM Google Play возвращает токен аутентификации в консоль EMM.
Консоль EMM пересылает токен аутентификации в ЦОД.
ЦОД добавляет управляемую учетную запись Google Play на устройство, используя
androidForWorkAccountSupport.addAndroidForWorkAccount(token, accountAddedCallback);
Метод аккаунта Google
ЦОД может использовать метод подготовки учетной записи Google для настройки режима владельца устройства или режима владельца профиля. При использовании метода подготовки учетной записи Google DPC проводит пользователя через этапы подготовки после того, как пользователь добавляет свою учетную запись Google во время первоначальной настройки устройства.
Когда пользователь вводит данные своей учетной записи Google:
- Сервер аутентификации Google проверяет подлинность учетной записи пользователя.
- Затем сервер аутентификации связывается с корпоративным сервером, чтобы узнать, зарегистрирован ли домен учетной записи как домен Google Workspace или как домен, управляемый EMM.
- Если это так, система автоматически загружает связанный с доменом ЦОД из Google Play и устанавливает его.
Настройка режима владельца профиля
Вы можете настроить режим работы владельца профиля во время первоначальной настройки устройства или когда пользователь добавляет учетную запись, используя «Настройки» > «Добавить учетную запись» .
- Аутентификация учетной записи запускается пользователем из мастера настройки или из меню «Настройки» > «Добавить учетную запись» .
- GMSCore инициирует подготовку рабочего профиля, используя
ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE
. - DPC автоматически загружается на устройство и запускается с помощью обработчика
ACTION_GET_PROVISIONING_MODE
, чтобы убедиться, что подготовка рабочего профиля поддерживается DPC.-
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
— дополнительная информация для рабочего профиля, например адрес электронной почты. ЦОД также получит здесь is_setup_wizard как часть этого пакета. Этот пакет будет включен в обработчикиACTION_GET_PROVISIONING_MODE
иACTION_ADMIN_POLICY_COMPLIANCE
. -
EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE
— имя проверенной учетной записи, которую необходимо перенести в новый рабочий профиль.
-
- Платформа осуществляет настройку рабочего профиля.
- Когда рабочий профиль подготовлен, ЦОД получает широковещательную рассылку
ACTION_PROFILE_PROVISIONING_COMPLETE
. ОбработчикACTION_ADMIN_POLICY_COMPLIANCE
ЦОД запускается в рабочем профиле. После создания рабочего профиля ЦОД также работает внутри рабочего профиля. Центр обработки данных распространяет политики для этой управляемой учетной записи Google, гарантирует, что устройство не находится в скомпрометированном состоянии, и проверяет соблюдение политик (например, требование пароля). - ЦОД в личном профиле отключается сам или пользователь его удаляет .
![](https://developers-dot-devsite-v2-prod.appspot.com/static/android/work/images/post-suw.png?authuser=8&hl=ru)
Настройка режима владельца устройства или COPE
Вы должны указать режим работы владельца устройства во время первоначальной настройки нового устройства или после сброса настроек к заводским настройкам. Режим владельца устройства нельзя добавить на устройство в любое другое время.
- Аутентификация учетной записи запускается пользователем из мастера настройки.
- GMSCore инициирует подготовку владельца устройства с помощью
ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE
. 3. ЦОД автоматически загружается на устройство и запускается с помощью обработчикаGET_PROVISIONING_MODE
для выбора желаемого режима обеспечения.-
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
— дополнительная информация для рабочего профиля, такая как локаль, Wi-Fi, адрес электронной почты. ЦОД также получит здесь is_setup_wizard как часть этого пакета. Этот пакет будет включен в обработчикиACTION_GET_PROVISIONING_MODE
иACTION_ADMIN_POLICY_COMPLIANCE
.
-
- Платформа переводит устройство в желаемый режим подготовки.
- Когда устройство подготовлено, ЦОД получает эти широковещательные сообщения и запускается обработчик
ACTION_ADMIN_POLICY_COMPLIANCE
ЦОД: - ЦОД использует значение
Global.DEVICE_PROVISIONED
для проверки того, что устройство новое или имеет сброс настроек (неподготовленное):- 0 — Неподготовлено.
- 1 — Предусмотрено.
- Центр обработки данных завершает процесс подготовки, распространяя политики для этого управляемого устройства, гарантируя, что устройство не находится в скомпрометированном состоянии, и проверяя соблюдение политик (например, требование пароля).
![](https://developers-dot-devsite-v2-prod.appspot.com/static/android/work/images/in-suw.png?authuser=8&hl=ru)
Рекомендации по реализации метода учетной записи Google
ЦОД должен обнаружить поток аутентификации учетной записи Google, проверив определенные дополнительные сведения в использованном намерении запуска (см.
LaunchIntentUtil
):- Учетная запись типа
android.accounts.Account
— указывает, что учетная запись была добавлена из мастера настройки или из меню «Настройки» > «Добавить учетную запись» , для чего требуется запущенный ЦОД для управления устройством или профилем. -
is_setup_wizard
типа Boolean — если это правда, DPC был запущен в мастере настройки до завершения мастера настройки, в противном случае — из «Настройки» > «Добавить учетную запись» или другого потока.
Проверка того, был ли запущен ЦОД в рамках метода аккаунта Google:
boolean isSynchronousAuthLaunch(Intent launchIntent) { return launchIntent.hasExtra("is_setup_wizard"); }
- Учетная запись типа
ЦОД не должен вызывать
finish()
до завершения установки. Он также должен возвращать положительный код результата (например,RESULT_OK
), поскольку DPC запускается с помощьюstartActivityForResult()
и ожидает результата.ЦОД должен дождаться кода результата от процесса подготовки перед вызовом
finish()
если поток установки ЦОД достигает точки отправки намеренияACTION_PROVISION_*
. Используйте обратные вызовыstartActivityForResult()
иonActivityResult()
при запуске намеренийACTION_PROVISION_*
. (Примеры см.LaunchActivity
иSetupSyncAuthManagement
).Из-за потенциально асинхронного характера процесса установки центр обработки данных не может полагаться на код результата
RESULT_OK
, чтобы указать, что подготовка прошла успешно. Единственный гарантированный способ — полагаться на обратные вызовыDeviceAdminReceiver
при успешной подготовке.RESULT_CANCELED
указывает, что пользователь отказался от выполнения синхронной части потока настройки, и ЦОД должен отреагировать на это.В этом примере ЦОД запускает подготовку и ожидает код результата от действия:
Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE); startActivityForResult(intent, REQUEST_MANAGED_PROFILE); ... @Override public void onActivityResult(int req, int res, Intent i) { if (req == REQUEST_MANAGED_PROFILE) { if (res == Activity.RESULT_OK) { setResult(Activity.RESULT_OK); finish(); } else { Toast.makeText(this, “Provisioning failed”, Toast.LENGTH_SHORT).show(); } } }
ЦОД не должен пытаться настроить режим работы владельца устройства, если устройство уже подготовлено (см.
ProvisioningStateUtil.isDeviceProvisioned()
). В этом примере ЦОД проверяет, подготовлено ли устройство:public static boolean isDeviceProvisioned(Context context) { ContentResolver cr = context.getContentResolver(); return Settings.Global.getInt(cr, DEVICE_PROVISIONED, 0) != 0; }
Необязательный. ЦОД может использовать дополнительный
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
при запуске подготовки для передачи информации о состоянии обратно в свойDeviceAdminReceiver
(который в случае владельца профиля выполняется внутри рабочего профиля). TestDPC использует эту дополнительную возможность для ввода другого набора действий в поток учетной записи Google после завершения подготовки. Подробности см.DeviceAdminReceiver
.public class DeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver { @Override public void onProfileProvisioningComplete(Context context, Intent intent) { // Retrieve the admin extras bundle, which we can use to determine the original context for // Test DPC's launch. PersistableBundle extras = intent.getParcelableExtra( EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE); ...
Чтобы настроить рабочий профиль, ЦОД должен перенести добавленную учетную запись в новый рабочий профиль. Для этого ЦОД должен передать учетную запись, указанную в намерении запуска для
ACTION_PROVISION_MANAGED_PROFILE
.ЦОД должен предоставить пользователю четкий призыв к действию (например, кнопку «Готово») для выхода из приложения в конце настройки, чтобы пользователь не думал, что зашел в тупик в потоке.
ЦОД должен использовать тему или библиотеку макетов мастера настройки, чтобы взаимодействие с пользователем было плавным и хорошо интегрированным.
NFC-метод
ЦОД может использовать метод обеспечения NFC для настройки режима владельца устройства. В методе подготовки NFC или теге NFC вы создаете приложение программатора NFC, которое содержит исходные политики, а также конфигурацию, настройки и сведения о настройке Wi-Fi, необходимые вашему клиенту для настройки режима работы владельца устройства. Когда вы или ваш клиент устанавливаете приложение программатора NFC на устройство под управлением Android, это устройство становится программатором.
Чтобы подготовить устройство, ИТ-администратор достает новое устройство из коробки и прижимает его к программирующему устройству или метке NFC. Bump передает конфигурации на устройство, чтобы оно могло подключиться к Интернету и загрузить соответствующие политики и настройки. Затем устройство управляется вашим ЦОД.
После подготовки устройства Google Play в течение короткого времени отображает неуправляемый потребительский контент вместо утвержденных приложений и коллекций, которые должны отображаться. Эта задержка может длиться от нескольких минут до часа.
Создайте приложение NFC-программатора и устройство-программатор.
На устройствах с Android 10 или более ранней версии можно использовать Android Beam для выполнения настройки NFC:
- Загрузите образец приложения NFC-программатора . Вы можете использовать образец как есть без дополнений или изменить его в соответствии со значениями по умолчанию.
- Установите приложение программатора на выбранное устройство.
- Запустите приложение NFC-программатора и выберите « Загрузить настройки по умолчанию для
com.example.android.apis
. (Этот текст может различаться в зависимости от установленных вами параметров по умолчанию.)
Предоставление устройства клиента
- Замените устройство программатора или метку NFC новым устройством или устройством, для которого были выполнены заводские настройки.
- Убедитесь, что устройство остается на начальном экране приветствия , который отображается при его запуске. Текст указывается в
Ready to send:{...}
в приложении программатора. - Подождите, пока ЦОД:
- Шифрует устройство.
- Если это устройство множественного доступа с кодовым разделением каналов (CDMA): активирует телефон, когда отображается пользовательский интерфейс телефонии (взаимодействия не требуется).
- Настраивает соединение Wi-Fi.
- Загружает APK-файл для com.example.android.apis.
- Устанавливает com.example.android.apis.
- Устанавливает администратора образца устройства в com.example.android.apis в качестве владельца устройства.
- Показывает всплывающее сообщение об успехе при активации владельца устройства.
- Вернувшись на домашнюю страницу (мастер настройки пропускается автоматически), убедитесь, что com.example.android.apis установлен в качестве владельца устройства:
- В разделе «Настройки» > «Безопасность» > «Администраторы устройства» убедитесь, что администратора образца устройства нельзя удалить.
- В разделе «Настройки» > «Пользователи» > «Пользователи и профили» > «Вы (владелец)» убедитесь, что «Владелец» является единственной доступной учетной записью (одновременно у устройства может быть только один активный владелец устройства).
Дополнительные ресурсы
Расширенный NFC описывает такие темы, как работа с различными технологиями тегов, запись в теги NFC и диспетчеризация на переднем плане.
Ручной метод установки ЦОД
Чтобы настроить режим владельца профиля с помощью метода установки DPC вручную, пользователь загружает ваш DPC из Google Play и устанавливает его. Затем ЦОД проводит пользователя через остальную часть процесса настройки владельца профиля для управляемой учетной записи Google.
ЦОД может добавить управляемую учетную запись Google до или после создания рабочего профиля. Например, ЦОД может создать рабочий профиль на основе учетных данных пользователя EMM вместо предварительного запроса управляемой учетной записи Google.
Настройка режима владельца профиля
Сначала добавьте управляемый аккаунт Google
- Пользователь скачивает ваш ЦОД из Google Play и устанавливает его.
- ЦОД добавляет управляемую учетную запись Google перед созданием рабочего профиля с помощью
AccountManager.addAccount()
. - ЦОД запускается в личном профиле и инициирует процесс создания рабочего профиля, используя:
-
ACTION_PROVISION_MANAGED_PROFILE
— предоставляет рабочий профиль. -
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
— дополнительная информация для рабочего профиля, такая как локаль, Wi-Fi, адрес электронной почты. -
EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE
— имя проверенной учетной записи, которую необходимо перенести в новый рабочий профиль.
-
- ЦОД в рабочем профиле завершает процесс подготовки. После создания рабочего профиля ЦОД также работает внутри рабочего профиля. Центр обработки данных в рабочем профиле завершает процесс подготовки, распространяя политики для этой управляемой учетной записи Google, гарантируя, что устройство не находится в скомпрометированном состоянии, и проверяя соблюдение политик (например, требование пароля).
- Когда рабочий профиль подготовлен, ЦОД получает широковещательную рассылку
ACTION_PROFILE_PROVISIONING_COMPLETE
. - ЦОД в личном профиле отключается сам или пользователь его удаляет .
![](https://developers-dot-devsite-v2-prod.appspot.com/static/android/work/images/google_acct_first.png?authuser=8&hl=ru)
Сначала создайте рабочий профиль
- Пользователь скачивает ваш ЦОД из Google Play и устанавливает его.
- ЦОД запускается в личном профиле и инициирует процесс создания рабочего профиля, используя:
-
ACTION_PROVISION_MANAGED_PROFILE
— предоставляет рабочий профиль. -
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
— дополнительная информация для рабочего профиля, такая как локаль, Wi-Fi, адрес электронной почты.
-
- ЦОД добавляет управляемую учетную запись Google с помощью
AccountManager.addAccount()
. - ЦОД получает широковещательную рассылку
ACTION_PROFILE_PROVISIONING_COMPLETE
и считываетEXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
. - ЦОД в рабочем профиле завершает процесс подготовки. После создания рабочего профиля ЦОД также работает внутри рабочего профиля. Центр обработки данных в рабочем профиле завершает процесс подготовки, распространяя политики для этой управляемой учетной записи Google, гарантируя, что устройство не находится в скомпрометированном состоянии, и проверяя соблюдение политик (например, требование пароля).
- ЦОД включает рабочий профиль с помощью
DevicePolicyManager.setProfileEnabled()
. - ЦОД в личном профиле отключается сам или пользователь его удаляет .
![](https://developers-dot-devsite-v2-prod.appspot.com/static/android/work/images/work_profile_first.png?authuser=8&hl=ru)
Метод учетной записи Google в Android 5.1 поддерживает только режим работы владельца профиля, и пользователь может настроить его только в меню «Настройки» > «Добавить учетную запись» . ↩