Configurer une application mobile d'entreprise Ă  l'aide d'AppConfig

Si vous êtes administrateur dans une entreprise avec une application mobile interne, peu importe pour quoi - que ce soit un messager ou un courrier ordinaire, ou quelque chose de spécial comme un lecteur de codes-barres - vous serez tôt ou tard confronté à la tâche de configuration et de gestion à distance des applications. Vous pouvez utiliser des béquilles pour prescrire un identifiant ou une adresse de serveur spécifique dans tous les téléphones, mais il existe également une solution toute faite - de facto déjà une norme qui peut être utilisée en conjonction avec l'une des plates-formes EMM / UEM existantes (Enterprise Mobile Management / Unified Endpoint Management).



Dans cet article, nous avons décidé de donner des instructions sur la façon de rendre votre application Android configurable si vous êtes son développeur. Autrement dit: ce qui doit exactement être changé dans votre application pour répondre aux besoins du public de l'entreprise. Nous avons également décrit tout le travail de l'administrateur en utilisant la plateforme Knox Manage à titre d'exemple .

 





Formulation du problème



Dans un entretien avec des collègues du SRI SOKB (Scientific and Testing Institute for Integrated Security Systems), nous avons convenu qu'une infrastructure mobile d'entreprise moderne ne pouvait plus ĂŞtre imaginĂ©e sans un système de contrĂ´le centralisĂ©. 



Par exemple, dans la compagnie ferroviaire suisse CFF, chacun des 30000 employés reçoitun téléphone personnalisé pour les tâches professionnelles - il n'y a pas seulement du courrier et un messager, mais aussi, par exemple, l'envoi de messages sur les défauts. Confier à un employé la tâche de mettre en place toute cette périphérie est non seulement coûteux en heures de travail, mais est également semé d'embûches dans le processus. Et dans certains cas - par exemple, en cas de dysfonctionnement - il est plus facile de reflasher complètement et de réinitialiser le téléphone que de rechercher une erreur. Par conséquent, une solution correctement choisie pour une application d'entreprise facilite grandement la vie d'un administrateur informatique d'une entreprise.



Habituellement, lors de l'introduction de systèmes centralisés, nous sommes confrontés à deux tâches:



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

  2. . ,   ,





Comme solution au deuxième problème, il y a le mĂ©canisme AppConfig , ce n'est pas une initiative d'une seule entreprise, mais la convention actuelle de plusieurs fournisseurs. Son essence est brièvement la suivante: le dĂ©veloppeur implĂ©mente dans son application mobile - mail, messager, client vidĂ©o, etc. - prise en charge des configurations gĂ©rĂ©es , personnalisĂ©es pour un utilisateur spĂ©cifique. Le dĂ©veloppeur dĂ©cide quels paramètres de l'application peuvent ĂŞtre dĂ©finis de l'extĂ©rieur (identifiant, nom d'utilisateur, adresse du serveur). Via Google Play d'entreprise, ces paramètres sont transmis au système EMM. Et il vous permet dĂ©jĂ  de crĂ©er des configurations gĂ©rĂ©es et de les attribuer Ă  distance Ă  des appareils et des utilisateurs spĂ©cifiques. 



Pour savoir si une telle fonctionnalité est implémentée dans une application spécifique:



  • AccĂ©dez Ă  Google Play d'entreprise.

  • Trouvez l'application que vous voulez. 

  • S'il prend en charge les configurations gĂ©rĂ©es, vous verrez l'icĂ´ne «Cette application peut ĂŞtre configurĂ©e Ă  distance» sous le nom:







 Le processus gĂ©nĂ©ral ressemble Ă  ceci:



  1. Le développeur ajoute la prise en charge des configurations gérées à son application. Dans le fichier de schéma XML, il spécifie les paramètres qui sont configurés à distance et dans le code de l'application, il développe ces paramètres. Ensuite, il télécharge l'application sur Google Play d'entreprise.

  2. Le système EMM fournit une interface d'administration via laquelle le schéma XML est récupéré à partir d'une application sur Google Play à l'aide d'un iframe .

  3. L'administrateur entre les valeurs de paramètres qui doivent apparaître sur les appareils de l'entreprise. Après cela, le système EMM transfère la configuration sur Google Play.

  4. Google Play met à jour l'application sur tous les appareils d'entreprise pour refléter la nouvelle configuration.



    



Le processus d'adaptation d'une application mobile d'entreprise Ă  AppConfig



     Supposons que vous deviez saisir Ă  distance une adresse et un nom d'utilisateur dans un client de messagerie. En utilisant Samsung Knox Manage comme exemple, l'interface de configuration de ces paramètres Ă  l'aide d'une configuration gĂ©rĂ©e ressemblera Ă  ceci:







Pour le champ Adresse e-mail, entrez $ emailaddress $, et pour le nom d'utilisateur, spĂ©cifiez $ username $ (ces variables seront remplacĂ©es dynamiquement, en fonction de l'utilisateur spĂ©cifique).       



Comment un développeur peut-il ajouter le support AppConfig à son application?



Supposons que nous développions une application mobile où le paramètre configurable est l'adresse du serveur. Selon les recommandations de Google, le développeur doit:



  1. Recherchez le fichier de ressources XML, qui se trouve généralement dans le dossier du projet res / xml. Il contient des informations sur tous les paramètres configurables, qui pénètrent ensuite dans le système EMM via les API 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. Répertoriez explicitement le fichier app_restrictions.xml dans le manifeste de votre application à l'intérieur de la balise d'application.



    <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. Implémentez la gestion de l'événement ACTION_APPLICATION_RESTRICTIONS_CHANGED dans le code de l'application. Cette étape garantit que l'application reçoit la nouvelle valeur définie par l'administrateur.



    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. 
              */  
         }  
    };  




Grâce Ă  ce simple raffinement, après avoir publiĂ© l'application dans le Google Play d'entreprise, vous pourrez recevoir une configuration personnalisĂ©e du serveur: 





Application avant et après réception de la configuration du serveur



Comment un administrateur peut-il configurer une application via la console Knox Manage?



Pour définir les configurations de contrôle, l'administrateur doit ajouter l'application elle-même via Knox Manage (KM) à partir du Google Play Store d'entreprise, ou la télécharger depuis son ordinateur en tant que Managed Google Play Private (la publication sur Google Play d'entreprise est facultative). Pour définir une nouvelle configuration:



  1. Dans KM, ouvrez l'onglet Groupe, sélectionnez le groupe associé à votre appareil et cliquez sur le bouton Application



  2. SĂ©lectionnez maintenant votre application et cliquez sur Attribuer



  3. SĂ©lectionnez Android Enterprise comme appareil cible. Cliquez sur le bouton DĂ©finir la configuration.



  4. Si vous avez tout fait correctement et que votre application prend en charge AppConfig, KM remplira les paramètres nécessaires avec des valeurs. Entrez simplement l'adresse du serveur (n'oubliez pas de saisir le nom de la configuration) et cliquez sur le bouton Enregistrer.



  5. Appuyez sur le bouton Attribuer pour télécharger la nouvelle configuration sur l'appareil.



  6. Cliquez sur OK pour confirmer.





Si l'application est en cours d'exécution et que le développeur a correctement implémenté la prise en charge d'AppConfig, l'application recevra la nouvelle adresse de serveur spécifiée dans la console KM.





Application avec l'adresse du serveur saisie via la console KM 



Nous configurons non seulement les applications, mais Ă©galement l'appareil lui-mĂŞme



À un moment donné, les développeurs ont pensé: que se passe-t-il si nous voulons configurer non seulement les applications, mais également les paramètres de l'appareil lui-même de la même manière? OEMConfig est une nouvelle norme pour l'envoi de configurations aux applications écrites par les fabricants d'appareils. L'envoi se fait en utilisant le même schéma XML. Les fabricants de matériel Android suivent cette norme pour donner aux administrateurs plus de contrôle sur leur appareil. Ainsi, sur les smartphones Samsung avec le support Knox, il existe une solution - Knox Service Plugin (KSP), qui peut être téléchargée depuis Google Play. Mais nous en reparlerons une autre fois.



RĂ©sultat



  • Utilisez AppConfig pour prendre en charge les configurations gĂ©rĂ©es pour vos applications. C'est assez simple Ă  mettre en Ĺ“uvre et, surtout, cela peut ĂŞtre vraiment utile.
  • CrĂ©ez une nouvelle configuration et envoyez-la aux appareils d'un grand nombre d'utilisateurs utilisant le système EMM (dans notre exemple, Knox Manage).
  • Le moins de bĂ©quilles possible, utilisez des solutions toutes faites et des mĂ©thodes standards!




Ressources supplémentaires sur le sujet:







Publié par Pavel Lepeev,

ingénieur,

équipe de développement commercial B2B avant / après vente

Samsung R&D Institute Russia



All Articles