社交产品中的消息推送设置
1.平台所有用户默认打开接受推送通知
2.如个别用户关闭某个消息设置,则不产生跟他相关的消息推送
图例:
https://image-static.segmentfault.com/555/287/555287197-5fc4a98c1b5fc
https://image-static.segmentfault.com/400/462/400462147-5fc4a99798b6e
问: 这块业务功能怎么实现,有 v2er 小伙伴能提下实现思路的没? 谢过 ^_^
1
echowuhao 2020-12-01 11:09:30 +08:00
|
2
hanyu5166 OP @echowuhao 谢了,哥。他和我问的不一样,我是消息通知设置表结构怎么设计,未修改过的用户全都使用默认配置(全部接收通知)。
|
3
echowuhao 2020-12-01 11:30:35 +08:00
不知道你问的什么问题了。
这个表有啥特殊的么。用户 id,feature 两个字段就够了。 当一个 feature 被关闭时,加一条记录,打开的时候删掉。 按照之前帖子提到的文档,如果用户基数不太大,前段处理的时候,如果用户选择不接收,扔掉这个消息就好。 |
4
janus77 2020-12-01 14:23:47 +08:00
???虽然我不是做后端的,但是我也知道这个就相当于权限系统啊……一个分类就是一种权限。
管理员和普通角色怎么区分?抄一下不就完了 |
5
Jrue0011 2020-12-01 16:13:11 +08:00
不知道我有没有猜错,你担心的问题是每多一种消息类型表里要多一个设置字段?
那样的话只用一个字段做 bitmap 存储用户设置,程序里拿消息类型与字段值里对应位置的 bit 对比下应该就行了? |
6
stramkismet 2020-12-01 16:32:19 +08:00
开关反向记录,只记录关闭的人,然后生成消息时看看是不是有这个人的关闭记录
|
7
0068b7 2020-12-01 16:35:16 +08:00
之前搞推送系统的时候是直接把所有用户-屏蔽设置放进 redis 里面,推送的时候去查一下 redis 。
|
8
dorothyREN 2020-12-01 19:29:22 +08:00
用户打开的时候 根据本地设置是否拉取通知 不就行了
|