Certaines applications peuvent envoyer des commentaires aux EMM sous la forme d'états d'application appariés. Un état d'application à clé est composé d'un identifiant unique (clé), du message correspondant (facultatif), de données lisibles par un ordinateur (facultatif), de l'état de gravité et de l'horodatage. Pour les envoyer, une application doit s'intégrer à la bibliothèque Enterprise Jetpack.
En tant qu'EMM, vous pouvez utiliser les données des états d'application associés pour tenir les administrateurs informatiques informés des applications installées sur les profils et les appareils gérés. Vous trouverez un exemple de fonctionnement dans la section Envoyer des commentaires aux entreprises.
Activer les rapports sur les appareils
Les applications envoient des états d'application associés à chaque appareil. Avant que les états d'application associés ne soient acceptés par l'une des applications de l'appareil, vous devez activer les rapports sur l'appareil. Tant que la règle n'est pas mise à jour sur l'appareil, tous les états de l'application associés sont ignorés et perdus indéfiniment. Activez la création de rapports sur les appareils avant de terminer leur enregistrement, dès que possible au cours du processus d'enregistrement. Cela garantit que vous recevez les commentaires sur l'application générés lors de l'enregistrement de l'appareil et qu'aucun état d'application à clé n'est perdu.
- Appelez
devices.update()
en définissantpolicy.deviceReportPolicy
sur"deviceReportEnabled"
.
Récupérer les rapports sur les appareils
Il existe plusieurs façons de récupérer un rapport sur les appareils:
- Pour récupérer les rapports sur les appareils avec d'autres notifications, appelez
enterprises.pullNotificationSet()
. Dans la réponse, chaquedeviceReportUpdateEvent
désigne un rapport sur les appareils. - Pour récupérer un rapport sur les appareils mis à jour avec les derniers états d'application à clé pour un appareil spécifié, appelez
devices.get()
. - Pour forcer un appareil à importer les derniers états de l'application, appelez
devices.forceReportUpload()
. Cette méthode importe un rapport contenant les changements d'état de l'application sur l'appareil depuis la génération du dernier rapport.
Afficher les états de l'application à clé
Les rapports sur les appareils font partie des ressources de l'appareil. Les rapports incluent un objet appState
pour chaque application (package) installée sur l'appareil ou dans son profil professionnel.
Les états d'application appariés (keyedAppState
) d'un package donné sont répertoriés dans l'objet appState
, comme dans l'exemple ci-dessous:
{
"result":{
"kind":"androidenterprise#device",
"report":{
"appState":[
{
"keyedAppState":[
{
"severity":"severityError",
"data":"user",
"message":"Username or password are incorrect",
"key":"account",
"stateTimestampMillis":"1556206406926"
}
],
"packageName":"com.google.android.feedbacktestapp"
}
],
"lastUpdatedTimestampMillis":"1556206407685"
},
"androidId":"32714368a0ad8ad5",
"managementType":"managedProfile",
"policy":{
"deviceReportPolicy":"deviceReportEnabled"
}
}
}
Chaque état d'application à clé contient les éléments suivants:
Champ | Description |
---|---|
key |
Clé unique identifiant l'état. |
severity |
La gravité de l'état: INFO indique un message informatif. (par exemple, si une configuration gérée est correctement définie). ERROR indique que l'entreprise doit prendre des mesures pour corriger le problème. (si une configuration gérée n'a pas pu être définie, par exemple). |
message |
Chaîne facultative fournissant des détails sur l'état de l'application. Nous recommandons aux développeurs d'applications de traiter ce champ comme un message destiné aux utilisateurs. |
data |
Chaîne facultative fournissant aux EMM des informations lisibles par ordinateur sur l'état de l'application. Par exemple, il peut s'agir d'une valeur sur laquelle un administrateur informatique peut exécuter une requête dans votre console, comme "M'avertir si les données de Battery_warning est inférieure à 10". |
stateTimestampMillis |
Code temporel (en millisecondes) indiquant la dernière mise à jour de l'état de l'application sur l'appareil. |
lastUpdatedTimestampMillis |
Horodatage (en millisecondes) indiquant le moment où l'appareil a importé pour la dernière fois les états d'application à clé. |
Fournir aux entreprises des commentaires sur l'application
Les applications peuvent envoyer des commentaires pour diverses raisons. Toutefois, le cas d'utilisation le plus courant pour envoyer des états d'application à clé consiste à fournir des commentaires sur les configurations gérées. Exemple :
- Un administrateur informatique utilise la console EMM pour définir les configurations gérées d'une application.
- Dans le backend, vous envoyez les configurations à l'application.
- L'application tente d'appliquer les configurations. Pour chaque configuration, l'application envoie un état d'application associé à une clé indiquant son état (par exemple, un message de confirmation ou une notification d'erreur).
- Pour afficher ces états d'application associés, vous devez récupérer un rapport sur les appareils.
- À l'aide des informations provenant des états de l'application à clé, votre console EMM affiche l'état des configurations gérées de manière conviviale.
Alerter les administrateurs informatiques des erreurs
Un état d'application à clé associé à la gravité ERROR
indique que l'organisation doit prendre des mesures pour corriger un problème. Les fournisseurs EMM doivent toujours alerter les organisations en cas d'erreur, via leur console EMM ou par d'autres moyens. Par exemple, votre console EMM peut afficher un tableau de bord des erreurs qui renvoie vers les commentaires associés à un appareil donné comportant des erreurs.
Si un état d'erreur est corrigé, l'application envoie un état de suivi avec la même clé que l'état d'erreur d'origine et un niveau de gravité INFO
mis à jour. Les fournisseurs EMM doivent toujours informer les organisations dès qu'une erreur est corrigée. Par exemple, supprimez l'erreur du tableau de bord des erreurs de votre console ou marquez-la comme résolue.