本小节我们将学习如何通过云函数发送微信通知,也就是微信订阅消息。
小程序的订阅消息有两个特性:
第一,必须经过用户授权,如右图所示,也就是说只能给愿意接受通知的用户发送固定模板的通知。
第二,一次性订阅,如最右边的图所示,一次授权只能给用户发送一次消息
微信订阅消息不是想发就能发的,是有固定的的格式,我们只能按照固定的格式去填充字段。而这些固定的格式,就是消息模板,所以我们发送订阅消息的第一步是找到适合我们的消息模板,然后申请使用。
怎么申请呢?我们需要登录微信公众平台,左边菜单栏,点击“订阅消息”菜单按钮,然后右边的“添加”按钮
我们可以在这里搜索我们小程序应用场景的关键词,然后点击“选用”
最终我们添加成功之后,会得到该模板的ID,这个ID后面的代码有需要用到。
给用户发送订阅消息这个功能比较复杂,我们这里给大家画了一个流程图,总共需要分为3步:
第一步,前端向后端获取消息模板的ID,所以后端得提供一个接口返回消息模板的ID;
第二步,前端使用消息模板ID向用户申请下发消息的权限,后端因此获得一次下发消息的权限,这个权限记录是由微信管理的,我们不用管。
第三步,后端可以在任何时候,可以使用这一次给该用户发送通知消息的权限。
前端提示用户是否允许发送通知消息,这一步前端需要知道是为哪个消息模板申请用户权限,所以后端需要为前端提供一个可以获取消息模板ID的接口,右边为示例代码,只是简单的将消息模板的ID返回给前端。
前端可以通过右边所示的代码,调用后端的接口,获取消息模板的ID。
这个代码大家不需要改,只需要一模一样的抄就行了。
第一步,这里修改为后端接口对应的函数名称;
第二步,将获取到的模板ID保存到前端的全局变量中,方便后面再次使用
前端获取了消息模板ID之后,就可以向用户请求下发权限了。
第一步,将上一步获取到的模板ID赋值到这里;
第二步,调用微信小程序的申请权限函数。
做完这几步,小程序前端就会弹出左图所示的界面,向用户申请消息下发权限了。
这里的代码,大家一行都不用改。
前端成功申请用户允许下发消息的权限之后,后端就可以给用户发送通知消息了。
右边是发送订阅消息时调用的微信函数,总共需要传递5个参数:
第一个是用户的openid,我们需要告诉微信,给哪个用户发;
第二个是消息模板ID,我们需要告诉微信,用哪个消息模板;
第三个是用户收到通知消息之后,点击这个消息,跳转哪种小程序,小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版;
第四个是用户点击微信通知之后,跳转小程序的哪个页面;
第五个是需要消息模板所要求填写的字段的值
后端调用发送微信通知的接口后,用户的微信就可以收到如图的通知了。
下面请根据教学视频进行学习和操作
如果不是实时发送订阅消息呢?比如用户报名活动成功的时候申请下发权限,等活动开始前一天再推送消息,有啥思路吗?
你好 订阅消息的文档方便发下吗 因为我感觉我的是错的