好像蛮久没写有关代码类的文章了 之前写过关于公众号模板消息开发的 聊聊公众号[服务号]的模板消息功能开发-1 聊聊公众号[服务号]的模板消息功能开发-2 有兴趣的可以返回去看看 今天聊聊微信小程序的 订阅消息 先看看效果 某幸上比较容易看到效果 大概是下面截图这样

一般品牌方会用这个 在客户授权通过的情况下 给客户推送活动促销 商品促销等信息 这个功能很早小程序各种爆发的时候 超级好用 可以给用户各种乱推信息 也没什么消息数量限制 真怀念那会 后来因为有部分开发者滥用 好像说蛮多用户投诉 然后这个功能就被官方各种阉割各种改动...

现在开发的话 大概流程是 小程序这边 界面上留个按钮

[就类似我们给用户写的 客户下单配送的订单 但是付款成功之后 如果用户没关注公众号 就没法实时推送订单的状态变化 类似 订单已开始配送 配送师傅已取货 这样]

那用户付款成功之后 按钮上显示的 大致是 跟踪订单状态 用户点击之后 会弹出一个授权框 只有在用户点击 允许授权的情况下 订阅消息才能发送成功 而且订阅消息 如果有3个 比如说 订单取货 订单开始配送 订单转派 小程序这边会一次性弹出3个授权开关... 只要有一个 没通过授权 消息发送 就没办法触达 嗯 就比较坑 官方说法是 保护用户不被打扰

大概的意思就是这样 先说下程序这边的开发 官方的开发文档是这个

https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-message-management/subscribe-message/sendMessage.html

进入自己的公众开放平台之后 左边菜单

进入之后 在公共模板库里 选择需要通知客户的消息模板 可以搜索模板 点击选用 在新弹出的页面里 选择字段 左边会有效果预览 还可以字段排序 填一下大概的场景说明 提交就ok

提交完之后 和公众号的模板消息一样 会有模板ID和字段详情 复制一下模板ID 小程序这边有一个 调起订阅消息授权的方法 官方文档是下面这个

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html

代码的话是这样 tmplIds参数传的是一个数组 如果一次性有3个ID 可以填入3个ID

wx.requestSubscribeMessage({ tmplIds: ['xxxxxxxxxxxxxxxxxxxxxxxx'], success(res) { console.log('发送新的订阅消息', res); }})

官方解释是这样的

然后上面的方法 用个Button写个点击方法 用户点击之后 便会调起授权接收订阅消息[截图是在模拟器上的效果]


真机是这个截图

用户允许授权之后 小程序的方法会有成功回调 可以通过回调判断下通知服务端那边 决定是否正常给客户发送消息 回调里如果有多个ID 会单独返回那个ID的模板客户授权接收了 很容易判断


{ errMsg: "requestSubscribeMessage:ok" xxxxxxxxxxxxxxx: "accept"}


小程序这边的代码差不多就这样 明天接着写服务端的代码

保持好奇 不断进步 下期见~