某些应用能够以键控应用状态的形式向 EMM 发送反馈。键控应用状态由唯一标识符(键)、对应的消息(可选)、机器可读的数据(可选)、严重性状态和时间戳组成。如需发送这些命令,应用需要与 Enterprise Jetpack 库集成。
作为 EMM,您可以使用键控应用状态中的数据,让 IT 管理员及时了解受管理设备和配置文件上安装的应用。向企业显示反馈中介绍了这种方法可能的工作原理示例。
启用设备报告
应用会按设备发送键控应用状态。您需要先为设备启用设备报告,然后才能从设备上的任何应用接受任何键控应用状态。在设备上更新此政策之前,所有键控应用状态都将被忽略并永久丢失。在完成设备注册之前,及早在注册过程中启用设备报告。这样可确保您能收到设备注册期间生成的应用反馈,并且不会丢失任何键控应用状态。
- 调用
devices.update()
,将policy.deviceReportPolicy
设置为"deviceReportEnabled"
。
检索设备报告
获取设备报告的方法有多种:
- 如需检索设备报告以及其他通知,请调用
enterprises.pullNotificationSet()
。在响应中,每个deviceReportUpdateEvent
表示一个设备报告。 - 如需检索使用指定设备的最新键控应用状态更新的设备报告,请调用
devices.get()
。 - 如需强制设备上传最新的应用状态,请调用
devices.forceReportUpload()
。此方法会上传一份报告,其中包含自上次生成报告以来设备上应用状态发生的任何变化。
查看键控应用状态
设备报告是设备资源的一部分。报告中会包含安装在设备或其工作资料中的每个应用(软件包)的 appState
对象。appState
对象中列出了给定软件包的键控应用状态 (keyedAppState
),如以下示例所示:
{
"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"
}
}
}
每个键控应用状态都包含以下信息:
字段 | 说明 |
---|---|
key |
标识状态的唯一键。 |
severity |
状态的严重性:INFO 表示信息性消息。例如,如果成功设置了托管配置。ERROR 表示企业需要采取措施来纠正问题。例如,如果托管配置设置失败。 |
message |
提供关于应用状态的详细信息的可选字符串。建议应用开发者将此字段视为面向用户的消息。 |
data |
可选字符串,用于向 EMM 提供有关应用状态的计算机可读详细信息。例如,IT 管理员可在控制台中查询的值,如“如果 battery_warning data < 10,请通知我”。 |
stateTimestampMillis |
表示上次在设备上更新应用状态的时间的时间戳(以毫秒为单位)。 |
lastUpdatedTimestampMillis |
表示设备上次上传键控应用状态的时间戳(以毫秒为单位)。 |
向企业显示应用反馈
应用可能会出于各种原因发送反馈。不过,发送键控应用状态的最常见用例是提供有关受管理配置的反馈。例如:
- IT 管理员可使用 EMM 控制台为应用设置托管配置。
- 在后端,您可以将配置发送到应用。
- 应用尝试应用配置。对于每项配置,应用都会发送一个指示其状态的键控应用状态(例如确认消息或错误通知)。
- 如需查看这些键控应用状态,您可以检索设备报告。
- EMM 控制台使用来自键控应用状态的信息,以人性化的方式显示托管配置的状态。
提醒 IT 管理员注意错误
如果键控应用状态的严重级别为 ERROR
,则表示组织需要采取措施来纠正问题。EMM 应始终通过 EMM 控制台或其他方式提醒组织有错误。例如,您的 EMM 控制台可能会显示一个错误信息中心,该信息中心会链接到存在错误的给定设备的反馈。
如果错误状态已更正,应用会发送后续状态,该状态包含与原始错误状态相同的键,并且更新后的严重级别为 INFO
。更正错误后,EMM 应始终立即通知组织。例如,从控制台的错误信息中心中移除错误,或将其标记为“已解决”。