Поставщики управления корпоративной мобильностью (EMM) предлагают организациям решения для управления устройствами Android и установленными на них приложениями. Эти решения обычно доступны в виде веб-консолей, называемых консолями EMM . Используя консоль EMM, ИТ-администраторы выполняют задачи по управлению устройствами и приложениями от имени своей организации.
Приложения, предназначенные для корпоративных организаций, могут отправлять отзывы EMM в виде состояний приложений с указанием ключей. EMM доступны API-интерфейсы для получения данных о состоянии приложения с ключами, которые они затем могут отображать в своей консоли EMM. Этот канал связи позволяет ИТ-администраторам получать отзывы о состоянии приложений, установленных на устройствах, которыми они управляют.
Например, клиентское приложение электронной почты может использовать состояния приложения с ключами для подтверждения того, что учетная запись была успешно настроена, сообщать о возникновении ошибок синхронизации или отправлять любые другие обновления статуса, которые разработчик приложения считает целесообразными.
Компоненты состояния приложения с ключом
Состояние приложения с ключом состоит из следующего:
- Ключ: уникальный идентификатор состояния приложения. Максимум 100 символов.
- Сообщение: необязательное сообщение, описывающее состояние приложения. Максимум 1000 символов. Примечание. Обычно сообщения должны быть значительно короче этого значения.
- Данные: дополнительное машиночитаемое значение, предназначенное для EMM и позволяющее ИТ-администраторам настраивать оповещения или фильтры на основе этого значения. Например, ИТ-администратор может настроить оповещение, если поле данных
battery_percentage < 10
. Максимум 1000 символов. - Серьезность: серьезность состояния приложения. Допустимые значения:
SEVERITY_ERROR
иSEVERITY_INFO
(по умолчанию). Устанавливайте серьезностьSEVERITY_ERROR
только для реальных ошибок, для исправления которых организации необходимо принять меры. - Временная метка: когда задано состояние приложения с ключом, оно автоматически отправляется с отметкой времени в миллисекундах с момента начала.
Отправить отзыв об управляемых конфигурациях
Если ваше приложение поддерживает управляемые конфигурации , рекомендуется отправлять состояния приложения с ключами, чтобы информировать ИТ-администраторов о состоянии установленных ими конфигураций. В следующем примере рабочего процесса описан один из способов сделать это.
- ИТ-администраторы используют консоль EMM для установки и отправки управляемых конфигураций для приложения, установленного на полностью управляемом устройстве или внутри рабочего профиля . Например:
- Объем: «50%»
- Валюта: 'USDD'
- Приложение пытается применить конфигурации. Объем успешно установлен на 50 %, но код валюты недействителен и не может быть применен.
- В зависимости от статуса каждой конфигурации приложение устанавливает ключевое состояние приложения. Каждое состояние приложения с ключом содержит уникальный ключ и сообщение с подробными сведениями о состоянии. Мы рекомендуем по возможности сопоставлять ключ управляемой конфигурации. Например:
Ключ Сообщение Серьезность Временная метка volume
Установите на 50 % SEVERITY_INFO
1554461130
currency
Валюта «USDD» не распознается SEVERITY_ERROR
1554461130
- Поставщик EMM получает состояния приложения с ключами, установленные им, и отображает их в своей консоли EMM. Например:
Конфигурация Статус Требуется действие Время Объем Установите на 50 % Нет 5 апреля 2019 г.; 10:45:30 Валюта ОШИБКА: Валюта «USDD» не распознана. Да 5 апреля 2019 г.; 10:45:30 Поставщик EMM также должен явно помечать ИТ-администратора любые полученные состояния
SEVERITY_ERROR
. ИТ-администраторы могут просматривать информацию в своей консоли EMM и принимать меры по исправлению любых ошибок в установленных ими конфигурациях.
Сообщать об устраненных ошибках
После устранения ошибки немедленно отправьте последующее состояние приложения, чтобы EMM не отображали сообщение об ошибке бесконечно. Это последующее состояние должно включать:
- Тот же ключ , что и в исходном сообщении об ошибке.
- Уровень серьезности
SEVERITY_INFO
указывает на то, что состояние не находится в состоянии ошибки и не требует от организации предпринимать какие-либо дальнейшие действия.
Добавьте поддержку ключевых состояний приложения в свое приложение.
Приведенные ниже шаги описывают, как интегрировать состояния приложения с ключами в ваше приложение.
Шаг 1. Добавьте репозиторий Google Maven в файл settings.gradle
.
Добавьте репозиторий Google Maven в качестве местоположения репозитория в файле settings.gradle
вашего проекта, как показано ниже:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() } }
Шаг 2. Добавьте библиотеку отзывов предприятия в файл build.gradle
уровня модуля.
Добавьте следующую зависимость в файл build.gradle
уровня модуля:
dependencies { implementation 'androidx.enterprise:enterprise-feedback:1.0.0' }
Шаг 3. Получите экземпляр KeyedAppStatesReporter
В методе onCreate()
получите и сохраните экземпляр KeyedAppStatesReporter
. Это обеспечивает канал связи между вашим приложением и поставщиками EMM.
Котлин
val reporter = KeyedAppStatesReporter.create(context)
Ява
KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);
Шаг 4. Создайте коллекцию состояний приложения с ключами.
Следуйте рекомендациям, изложенным ниже, при создании состояний приложения с ключами:
- Никогда не включайте личную информацию (PII) в состояние — состояния приложений с ключами не подходят для конфиденциальных данных.
- Сохраняйте состояния приложений с ключами в пределах, определенных в
MAX_KEY_LENGTH
,MAX_MESSAGE_LENGTH
иMAX_DATA_LENGTH
. - Один вызов
setStates
илиsetStatesImmediate
ограничен общим объемом 300 КБ (примерно 1/3 от общего объема, который может быть сохранен в день). Превышение этого значения приведет к неопределенному поведению. - Устанавливайте серьезность состояния
SEVERITY_ERROR
только в том случае, если существует условие, для устранения которого организации необходимо принять меры. - Отправляя состояние приложения, содержащее ошибки, убедитесь, что вы также отправляете последующее состояние, когда ошибки будут устранены, чтобы EMM мог перестать отмечать ошибки в своей консоли.
- Для последующего состояния используйте тот же ключ , что и для исходного состояния, которое вернуло ошибку, и установите серьезность
SEVERITY_INFO
.
В приведенном ниже фрагменте создается коллекция состояний приложения с ключами:
Котлин
val states = hashSetOf(KeyedAppState.builder() .setKey("key") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("message") .setData("data") .build())
Ява
Collectionstates = new HashSet<>(); states.add(KeyedAppState.builder() .setKey("key") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("message") .setData("data") .build());
Шаг 5. Установите состояния приложения с ключами
Метод setStates()
немедленно отправляет состояния приложения с ключами в приложение Play Store (имя пакета: com.android.vending
), если оно установлено на устройстве, а также всем администраторам устройства или рабочего профиля.
Котлин
keyedAppStatesReporter.setStates(states)
Ява
keyedAppStatesReporter.setStates(states);