Cómo enviar comentarios sobre la app a EMM

Los proveedores de administración de movilidad empresarial (EMM) ofrecen soluciones para las organizaciones para administrar los dispositivos Android y las apps instaladas en ellos. Estas soluciones son normalmente disponibles como consolas web, denominadas consolas de EMM. Usa una EMM de TI, los administradores de TI realizan tareas de administración de dispositivos y apps en nombre de sus organización.

Las apps orientadas a organizaciones empresariales pueden enviar comentarios a EMM en la forma de estados de la app con clave. Las APIs están disponibles para que las EMM recuperen datos de estado de la app con clave. que luego pueden mostrar en su consola de EMM. Este canal de comunicación permite que los administradores de TI reciban comentarios sobre el estado de las apps instaladas los dispositivos que administran.

Por ejemplo, una app cliente de correo electrónico puede usar estados de app con clave para confirmar que un se configuró correctamente la cuenta, informa cuando hay errores de sincronización o envía otras actualizaciones de estado que el desarrollador de la app considere apropiadas

Componentes del estado de una app con clave

Un estado de app con clave se compone de lo siguiente:

  • Clave: Es el identificador único del estado de la app. 100 caracteres como máximo.
  • Mensaje: Es un mensaje opcional que describe el estado de la app. Máximo 1,000 caracteres. Nota: Generalmente, los mensajes deben ser significativamente más cortos.
  • Datos: Es un valor opcional legible por máquina destinado a los EMM para permitir a los administradores de TI. para configurar alertas o filtros según el valor. Por ejemplo, un administrador de TI podría configura una alerta si el campo de datos battery_percentage < 10. Máximo 1,000 caracteres.
  • Gravedad: La gravedad del estado de la app. Los valores permitidos son los siguientes: SEVERITY_ERROR y SEVERITY_INFO (predeterminado). Establecer la gravedad solo en SEVERITY_ERROR para las condiciones de error genuinas que una organización debe tomar medidas para solucionar.
  • Marca de tiempo: cuando se establece un estado de app con clave, se envía automáticamente con un marca de tiempo en milisegundos desde el ciclo de entrenamiento.

Enviar comentarios sobre los parámetros de configuración administrados

Si tu app admite configuraciones administradas, se recomienda enviar estados de app con clave como una forma de actualizar a los administradores de TI en el el estado de las configuraciones que establecieron. El siguiente ejemplo de flujo de trabajo describe una forma de hacerlo.

estados de app con clave para configuraciones administradas
  1. Los administradores de TI usan su consola de EMM para establecer y enviar configuraciones administradas para una app instalada en un dispositivo completamente administrado o dentro de un perfil de trabajo. Por ejemplo:
    • Volumen: "50%"
    • Moneda: "USDD"
  2. La app intenta aplicar las configuraciones. Se estableció correctamente el volumen de moneda al 50%, pero el código de moneda no es válido y no se puede aplicar.
  3. Según el estado de cada configuración, la app establece un estado de app con clave. Cada estado de app con clave contiene una clave única y un mensaje con detalles de la para cada estado. Recomendamos hacer coincidir la clave de configuración administrada siempre que sea posible. Por ejemplo:
    Clave Mensajes Gravedad Marca de tiempo
    volume Establecer en 50% SEVERITY_INFO 1554461130
    currency Moneda 'USDD' no reconocido SEVERITY_ERROR 1554461130
  4. El proveedor de EMM recupera los estados de la app con clave que estableció la app y muestra de ellos en su consola de EMM. Por ejemplo:
    Configuración Estado Acción obligatoria Hora
    Volumen Establecer en 50% No 5 de abril de 2019; 10:45:30 a.m.
    Moneda ERROR: Moneda 'USDD' no se reconoce. 5 de abril de 2019; 10:45:30 a.m.

    El proveedor de EMM también debe marcar explícitamente cualquier estado recibido con SEVERITY_ERROR al administrador de TI. Los administradores de TI pueden ver la información en su consola de EMM y tomar medidas para rectificar cualquier error en la configuración establecida.

Informar errores resueltos

Una vez que se resuelve un error, envía inmediatamente un estado de seguimiento de la app a evitar que las EMM muestren el mensaje de error indefinidamente. Este seguimiento debe incluir lo siguiente:

  • La misma clave como el mensaje de error inicial.
  • Una gravedad de SEVERITY_INFO, lo que indica que el estado no está en una condición de error y no y requerir que la organización tome medidas adicionales.

Cómo agregar compatibilidad con estados de app con clave a tu app

En los siguientes pasos, se describe cómo integrar estados de app clave en tu app.

Paso 1: Agrega el repositorio Maven de Google a tu archivo settings.gradle

Agrega el repositorio Maven de Google como ubicación del repositorio en el archivo settings.gradle de tu proyecto como se muestra a continuación:

dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
       google()
  }
}

Paso 2: Agrega la biblioteca de comentarios de Enterprise al archivo build.gradle a nivel del módulo

Agrega la siguiente dependencia a tu build.gradle a nivel de módulo. archivo:

dependencies {
    implementation 'androidx.enterprise:enterprise-feedback:1.0.0'
}

Paso 3: Obtén una instancia de KeyedAppStatesReporter.

En tu método onCreate(), obtén y almacena una instancia de KeyedAppStatesReporter Esto permite un canal de comunicación entre tu app y los proveedores de EMM.

Kotlin

val reporter = KeyedAppStatesReporter.create(context)

Java

KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);

Paso 4: Crea una colección de estados de app con clave

Cuando crees estados de app con clave, sigue las prácticas recomendadas que se describen a continuación:

  • Nunca incluyas información de identificación personal (PII) en un estado, ya que los estados de las apps con clave no lo hacen. adecuada para los datos sensibles.
  • Mantén los estados de la app con clave dentro de los límites definidos en MAX_KEY_LENGTH: MAX_MESSAGE_LENGTH, y MAX_DATA_LENGTH.
  • Una sola llamada a setStates o setStatesImmediate tiene un límite de 300 KB en total (aproximadamente 1/3 del total que se puede almacenar por día). Exceder esto dará como resultado un comportamiento indefinido.
  • Solo establece la gravedad de un estado en SEVERITY_ERROR si existe una condición que una organización debe tomar medidas para corregirla.
  • Cuando envíes un estado de la app que contenga errores, asegúrate de enviar también un de seguimiento cuando se resuelvan los errores, para que el EMM pueda dejar de marcar errores en su consola.
  • Para el estado de seguimiento, usa el mismo key como la el estado inicial que devolvió el error y estableció la gravedad en SEVERITY_INFO

El siguiente fragmento crea una colección de estados de app con clave:

Kotlin

    val states = hashSetOf(KeyedAppState.builder()
             .setKey("key")
             .setSeverity(KeyedAppState.SEVERITY_INFO)
             .setMessage("message")
             .setData("data")
             .build())
    

Java

    Collection states = new HashSet<>();
    states.add(KeyedAppState.builder()
     .setKey("key")
     .setSeverity(KeyedAppState.SEVERITY_INFO)
     .setMessage("message")
     .setData("data")
     .build());
    

Paso 5: Establece los estados de la app con clave

La setStates() envía de inmediato los estados de la app con clave a la app de Play Store (nombre del paquete: com.android.vending) si está instalada en el dispositivo, así como los administradores del dispositivo o perfil de trabajo.

Kotlin

keyedAppStatesReporter.setStates(states)

Java

keyedAppStatesReporter.setStates(states);

Cómo probar estados de app con clave

Para obtener instrucciones detalladas sobre la prueba, consulta Cómo probar los comentarios sobre la app.