背景

名称解释

指用户订阅一次,服务号可不限时间地下发一条对应的订阅通知;

指用户订阅一次,服务号可长期多次下发通知,长期订阅通知仅向政务民生、医疗等公共服务领域开放;

微信默认开启服务通知功能,在用户聊天列表中会出现橙色的服务通知

微信如何添加消息模板(微信下线模板消息)(1)

用户订阅流程

微信如何添加消息模板(微信下线模板消息)(2)

微信如何添加消息模板(微信下线模板消息)(3)

微信如何添加消息模板(微信下线模板消息)(4)

// 首先导入 JSSDK http://res2.wx.qq.com/open/js/jweixin-1.6.0.js <wx-open-subscribe template="TenvU22BA1jCp4YHfYEpRuESXYReQyDuhs4vbdWA99I" id="subscribe-btn"> <template slot="style"> <style> .subscribe-btn { color: #fff; background-color: #07c160; } </style> </template> <template> <button class="subscribe-btn"> 上课通知 </button> </template> </wx-open-subscribe> <script> var btn = document.getElementById('subscribe-btn'); btn.addEventListener('success', function(e){ // 根据回调确定用户是 取消 还是允许 // 如果无法接收微信回调的情况下,需要在此处保存用户订阅的新姐 }); </script>

接收微信回调的订阅事件

<xml> <ToUserName>公众号微信号</ToUserName> <FromUserName>用户 openid</FromUserName> <CreateTime>时间戳</CreateTime> <MsgType><![CDATA[event]]>(固定值)</MsgType> <Event><![CDATA[subscribe_msg_popup_event]]>(固定值)</Event> <SubscribeMsgPopupEvent> <List> <TemplateId>模板 id</TemplateId> <SubscribeStatusString>用户点击行为(同意、取消发送通知)</SubscribeStatusString> <PopupScene>场景(图文、H5)</PopupScene> </List> </SubscribeMsgPopupEvent> </xml>

推送通知流程

微信如何添加消息模板(微信下线模板消息)(5)

POST https://api.weixin.qq.com/cgi-bin/message/subscribe/bizsend?access_token=ACCESS_TOKEN

{ "touser": "接收者openid ,必须是已经订阅此消息模板的用户,不然无法推送", "template_id": "消息模板ID", "page": "点击跳转的链接", "data": { "name1": { "value": "冷冷"}, "time7": { "value": "2021-01-28 23:15:42" } } }

问题汇总

目前开发的行业较少 (政府、公共)其他行业是否开放长期订阅需要提前提供材料申请,避免模板消息到期后导致业务阻塞。

目前主流微信开发 SDK (WxJava、 JFinal Weixin) 还未有相关的事件实现、接收报文等需要开发者自己处理。

在 H5 页面 JSSDK 拉起用户 【允许】、【取消】都会有回调事件,在取消情况给予用户明确说明,并做好短信通知的降级策略。

>>> 源码 https://gitee.com/log4j/pig,欢迎署名转载 <<<

,