背景
10月12日微信官方发布了小程序模板消息能力调整的通知 https://developers.weixin.qq.com/community/develop/doc/00008a8a7d8310b6bf4975b635a401
相比之前的有了较大的调整,主要的调整就是从开发者主动下发消息改为用户自主订阅,也就是说必须要用户手动订阅才行,而订阅消息又分为了一次性订阅消息和长期性订阅消息,长期性订阅消息需要有特定公共服务业务这里就不介绍了,本文主要讲的是一次性订阅消息。
开发准备
如果还没有开通订阅消息的要在小程序后台里开通订阅消息后添加需要的模板,添加完后的红框中的变量就是订阅消息接口要用到的data了
编写云函数
-
新建云函数,appid跟secret填你自己的即可,
由于订阅消息需要access_token,所以在使用订阅消息接口前要先获取access_token,这里我把他们都放在一个云函数里了 -
新建好后要安装依赖,这里用到了
request-promise
模块,所以要在该目录下npm install request-promise
-
代码如下
页面调用
传入对应的参数即可
- 返回结果
总结
总的来说并不难,只是有个地方要注意一下,由于之前没怎么用过云开发,不知道它返回的数据结构会有差异,比如在获取access_token的时候发现一个特别之处,在小程序里进行调用的时候,成功的话返回是下图这种格式的
但是本地调试的时候返回又是这种格式的
少了外面一层object,导致我判断access_token一直报错,调试了好久才发现,好在最后是可以成功获取到。
再来说这次调整,作为用户的我来说我觉得是很ok的,起码我可以选择不接收订阅消息,不像之前那样莫名其妙的就收到了一个订阅消息还不知道是哪个程序的,我是很反感这种的。但是对于一些企业来说可能就不是那么友好了,降低了触达用户的机会。但是不管怎样,身为开发者的可是有得忙了。
代码就不放了,都在图片里,自己动手敲一遍比较好
大佬帮我看看为什么按照官方的示例实现不了订阅消息
云函数:
config.json 已配置 "subscribeMessage.send"
页面调用:
大佬牛逼v587帅
大佬 我的成功了 为什么没来通知
请假大佬,延时推送订阅消息怎么搞啊?
用云开发,需要开启消息推送吗?
用啥图片
大佬,这个模板你是自己申请的吗?现在公共模板库里好像只有两种,而且使用的话都需要填写使用场景。还有就是如果是你自己申请的话,麻烦问下模板审核速度快嘛?
感谢分享~ 云开发应该会很快更新订阅消息的云调用