產(chǎn)品炸了 | 微信即將下線模板消息
背景
微信于今日宣布 《服務(wù)號(hào)模板消息能力調(diào)整》,原先的模板消息能力將于 2021 年 4 月 30 日 24:00 下線,屆時(shí)將無法使用此接口發(fā)送模板消息。
簡單來講,向小程序開發(fā)看齊,不能直接通過公眾號(hào)向已訂閱的用戶推送模板消息。例如:改版后即使訂閱了 招商銀行信用卡中心,也無法通過公眾號(hào)收到 動(dòng)賬、還款的消息提醒。
筆者從事行業(yè)對于模板消息屬于強(qiáng)需求,所以整理變更訂閱通知 的改造和實(shí)現(xiàn)過程供大家參考。
名稱解釋
- 一次訂閱
指用戶訂閱一次,服務(wù)號(hào)可不限時(shí)間地下發(fā)一條對應(yīng)的訂閱通知;
- 長期訂閱
指用戶訂閱一次,服務(wù)號(hào)可長期多次下發(fā)通知,長期訂閱通知僅向政務(wù)民生、醫(yī)療等公共服務(wù)領(lǐng)域開放;
- 服務(wù)通知
微信默認(rèn)開啟服務(wù)通知功能,在用戶聊天列表中會(huì)出現(xiàn)橙色的服務(wù)通知
服務(wù)通知用戶訂閱流程
用戶訂閱- 如上圖, 用戶可以通過點(diǎn)擊公眾號(hào)發(fā)布的圖文中插入多個(gè)訂閱通知的按鈕,用戶點(diǎn)擊圖文中的按鈕訂閱
1611845657- 如上圖,用戶在在開發(fā)者提供的 H5 頁面中,通過 JSSDK 拉起訂閱按鈕
JSSDK 拉起示例//?首先導(dǎo)入?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){
?????//?根據(jù)回調(diào)確定用戶是?取消?還是允許
????//?如果無法接收微信回調(diào)的情況下,需要在此處保存用戶訂閱的新姐
});
script>
接收微信回調(diào)的訂閱事件
- 用戶在圖文/H5 等場景內(nèi)訂閱通知的操作 , 會(huì)向開發(fā)者接口推送以下報(bào)文
<xml>
????<ToUserName>公眾號(hào)微信號(hào)ToUserName>
????<FromUserName>用戶?openidFromUserName>
????<CreateTime>時(shí)間戳CreateTime>
????<MsgType>(固定值)MsgType>
????<Event>(固定值)Event>
????<SubscribeMsgPopupEvent>
????????<List>
????????????<TemplateId>模板?idTemplateId>
????????????<SubscribeStatusString>用戶點(diǎn)擊行為(同意、取消發(fā)送通知)SubscribeStatusString>
????????????<PopupScene>場景(圖文、H5)PopupScene>
????????List>
????SubscribeMsgPopupEvent>
xml>
- 根據(jù)推送報(bào)文,保存至用戶和訂閱模板關(guān)系表,供下文推送使用
推送通知流程
下發(fā)通知- 調(diào)用微信服務(wù)發(fā)送訂閱通知
POST?https://api.weixin.qq.com/cgi-bin/message/subscribe/bizsend?access_token=ACCESS_TOKEN
- 請求參數(shù)說明
{
??"touser":?"接收者openid?,必須是已經(jīng)訂閱此消息模板的用戶,不然無法推送",
??"template_id":?"消息模板ID",
??"page":?"點(diǎn)擊跳轉(zhuǎn)的鏈接",
??"data":?{
??????"name1":?{
??????????"value":?"冷冷"},
???????"time7":?{
??????????"value":?"2021-01-28?23:15:42"
??????}
?????}
}
問題匯總
- 長期訂閱通知申請問題
目前開發(fā)的行業(yè)較少 (政府、公共)其他行業(yè)是否開放長期訂閱需要提前提供材料申請,避免模板消息到期后導(dǎo)致業(yè)務(wù)阻塞。
- 框架適配問題
目前主流微信開發(fā) SDK (WxJava、 JFinal Weixin) 還未有相關(guān)的事件實(shí)現(xiàn)、接收報(bào)文等需要開發(fā)者自己處理。
- 避免用戶取消授權(quán)
在 H5 頁面 JSSDK 拉起用戶 【允許】、【取消】都會(huì)有回調(diào)事件,在取消情況給予用戶明確說明,并做好短信通知的降級(jí)策略。
評論
圖片
表情
