任务推送管理
任务推送管理用于创建推送任务、绑定目标设备规则、控制可见角色,并查看任务推送与 Launcher 联动结果。入口为“任务信息管理 → 任务推送管理”。
快速访问:推送信息管理
任务从配置到成功记录的过程
任务保存任务名称、文件资源 、启动参数、启用状态和备注等配置。文件选项来自文件管理,角色选项来自系统角色管理。文件被删除或角色被停用后,原任务仍可能保留关联记录,但页面不一定还能显示完整名称。
角色配置只控制哪些后台用户可以查看或维护任务,不决定任务发给哪些设备。目标设备由规则配置决定;页面“设备数量”是规则中心保存的范围预估,不会计算地区和高级条件,详细限制见业务侧集成的数据关系与计算方式。
设备成功取得任务后,系统会留下设备记录;设备随后上报 APK 推送结果,成功数才会更新。因此,列表中的成功数不是创建任务时预先计算的,也可能比设备实际完成时间晚几分钟显示。
三个成功数为什么不同
| 指标 | 实际口径 | 使用时注意 |
|---|---|---|
| 任务推送成功数 | 当前任务下标记为推送成功的设备记录条数。 | 按记录条数统计,不应直接理解为按 MAC 去重后的设备数。 |
| Launcher推送成功数 | 与任务绑定的 Launcher APK 已上报安装成功的设备数,并按 MAC 去重。 | 只代表 Launcher 联动方式,不包含普通任务推送成功记录。 |
| 总推送成功数 | 合并任务推送和 Launcher 推送的成功 MAC,并统一去重。 | 同一 MAC 通过两种方式都成功时只计一次。 |
这三个值默认显示“未查询”,点击后才实时统计 。Launcher成功数和总成功数可继续导出MAC清单;导出中的来源可区分“仅任务推送”“仅Launcher推送”和“两者都存在”。
1. 查询任务
查询条件
| 条件 | 说明与来源 |
|---|---|
| ID | 只允许输入数字,按任务编号查询 |
| 任务名称、备注 | 按任务文字信息查询 |
| 启用状态 | 数据字典 task_start_status |
| 变更状态 | 数据字典 bpm_valid |
| 流程状态 | 数据字典 bpm_inst_status |
当前页面不显示创建时间和更新时间查询条件,因此不能按这两个时间直接筛选;列表仍会显示任务的创建时间和更新时间。

| 列表字段 | 说明 |
|---|---|
| ID、任务名称 | 任务的系统编号和名称。 |
| 启用状态 | 任务当前是否启用。 |
| 设备数量(台) | 当前规则覆盖的设备数量;点击可查看或重新计算。 |
| 任务推送成功数(台) | 通过任务推送链路成功的设备数,点击“未查询”后计算。 |
| launcher推送成功数(台) | 通过 Launcher 资源绑定链路成功的设备数;查询完成后点击数字可导出 MAC。 |
| 总推送成功数(台) | 合并两种链路并按 MAC 去重后的成功数;点击数字可导出。 |
| 备注 | 任务维护说明。 |
| 变更状态 | 当前配置是否已生效,以及是否存在待审批修改或移除。 |
| 流程状态 | 草稿、审批中、审批通过、审批不通过或已取消。 |
| 创建时间 | 任务创建时间。 |
| 更新时间 | 任务资料最后更新时间。 |
| 操作 | 根据权限和当前状态提供编辑、删除、查看草稿、提交或取消审批、查看审批记录、取消数据变更等操作。 |
展开一行可查看开机启动、开机启动路径和 APP 开机启动次数。
“设备数量”是规则中心保存的覆盖范围预估;成功数来自设备请求和执行结果上报。设备离线、尚未请求、尚未上报结果或任务刚修改时,两者可能不同。
2. 新增和编辑
点 击“新增”创建任务;点击操作列“编辑”修改任务。


| 字段 | 必填与显示条件 | 说明 |
|---|---|---|
| 任务名称 | 必填 | 用于识别推送任务 |
| 权限配置 | 新增时可选;编辑时不可修改 | 选择允许查看或维护该任务的角色。角色来自系统角色列表,不是数据字典;新增后如需调整,使用“权限配置管理” |
| 文件列表 | 必填 | 从文件管理的 APK 文件中选择,选项显示上传配置和文件名,不是数据字典 |
| 启用状态 | 必填 | 数据字典 task_start_status |
| 开机启动 | 显示 | 数据字典 task_auto_start,默认“否” |
| 开机启动路径 | 仅开机启动为“是”时显示且必填 | 填写设备端能够识别的包名/类名 |
| APP开机启动次数 | 仅开机启动为“是”时显示且必填 | 必须为不小于 0 的数字;页面提示 0 表示一直启动 |
| 备注 | 可选 | 填写用途、版本或维护说明 |
“激活次数”和“Launcher 启动”字段在当前表单中已注释,不能作为现行配置项。页面底部的历史模板按钮也只有旧筛选方式满足条件时才可能显示,当前规则引擎主流程不使用它。
编辑已生效任务时,如系统要求选择草稿数据或原有数据,应先确认本次操作是继续修改待审批草稿,还是基于当前已生效数据重新编辑。
3. 规则配置
选中任务行后,在页面下方“规则配置”中绑定目标设备规则。一个任务可绑定多条规则,设备命中任意一条即可匹配该任务。
规则绑定、设备限制、生效状态和设备数量计算的完整说明见规则中心:业务侧集成。
任务推送当前使用规则引擎确定目标设备。渠道、MAC、地区、机型等旧版独立配置仅用于历史兼容,参见任务推送旧版逻辑。
4. 权限配置管理
仅有相应管理权限的用户可以看到“权限配置管理”标签。选择任务后,可按角色查询、新增角色授权 或删除已有授权。


- 查询区显示当前任务 ID(自动带入)和角色选择项。
- 列表字段为关系 ID、角色和操作;角色名称来自系统角色列表。
- 新增时从系统角色列表选择一个角色。
- 删除只移除该角色与当前任务的关系,不会删除系统角色。
- 权限配置是动态角色数据,不属于数据字典,实际选项以“系统管理 → 角色管理”为准。
5. Launcher 绑定与成功设备
任务可能已在 Launcher 的 APK 资源中绑定。页面出现相关提示时,应先到 Launcher 资源管理查看绑定关系,再决定是否编辑、停用或删除任务,避免广告资源失去配套推送任务。

Launcher 侧的绑定与解绑步骤见资源与策略管理。
点击任务列表中的“Launcher 推送成功数”,会打开该任务的 Launcher 成功设备弹窗:
| 弹窗字段 | 说明 |
|---|---|
| MAC 地址 | 已通过 Launcher 关联资源上报安装成功的设备 MAC。 |
| CPU | 设备 CPU 标识,用于辅助区分设备。 |
| 创建时间 | 该条 Launcher 执行记录进入系统的时间。 |
弹窗内的“导出”会按当前任务导出 Launcher 成功设备清单,并按 MAC 去重。这里没有手工新增、编辑或删除入口。
6. 设备推送详情
选择任务后,可在“设备推送详情管理”中查看实际推送记录。
| 区域 | 字段 | 说明 |
|---|---|---|
| 查询 | 任务 ID | 当前选中的任务,自动带入且不可编辑 |
| 查询 | MAC | 按设备 MAC 查询 |
| 查询 | 是否推送成功 | 数据字典 task_push_status |
| 查询 | 变更状态 | 数据字典 bpm_valid |
| 查询 | 创建时间 | 按推送记录创建时间范围查询 |
| 列表 | MAC | 发生任务推送记录的设备 MAC |
| 列表 | 是否推送成功 | 设备请求或回调记录中的推送结果,不代表 APK 已安装并运行 |
| 列表 | 变更状态 | 该记录的生效或变更状态 |
| 列表 | 更新时间、创建时间 | 推送记录最后更新和首次建立时间 |
| 操作 | 删除、取消数据变更 | 仅在相应状态和权限下显示;只有尚未标记为推送成功的记录显示删除,删除记录不会删除设备或任务 |
新增、导入和导出
| 操作 | 页面字段与结果 |
|---|---|
| 新增 | 任务 ID 自动带入,只填写一个必填 MAC;格式为六组十六进制字符并使用冒号分隔。保存的是当前任务与该 MAC 的推送记录,不代表设备已经安装成功。 |
| 导入 | 选择一个或多个 MAC 文件;模板第一列为 MAC。适合为当前任务批量建立推送记录。 |
| 导出 | 按当前任务及页面查询条件导出设备推送详情。 |
新增和导入属于人工维护任务设备记录的入口,不是规则配置。当前主流程的目标范围仍以规则中心为准;如无明确历史兼容或排查需求,不应把手工导入当成规则绑定的替代方式。
该页用于排查某台设备是否留下任务推送记录。不应把“未找到记录”直接理解为规则未命中;还需结合设备是否在线、是否发起请求以及任务当时是否启用判断。
7. 数据字典
以下字典数据截至 2026-08-27 17:48:07(UTC+8),所列字典项当前均为启用状态。
任务启用状态
字典名称:任务启用状态;字典类型:task_start_status。
| 显示名称 | 取值 | 含义 |
|---|---|---|
| 是 | 0 | 任务启用。 |
| 否 | 1 | 任务未启用。 |
任务是否开机启动
字典名称:任务是否开机启动;字典类型:task_auto_start。
| 显示名称 | 取值 |
|---|---|
| 否 | 0 |
| 是 | 1 |
任务推送结果
字典名称:任务-设备是否推送成功;字典类型:task_push_status。
| 显示名称 | 取值 |
|---|---|
| 否 | 0 |
| 是 | 1 |
变更状态
字典名称:bpm生效检测;字典类型:bpm_valid。
| 显示名称 | 取值 |
|---|---|
| 未生效 | 0 |
| 已生效 | 1 |
| 已生效且做修改标记 | 2 |
| 已生效且做移除标记 | 3 |
| 已生效且修改状态为启用 | 4 |
| 已生效且修改状态为禁用 | 5 |
流程状态
字典名称:bpm流程审批状态;字典类型:bpm_inst_status。
| 显示名称 | 取值 |
|---|---|
| 系统错误 | -2 |
| 未开始(草稿) | -1 |
| 审批中 | 1 |
| 审批通过 | 2 |
| 审批不通过 | 3 |
| 已取消 | 4 |
8. 设备请求、执行与回调
- 设备定期请求任务,服务端根据设备身份获取已启用、已审批且当前有效的任务。
- 每个任务通过规则引擎判断目标设备;没有命中规则的设备不会获得该任务。
- 服务端返回 APK、图片、执行时间和启动参数等任务内容,设备根据任务类型执行。
- 设备请求或执行后产生详情记录,并通过结果回调更新成功状态。
请求和响应检查点
- 设备身份参数必须能定位到当前设备;设备未入库、渠道异常或基础信息不全会影响规则判断。
- 响应中的下载地址、包名、版本和 MD5 应与任务引用的文件一致。
- “查到任务”、“设备已请求”、“文件已下载”和“安装/执行成功”是不同状态,排障时应分别取证。
验收建议
- 用一台应命中和一台不应命中的设备请求同一任务。
- 核对返回内容及设备端实际执行结果。
- 在设备推送详情中确认请求和回调记录,再对比任务、Launcher 和总成功数。
- 分别验证停用、未审批、超出有效期和文件不可用的反向场景。
接口与回调要点
机顶盒由 UOTA-APP 定时请求 POST /task/checkTaskPush。请求体的 mac 为必填设备 MAC,cpu 用于在 Token 中没有完整设备信息时补充识别;请求头携带设备 Authorization Token 和 api-version。
返回的每项任务至少需关注:
| 字段 | 说明 |
|---|---|
taskId | 任务 ID |
taskVersionCode | 任务配置版本,设备用于判断配置是否变更 |
taskType | 任务类型 |
taskData.fileUrl / fileSize | APK 下载地址和文件大小 |
taskData.packageName | 应用包名 |
taskData.versionCode / versionName | 目标应用版本 |
isAutoStart / classPath | 安装后是否自动启动及启动类路径 |
服务端主流程是 pushV2(设备信息) 调用 RuleRunUtil.matchBusinessIds,根据返回的任务 ID 读取并过滤当前启用、有效的任务,最后组装设备响应。不再以配置开关切换到旧的 listTaskDevice/filterType 流程。
设备完成安装或执行后,通过 POST /task/taskPush/callBack 上报结果;服务端可通过 Kafka 异步落库。因此接口已返回任务不等于回调已成功,排查时要同时核对设备日志、回调请求、消息积压和推送详情。
旧文档的激活次数、Launcher 启动次数、默认 Launcher、系统 APP 等字段不再是当前表单配置项,本文不再把它们作为现行操作说明。