通讯|微信提醒(小程序专属)
行为简介
移动应用除了通过交互界面和用户互动以外,有一个非常重要的场景就是通知用户和唤回用户。比如通知用户发货,通知用户外卖已经送到,通知用户有新活动可以报名等等,都需要用到通知功能。用户可以通过点击通知卡片快速进入小程序。 小程序订阅消息通知又分为了“长期订阅消息”和“一次性订阅消息”。看起来肯定是长期订阅更好,但是微信对此是有要求的。目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放。**所以一般小程序只能使用“一次性订阅消息”**
img | img |
---|---|
Tips:“小程序订阅消息通知”和“服务号通知”的区别是什么?
- 首先是展示位置不同:
- 小程序订阅消息通知,是展示在微信对话中的一个叫【服务通知】的集合处,所有的小程序通知以及小程序内支付通知都会集中在这里。
- 服务号通知则是会单独展示在自己的服务号提醒中,不会和其他应用/服务号的通知混在一起,相对来说是更明显的通知,但是前提是需要用户关注服务号。
- 要求不同:
- 小程序订阅消息通知,需要用户如上图左,一定要授权消息提醒,同意提醒后才能提醒,而且是同意一次,只能通知一次;如果要再次通知,还需要再次授权。
- 服务号通知,需要用户关注服务号,只要用户保持关注,就可以一直提醒用户。但是一旦用户取消服务号关注,则不能继续通知。
配置指南
创建消息模板与授权消息提醒
详见:【通讯|授权消息提醒】
发送提醒(微信提醒)
只要授权过并确定还有授权剩余未使用次数,就可以发送【微信提醒】。 常见的场景如:外卖下单成功触发【授权消息提醒】,外卖送达后触发【微信提醒】提醒用户取外卖。
⚠️注意:【微信提醒】行为一定要放在“行为流”功能中触发,添加一个微信提醒的行为流,在操作中添加代码块,复制如下所示的代码,配置对应的入参
添加行为流
在编辑器左上角点击【行为流】按钮,进入行为流编辑界面,添加一个行为流,并根据业务需求对行为流进行命名,然后点击入参,入参的内容根据在【通讯|授权消息提醒】中创建的模版来进行配置,例如模版中的详细内容就是入参内容:thing1、date2、thing4,都是文本类型,accountId就是接受者对象的ID
添加并编辑代码块
点击入参下方的【+】号,添加代码块
在代码块中添加入参数,并将下方代码复制到代码编辑器中
展开后的配置:
消息提醒代码
const thing1 = context.getArg('thing1');
const thing4 = context.getArg('thing4');
const date2 = context.getArg('date2');
const accountId = context.getArg('accountId');
const data = { 'thing1':thing1, 'date2':date2, 'thing4':thing4
}; // 根据消息模版进行修改
const gql = `mutation publishWechatMessage($data: Map_String_StringScalar,$accountId:Long!){
publishWechatMessage(
accountId: $accountId
data: $data
miniprogramState: FORMAL
page: "pages/lil7gbne/lil7gbne"
lang: CN
templateId: "RQH7FafxS4_jQsRSN6ujLLKUoWuXpC3uLvYP1WL75Ys"
)
}`; // templateId 就是模版消息中的 模版ID ,一定要替换自己消息模版中的ID !!!!!
context.runGql('publishWechatMessage', gql,{data,accountId}, { role: 'admin'});
参数说明
- page 是点击模板卡片后的跳转页面,仅限本小程序内的页面(lil7gbne为页面的组件id,在页面右上角可以复制)
- accountId 对应用户id,即接受消息的账户id
- 这里的thing1、thing4、date2 和 templateId(模板ID) 在微信后台都可以找到,如下图,其他参数不用改。⚠️ 注意:下图中详细内容中的参数名可能会因为消息模版不同而改变,你需要根据模版中的参数名来修改行为流、代码块入参以及代码块中的参数名称
参数值内容限制说明
保存行为流
为了让行为流生效,配置完成后需要点击保存按钮进行保存
调用微信提醒的行为流
一般在修改表数据成功时调用微信提醒的行为流,根据参数情况进行入参的绑定,执行成功就会在小程序“服务通知”中发送消息提醒 注意你要选的参数时间格式类型
img | img | img |
---|---|---|