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
ySEVERITY_INFO
(predeterminado). Establecer la gravedad solo enSEVERITY_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.
- 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"
- 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.
- 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
- 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. Sí 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
, yMAX_DATA_LENGTH
. - Una sola llamada a
setStates
osetStatesImmediate
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
Collectionstates = 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);