从应用检索反馈

某些应用能够以键控应用状态的形式向 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 表示设备上次上传键控应用状态的时间戳(以毫秒为单位)。

向企业显示应用反馈

应用可能会出于各种原因发送反馈。不过,发送键控应用状态的最常见用例是提供有关受管理配置的反馈。例如:

  1. IT 管理员可使用 EMM 控制台为应用设置托管配置
  2. 在后端,您可以将配置发送到应用
  3. 应用尝试应用配置。对于每项配置,应用都会发送一个指示其状态的键控应用状态(例如确认消息或错误通知)。
  4. 如需查看这些键控应用状态,您可以检索设备报告
  5. EMM 控制台使用来自键控应用状态的信息,以人性化的方式显示托管配置的状态。

提醒 IT 管理员注意错误

如果键控应用状态的严重级别为 ERROR,则表示组织需要采取措施来纠正问题。EMM 应始终通过 EMM 控制台或其他方式提醒组织有错误。例如,您的 EMM 控制台可能会显示一个错误信息中心,该信息中心会链接到存在错误的给定设备的反馈。

如果错误状态已更正,应用会发送后续状态,该状态包含与原始错误状态相同的键,并且更新后的严重级别为 INFO。更正错误后,EMM 应始终立即通知组织。例如,从控制台的错误信息中心中移除错误,或将其标记为“已解决”。