高可用的消息推送工具-一封传话
前言
前面介绍了一封传话聚合推送API的在线测试推送的步骤,可以实现一对一发送消息。
但是我们希望实现:
1. 群组订阅功能:例如我和我的好友一起加入通道后,只推送一次我们两个人都能收到消息。
2. 多端提醒功能:例如我希望同时推送到微信和钉钉,如果还能推送到飞书更好了。
一封传话这些功能全都支持,但是需要你到顶部导航栏 —— 通道管理 —— 推送通道页面去创建新的通道,这样就能给通道生成二维码,好友扫码以后就能加入通道。
首先你得有一个账号
无需注册,微信扫码登录后会跳转到推送通道管理页面,这时候点击“新增推送通道”按钮去创建一个微信推送通道,输入通道名称后点击保存。
下图是刚才创建好的通道基本功能,直接点“详情”按钮跳转到通道详情页面。
通道码和测试功能都在下一个页面,我们点击“详情”按钮跳转到详情页面。
一对多人推送原理
实现原理:【一封传话】通过生成微信公众号场景二维码,能智能识别关注过通道码的用户openid,当你向通道推送消息的时候,一封传话会将消息分发给关注过通道的用户。
而且,一封传话支持创建多个通道,随时启用/禁用通道实现开关功能。
-
上方有测试链接,右侧区域就是这个通道码了,邀请好友扫码关注。
-
好友扫码以后,他会自动出现在左侧区域,通道创建人还可以移除他。
-
“点这里在线测试”跳转到测试页面,然后点击“发送测试”按钮。
-
此时,你和你的好友微信上应该收到了同一条推送内容。
-
点击“查看详情”,推送内容支持Markdown语法和基本的html语法渲染。
这就是一对多人推送的基本测试步骤,非常适合做网站公告订阅,如果有新的公告,扫码关注用户都能收到公告推送。
如果有人订阅后希望退订,可以直接在预览页面点击“取消订阅”后不会再收到公告推送了。
扫码图片采用的是活码:
https://www.phprm.com/services/qr/c/1676044887/95v0yd5xowld
复制永久链接通过src直接引用图片(二维码每10天会自动刷新,无需截图保存)。
通过API推送方式请参考:一行代码实现微信消息推送
一对多端推送原理
所谓一次推送多端提醒的意思就是说,一行API代码的请求,可以让微信、钉钉、飞书、邮箱同时收到消息,这样简洁的API谁能不爱呢。
实现原理:【一封传话】支持创建“组合通道“类型的父通道,然后将具体的推送通道(微信推送、钉钉推送、飞书推送、邮件推送)的父通道修改为”组合通道“,进而实现一次推送,多端接收。
-
首先你得创建一个组合通道,输入名称后下拉框选择组合通道
-
然后修改以前创建的微信通道将父通道指向组合通道后保存,同理将飞书推送通道的父通道也指向组合通道后打开组合通道详情页面。
-
打开组合通道的详情页面,你会发现子通道列表下面展示了组合通道下的具体推送通道。
目前组合通道下绑定的子通道个数没有上限(你可以绑定多个飞书群机器人或者多个钉钉群机器人哦)。 -
如果未来的某一天,我们希望能够不改任何代码的情况下也推送到钉钉,那就创建一个钉钉推送通道吧,然后将其父通道指向组合通道。
-
组合通道下现在有3个子通道,我们进入到测试页面发送一条测试消息:
这样就已经实现了一次推送,多端提醒的需求了。最重要的一点就是,集成API到程序中时,记得用父通道码哦,同样通过API推送方式没有任何区别。一行代码实现微信消息推送 -
到顶部导航栏——推送日志查询历史消息推送记录
Tips:这里的实际推送时间比触发时间略晚,因为推送量很大,服务器每天会排队处理推送请求稍有延迟(异步处理,我们也在优化降低延迟哦)。
另外,我们可以拿着消息ID到 一封传话聚合推送API文档 的发送结果查询区域查询推送和阅读数。
这就是一对多端的基本测试步骤,对于代码严谨要求的人,建议使用组合通道将真正的推送通道给包装起来,后续升级维护都不需要改代码了。
Tips:移动端默认全局启用组合通道(上图中只需同时勾选微信公众号、钉钉群机器人、飞书群机器人即可),没有任何多余操作,快来体验吧!
点击访问移动端官网:https://www.phprm.com/push/h5/
参考:
https://blog.csdn.net/push_robot/article/details/128988244
http://push.phprm.com/doc/#/p/send