mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 10:55:59 +00:00
2.9 KiB
2.9 KiB
id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
| id | title | type | feature | scope | locale | aliases | related_tools | related_pages | prerequisites | negative | last_verified | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mobile-client.notify.concept | 移动端推送通知 | concept | mobile-client | end-user | zh |
|
|
|
v1.7.90 |
移动端推送通知
定义
移动端推送通知是 DooTask 服务端通过 UMENG(友盟)推送平台向已登录设备投递的消息提醒,即使 App 处于后台 / 锁屏 / 杀进程也能到达(取决于厂商通道)。区别于桌面端原生通知(electron-client.notify.concept),属于完全不同的通道。
推送通道架构
- 用户登录后 App 调
/api/users/umeng/alias把设备 token 与用户 ID 绑定 - 服务端在
WebSocketDialogMsgTask中向离线 / 后台用户额外发起 UMENG 推送 - UMENG 把推送下发到 APNs(iOS)或各厂商通道(Android),最终弹到设备
触发推送的事件
- 新私聊 / 群聊消息
- @ 你的消息
- 任务相关:被分配、被 @、状态变更、任务即将超时 / 已超时定时提醒(由 task-alert「任务提醒」机器人私聊发送,详见 task.notify.concept)
- 项目重要变更
- 系统公告 / 管理员推送
收不到推送的原因(排序)
- 服务端未配置 UMENG:自部署版本默认未填 AppKey,推送整体不可用
- App 未授权通知:手机系统设置 → 「通知」→「DooTask」必须打开「允许通知」
- 后台被系统杀死:Android 厂商电池优化会把 App 列入限制,导致离线推送无法激活
- 应用内免打扰:DooTask 个人设置或单会话开了免打扰
- 网络问题:UMENG 服务器与手机的连接断开
提高到达率(Android)
- 「电池」→ 把 DooTask 加入「不限制 / 后台运行白名单」
- 「自启动管理」→ 允许 DooTask 自启动
- 「电池优化」→ 把 DooTask 设为「不优化」
- 部分品牌(华为)需在「应用启动管理」里手动启用所有开关
推送内容显示
- 通常显示「发送人 + 消息预览」
- 锁屏隐藏详情或群聊不显示发送人,可在系统通知设置调整
- 详情显示策略以服务端推送结构为准,App 不能单独配置
不支持
- 不支持脱离 UMENG 的 P2P 推送(架构上依赖)
- 不支持「按场景拆开关」(只能整体开 / 关)
- 见到推送但点开 App 没新消息,通常是 WebSocket 已经在线时推送延迟
- 详细收不到处理见 mobile-client.push-fail.faq