某些应用能够以键控应用状态的形式向 EMM 发送反馈。键控应用状态由唯一标识符(密钥)、相应的消息(可选)、机器可读的数据(可选)、严重级别状态和时间戳组成。如需发送这些消息,应用需要与 Enterprise Jetpack 库集成。
应用每分钟只能发送第一条即时反馈。在冷却期内生成的反馈将加入队列,并在冷却期结束时一并发送。例如,如果在 [t=0s;10s;15s] 生成 3 次反馈,冷却期为 1 分钟,则第一条即时反馈将在 [t=0s] 发送,第二条和第三次反馈的发送时间为 [t=60s]。
作为 EMM,您可以使用键控应用状态中的数据,让 IT 管理员及时了解受管设备和资料上安装的应用。向企业显示反馈中介绍了此功能的工作原理示例。
启用设备报告
应用会按设备发送键控应用状态。这些状态包含在设备报告中。要为设备启用报告功能,请执行以下操作:
- 按照为企业设置 Pub/Sub 通知的说明进行操作。在第 5 步中,将
STATUS_REPORT
包含到enabledNotificationTypes
中。 - 对于每台设备,更新设备政策:将
StatusReportingSettings.applicationReportsEnabled
设置为true
。
您现在可以使用 Pub/Sub API 获取设备报告通知。或者,您也可以随时调用 devices.get()
来查看设备的最新报告。
在设备报告中查看键控应用状态
设备报告以设备资源的形式提供。在应用报告部分中,键控应用状态按软件包名称分组,如下例所示:
{
"applicationReports":[
{
"packageName": "pkg1",
"versionCode": 101,
"keyedAppStates":[
{
"key": "key1",
"severity": INFO,
"message": "message1",
"data": "data1",
"createTime": "2018-10-01T15:01:22.027623745Z",
"lastUpdateTime": "2018-10-02T15:01:23.045123456Z"
}
]
}
]
}
每个键控应用状态都包含以下信息:
字段 | 说明 |
---|---|
key |
标识状态的唯一键。 |
severity |
状态的严重性:INFO 表示信息性消息。例如,如果成功设置了托管配置。ERROR 表示企业需要采取措施来纠正问题。例如,如果托管配置未能设置。 |
message |
提供应用状态详细信息的可选字符串。我们建议应用开发者将此字段视为面向用户的消息。 |
data |
可选字符串,用于向 EMM 提供有关应用状态的计算机可读详细信息。例如,IT 管理员可以在控制台中查询的值,如“notify me if the battery_warning data < 10”。 |
createTime |
指示在设备上创建应用状态的时间的时间戳。 |
lastUpdateTime |
指示应用状态上次更新时间的时间戳。 |
向企业显示应用反馈
应用发送反馈的原因有很多。不过,发送键控应用状态的最常见用例是提供有关托管配置的反馈。例如:
- IT 管理员可使用 EMM 控制台为应用设置托管配置。
- 在后端,使用 ApplicationPolicy 将配置发送到应用。
- 应用尝试应用配置。对于每项配置,应用都会发送表示其状态的键控应用状态(例如,确认消息或错误通知)。
- 如需查看这些键控应用状态,您需要检索设备报告。
- EMM 控制台使用来自键控应用状态的信息,以人性化的方式显示托管配置的状态。
提醒 IT 管理员注意错误
严重级别为 ERROR
的键控应用状态表示组织需要采取措施来纠正问题。EMM 应始终通过其 EMM 控制台或其他方式提醒组织注意错误。例如,您的 EMM 控制台可以显示一个错误信息中心,其中包含错误给定设备的反馈。
如果错误状态得到更正,应用将发送后续状态,其中包含与原始错误状态相同的键,并且更新后的严重级别为 INFO
。纠正错误后,EMM 应始终立即通知组织。例如,从控制台的错误信息中心中移除错误,或将其标记为已解决。