Отправьте отзыв о приложении в EMM

Поставщики управления корпоративной мобильностью (EMM) предлагают организациям решения для управления устройствами Android и установленными на них приложениями. Эти решения обычно доступны в виде веб-консолей, называемых консолями EMM . Используя консоль EMM, ИТ-администраторы выполняют задачи по управлению устройствами и приложениями от имени своей организации.

Приложения, предназначенные для корпоративных организаций, могут отправлять отзывы EMM в виде состояний приложений с указанием ключей. EMM доступны API-интерфейсы для получения данных о состоянии приложения с ключами, которые они затем могут отображать в своей консоли EMM. Этот канал связи позволяет ИТ-администраторам получать отзывы о состоянии приложений, установленных на устройствах, которыми они управляют.

Например, клиентское приложение электронной почты может использовать состояния приложения с ключами для подтверждения того, что учетная запись была успешно настроена, сообщать о возникновении ошибок синхронизации или отправлять любые другие обновления статуса, которые разработчик приложения считает целесообразными.

Компоненты состояния приложения с ключом

Состояние приложения с ключом состоит из следующего:

  • Ключ: уникальный идентификатор состояния приложения. Максимум 100 символов.
  • Сообщение: необязательное сообщение, описывающее состояние приложения. Максимум 1000 символов. Примечание. Обычно сообщения должны быть значительно короче этого значения.
  • Данные: дополнительное машиночитаемое значение, предназначенное для EMM и позволяющее ИТ-администраторам настраивать оповещения или фильтры на основе этого значения. Например, ИТ-администратор может настроить оповещение, если поле данных battery_percentage < 10 . Максимум 1000 символов.
  • Серьезность: серьезность состояния приложения. Допустимые значения: SEVERITY_ERROR и SEVERITY_INFO (по умолчанию). Устанавливайте серьезность SEVERITY_ERROR только для реальных ошибок, для исправления которых организации необходимо принять меры.
  • Временная метка: когда задано состояние приложения с ключом, оно автоматически отправляется с отметкой времени в миллисекундах с момента начала.

Отправить отзыв об управляемых конфигурациях

Если ваше приложение поддерживает управляемые конфигурации , рекомендуется отправлять состояния приложения с ключами, чтобы информировать ИТ-администраторов о состоянии установленных ими конфигураций. В следующем примере рабочего процесса описан один из способов сделать это.

ключевые состояния приложения для управляемых конфигураций
  1. ИТ-администраторы используют консоль EMM для установки и отправки управляемых конфигураций для приложения, установленного на полностью управляемом устройстве или внутри рабочего профиля . Например:
    • Объем: «50%»
    • Валюта: 'USDD'
  2. Приложение пытается применить конфигурации. Объем успешно установлен на 50 %, но код валюты недействителен и не может быть применен.
  3. В зависимости от статуса каждой конфигурации приложение устанавливает ключевое состояние приложения. Каждое состояние приложения с ключом содержит уникальный ключ и сообщение с подробными сведениями о состоянии. Мы рекомендуем по возможности сопоставлять ключ управляемой конфигурации. Например:
    Ключ Сообщение Серьезность Временная метка
    volume Установите на 50 % SEVERITY_INFO 1554461130
    currency Валюта «USDD» не распознается SEVERITY_ERROR 1554461130
  4. Поставщик 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())
    

Ява

    Collection states = 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);

Тестовые состояния приложения с ключами

Подробные инструкции по тестированию см. в разделе Тестирование отзывов о приложении .