mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-31 10:25:59 +00:00
2.3 KiB
2.3 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| push-notice.alias.concept | 友盟 Alias 用户绑定 | concept | push-notice | end-user | zh |
|
|
|
v1.7.90 |
友盟 Alias 用户绑定
定义
umeng_alias 是 DooTask 用来记录「某用户的某台移动设备应该接收哪些推送」的绑定表。每次移动 APP 启动登录后会调用 api/users/umeng/alias 注册或更新这条记录,后端按 userid → alias 反向查到所有活跃设备来发推送。
关键字段
| 字段 | 说明 |
|---|---|
| userid | DooTask 用户 ID |
| alias | 友盟 alias,用户在友盟侧的唯一标识 |
| platform | ios / android(其他平台调用会被拒) |
| device | 设备型号 |
| device_hash | 设备指纹,关联 UserDevice 表 |
| version | APP 版本号(含 versionName) |
| ua | userAgent |
| is_notified | 系统通知权限(0=未授予 / 1=已授予) |
| updated_at | 最后活跃时间;超过 30 天的别名不再被推送选中 |
注册逻辑
APP 启动 → 调 api/users/umeng/alias?action=update:
- 校验 platform 必须是 ios / android
- 校验 alias 长度 2-20 字符
- 校验 isDebug=0(调试模式拒绝)
- 表里同
userid + alias + platform存在则更新;不存在则插入
退出登录时可调 action=remove 删别名。
多设备规则
- 同一 userid 可绑定多台设备,每个设备一条记录
- 推送时按 platform 分组,每个用户每平台最多取最近 5 个 alias 一起发(按 updated_at 倒序)
- 角标数取自该用户未读且非静默消息总数(WebSocketDialogMsgRead)
解绑
- 用户卸载 APP 后系统不会主动删除别名记录;该别名后续推送会在友盟侧失败,不影响其他设备
- 30 天未活跃自动从推送目标中剔除(但记录仍在表里)
- 管理员可在数据库直接清理
umeng_alias