You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已配置AMAPI通知仍无法获取keyedAppStates数据,求解决方案

问题:无法从Android Management API获取keyedAppStates数据

我正尝试通过keyedAppStates从Reports应用获取应用反馈,已完成相关配置,但目前仅能接收到ApplicationEvent事件,keyedAppStates始终无数据返回。

已配置的代码

企业通知配置请求

const EnterPriseRequest = {
  name: enterpriseName,
  resource: {
    enabledNotificationTypes: ["STATUS_REPORT"], // Valid types
    pubsubTopic:`projects/${project_id}/topics/MyTopic`,
    contactInfo,
  },
  updateMask: 'enabledNotificationTypes,contactInfo',
};
androidManagementClient.enterprises.patch(enterPriseRequest)

设备信息查询代码

androidManagementClient.enterprises.devices.get({
  name: deviceId,
});

当前状态

已成功接收应用事件:

"events": [
  {
    "object (ApplicationEvent)"
  }
],

但keyedAppStates字段无数据返回。

解决方案建议

  • 确认Reports应用是否实现上报逻辑:keyedAppStates的数据依赖应用主动调用AppFeedbackManager接口提交状态,需检查应用是否完成了这部分开发,正确上报键值对信息。
  • 补充通知类型配置:当前仅启用了STATUS_REPORT,需添加APP_FEEDBACK类型——这是接收应用主动上报的keyedAppStates的专属通知类型。修改后的企业请求配置如下:
    const EnterPriseRequest = {
      name: enterpriseName,
      resource: {
        enabledNotificationTypes: ["STATUS_REPORT", "APP_FEEDBACK"],
        pubsubTopic:`projects/${project_id}/topics/MyTopic`,
        contactInfo,
      },
      updateMask: 'enabledNotificationTypes,contactInfo',
    };
    
  • 验证设备与应用状态:确保目标设备已绑定到配置的企业,且Reports应用已安装并正常运行。
  • 调整查询时机:keyedAppStates仅在应用上报后才会存在,建议在应用触发上报操作后再调用设备查询接口,或通过Pub/Sub订阅APP_FEEDBACK类型的通知直接获取数据。
  • 核对权限:确认服务账号拥有Android Management API的企业管理员权限,确保能正常读取设备和应用状态数据。

内容的提问来源于stack exchange,提问作者maranR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:35:54