Configuración de una aplicación móvil corporativa mediante AppConfig

Si eres administrador en una empresa con una aplicación móvil interna, pase lo que pase, ya sea un mensajero o correo regular, o algo especial como un escáner de código de barras, tarde o temprano te enfrentarás a la tarea de configuración y administración remota de aplicaciones. Puede usar muletas para prescribir una identificación específica o una dirección de servidor en todos los teléfonos, pero también hay una solución lista para usar; de facto ya es un estándar que se puede usar junto con una de las plataformas EMM / UEM existentes (Enterprise Mobile Management / Unified Endpoint Management).



En este artículo, decidimos dar instrucciones sobre cómo hacer que su aplicación de Android sea configurable si usted es su desarrollador. Es decir: qué es exactamente lo que debe cambiarse en su aplicación para satisfacer las necesidades de la audiencia corporativa. También describimos todo el trabajo del administrador usando la plataforma Knox Manage como ejemplo .

 





Formulación del problema



En una entrevista con colegas del SRI SOKB (Instituto Científico y de Pruebas para Sistemas de Seguridad Integrados), coincidimos en que ya no se puede imaginar una infraestructura móvil corporativa moderna sin un sistema de control centralizado. 



Por ejemplo, en la empresa ferroviaria suiza SBB, cada uno de los 30.000 empleados recibeun teléfono personalizado para las tareas del trabajo: no solo hay correo y un mensajero, sino también, por ejemplo, el envío de mensajes sobre fallas. Encomendar a un empleado la tarea de configurar toda esta periferia no solo es costoso en horas de trabajo, sino que también está plagado de posibles errores en el proceso. Y en algunos casos, por ejemplo, cuando aparecen fallas, es más fácil volver a flashear y reinicializar completamente el teléfono que buscar un error. Por lo tanto, una solución elegida correctamente para una aplicación corporativa facilita mucho la vida de un administrador de TI de una empresa.



Por lo general, al introducir sistemas centralizados, nos enfrentamos a dos tareas:



  1. . , : Knox Mobile Enrollment, Android Zero Touch Android Enterprise Enrollment (EMM-, QR- .)

  2. . ,   ,





Como solución al segundo problema, existe el mecanismo AppConfig , esto no es una iniciativa de una sola empresa, sino la convención actual de varios proveedores. Su esencia es brevemente la siguiente: el desarrollador implementa en su aplicación móvil - correo, messenger, cliente de video, etc. - Soporte para configuraciones administradas , personalizadas para un usuario específico. El desarrollador decide qué parámetros de la aplicación se pueden configurar desde el exterior (identificador, nombre de usuario, dirección del servidor). A través de Google Play corporativo , estos parámetros van al sistema EMM. Y ya le permite crear configuraciones administradas y asignarlas de forma remota a dispositivos y usuarios específicos. 



Para saber si dicha funcionalidad se implementa en una aplicación específica:



  • Vaya a Google Play corporativo.

  • Busque la aplicación que desee. 

  • Si admite configuraciones administradas, verá el icono "Esta aplicación se puede configurar de forma remota" con el nombre:







 El proceso general se ve así:



  1. El desarrollador agrega soporte para configuraciones administradas a su aplicación. En el archivo de esquema XML, especifica los parámetros que se configuran de forma remota y, en el código de la aplicación, expande esos parámetros. Luego sube la aplicación a la Google Play corporativa.

  2. El sistema EMM proporciona una interfaz de administración a través de la cual se recupera el esquema XML de una aplicación en Google Play mediante un iframe .

  3. El administrador ingresa los valores de los parámetros que deberían aparecer en los dispositivos corporativos. Después de eso, el sistema EMM transfiere la configuración a Google Play.

  4. Google Play actualiza la aplicación en todos los dispositivos corporativos para reflejar la nueva configuración.



    



El proceso de adaptación de una aplicación móvil corporativa a AppConfig



     Suponga que necesita ingresar de forma remota una dirección y un nombre de usuario en un cliente de correo electrónico. Usando Samsung Knox Manage como ejemplo, la interfaz para configurar estos parámetros usando una configuración administrada se verá así:







Para el campo Dirección de correo electrónico, ingrese $ dirección de correo electrónico $, y para el Nombre de usuario, configure $ nombre de usuario $ (estas variables se sustituirán dinámicamente, según el usuario específico).       



¿Cómo puede un desarrollador agregar compatibilidad con AppConfig a su aplicación?



Supongamos que estamos desarrollando una aplicación móvil donde el parámetro configurable es la dirección del servidor. Según las recomendaciones de Google, el desarrollador debe:



  1. Busque el archivo de recursos XML, que normalmente se encuentra en la carpeta del proyecto res / xml. Contiene información sobre todos los parámetros configurables, que luego ingresa al sistema EMM a través de las API de Google Play.



    <?xml version="1.0" encoding="utf-8"?>  
    <restrictions xmlns:android="http://schemas.android.com/apk/res/android">  
    <restriction  
             android:key="address"  
            android:title="@string/title"  
             android:restrictionType="string"  
             android:description="@string/description"  
             android:defaultValue="sample address" />  
     </restrictions>  
    
  2. Enumere explícitamente el archivo app_restrictions.xml en el manifiesto de su aplicación dentro de la etiqueta de la aplicación.



    <application  
         android:allowBackup="true"  
         android:icon="@mipmap/ic_launcher"  
         android:label="@string/app_name"  
         android:roundIcon="@mipmap/ic_launcher_round"  
         android:supportsRtl="true"  
         android:theme="@style/AppTheme">  
     <meta-data android:name="android.content.APP_RESTRICTIONS"  
         android:resource="@xml/app_restrictions" />
  3. Implementar el manejo del evento ACTION_APPLICATION_RESTRICTIONS_CHANGED en el código de la aplicación. Este paso asegura que la aplicación reciba el nuevo valor definido por el administrador.



    IntentFilter restrictionFilter = new IntentFilter(Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);
    BroadcastReceiver restrictionReciever = new BroadcastReceiver() {  
         @Override  
         public void onReceive(Context context, Intent intent) {  
              Bundle appRestrictions = restrictionsManager.getApplicationRestrictions();  
              /* 
              Fetch the values of managed application configuration from this bundle and take 
              action in your app accordingly. 
              */  
         }  
    };  




Como resultado de este simple refinamiento, luego de publicar la aplicación en la Google Play corporativa, podrá recibir la configuración personalizada del servidor: 





Aplicación antes y después de recibir la configuración del servidor



¿Cómo puede un administrador configurar una aplicación a través de la consola Knox Manage?



Para establecer configuraciones de control, el administrador debe agregar la aplicación a través de Knox Manage (KM) desde la tienda corporativa de Google Play, o cargarla desde su computadora como Google Play administrado como privado (luego, publicar en Google Play corporativo es opcional). Para establecer una nueva configuración:



  1. En KM, abra la pestaña Grupo, seleccione el grupo asociado con su dispositivo y haga clic en el botón Aplicación



  2. Ahora seleccione su aplicación y haga clic en Asignar



  3. Seleccione Android Enterprise como dispositivo de destino. Haga clic en el botón Establecer configuración.



  4. Si hizo todo correctamente y su aplicación tiene soporte para AppConfig, entonces KM completará los parámetros necesarios con valores. Simplemente ingrese la dirección del servidor (no olvide ingresar el nombre de la configuración) y haga clic en el botón Guardar.



  5. Presione el botón Asignar para descargar la nueva configuración al dispositivo.



  6. Haga clic en Aceptar para confirmar.





Si la aplicación se está ejecutando y el desarrollador ha implementado correctamente la compatibilidad con AppConfig, la aplicación recibirá la nueva dirección del servidor especificada en la consola KM.





Aplicación con la dirección del servidor ingresada a través de la consola KM 



Configuramos no solo las aplicaciones, sino también el propio dispositivo



En algún momento, los desarrolladores pensaron: ¿y si queremos configurar no solo las aplicaciones, sino también los parámetros del propio dispositivo de forma similar? OEMConfig es un nuevo estándar para enviar configuraciones a aplicaciones escritas por fabricantes de dispositivos. El envío se realiza utilizando el mismo esquema XML. Los fabricantes de hardware de Android siguen este estándar para dar a los administradores más control sobre su dispositivo. Por lo tanto, en los teléfonos inteligentes Samsung compatibles con Knox, existe una solución: Knox Service Plugin (KSP), que se puede descargar de Google Play. Pero hablaremos de esto en otro momento.



Salir



  • Utilice AppConfig para admitir configuraciones administradas para sus aplicaciones. Es bastante simple de implementar y, lo más importante, puede ser realmente útil.
  • Cree una nueva configuración y envíela a los dispositivos de una gran cantidad de usuarios utilizando el sistema EMM (en nuestro ejemplo, Knox Manage).
  • ¡El menor número de muletas posible, utilice soluciones listas para usar y métodos estándar!




Recursos adicionales sobre el tema:







Autor: Pavel Lepeev,

ingeniero,

equipo de desarrollo empresarial de pre y posventa B2B

Instituto de I + D de Samsung Rusia



All Articles