功能描述:用户进行弹窗订阅授权后,给用户下发消息通知提醒
使用场景:优惠券过期,会员过期,活动通知等等
前端
获取模版ID
在微信公众平台 一> 功能 一> 订阅消息 手动配置获取模板 ID:登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用
获取下发权限
使用 wx.requestSubscribeMessage调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态
wx.requestSubscribeMessage({
tmplIds: [''], // 模板ID 一次调用最多可订阅3条消息
success (res) {
//这里会返回用户订阅是否订阅
}
})
后端
调用接口下发订阅消息
当用户授权订阅之后,可以按照业务需求在需要的时间调用服务端接口 subscribeMessage.send发送消息通知。
https调用:
POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
请求参数:
{
"touser": "OPENID", //要发送目标用户的openid
"template_id": "TEMPLATE_ID", //模板id
"page": "/pages/index/index", //点击消息要跳转的页面
"miniprogram_state":"developer", //跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
"lang":"zh_CN",
"data": {
"name01": {
"value": "某某" //注意:value的内容需要严格按照对象名所对应的官方规则填写,否则会发送失败
},
"amount01": {
"value": "¥100"
},
"thing01": {
"value": "广州至北京"
} ,
"date01": {
"value": "2018-01-01"
}
}
}
请求头最好设置为UTF-8编码 否则中文可能会在小程序返回?????
常见问题
订阅次数
1 勾选了【总是保持以上选择,不再询问】,是不是就可以多次向发送通知了?
答:不能,用户没有再次点击触发订阅的按钮就不会增加订阅次数。勾选之后只是触发订阅时不再弹窗,保持上一次用户的选项进行订阅接口的调用。
2 用户一天内多次点击订阅后,是不是就能发送多条通知?
答: 是的,用户一天内点了N次订阅,就可以向用户发送多条通知。
3 用户点击订阅后,此次发通知机会的有效期是多久?
答: 永久有效。
4 勾选部分模版,再选择勾选 【总是保持以上选择,不再询问】,点击【确定】后,下次订阅哪几个模版的订阅次数会增加?
答: 如上图,只勾选了AB,然后保持选项点击【确定】,下次订阅时只有A,B模版的订阅次数会增加。
5 勾选部分模版,再选择勾选 【总是保持以上选择,不再询问】,点击【取消】后,下次订阅哪几个模版的订阅次数会增加?
答: 如果选择了【取消】+ 【保持选项】,所有订阅消息次数都不会再增加。如上图,不管是否勾选,A、B、C三个模版次数都不会增加。
补充:当用户不勾选“总是允许”,但激活模板按钮并点击拒绝时,不会减少之前已经订阅的次数,只是表示当前这次点击为不允许,即不增加订阅的次数。
6 勾选【总是保持以上选择,不再询问】选项后,如何修改选择?
答: 可以在小程序设置页面,配置是否接收模版消息。(小程序右上角三点按钮,可以唤起进入设置页面的面板)
补充:可以直接调用 openSetting打开设置页,设置完成后会返回此次用户操作的内容,订阅消息的内容默认不返回,需要设置withSubscriptions属性为true时才会返回。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
7 为什么我设置的通知页面没有显示MP后台配置的通知模版?
答:只有勾选过【总是保持以上选择,不再询问】的模版消息才会进入这个配置页面。
8 关闭接口通知按钮后(上图红框内按钮),再开启,订阅次数怎么计算?
答: 关闭按钮后,所有通知都无法接收,订阅次数全部清零。当关闭单条订阅消息时,这条的订阅次数会清零。所以重新开启后,也需要用户重新订阅才能再次发送通知。
弹窗相关
1 模版ABC已经勾选【保持选项】,在另一处同时订阅ADF,此时还会弹窗吗?
答: 会,但是弹窗中只会有两个模版DF,模版A不显示。
2 开发者勾选【总是保持以上选择,不再询问】后,怎么重新唤起弹窗?
答:微信开发者工具,清除全部缓存。重新生成二维码,测试机扫码后即可重新唤起弹窗。
Tips:登陆开发者工具的微信账号和需要重置弹窗的微信账号需要保持一致。文章来源:https://www.toymoban.com/news/detail-847309.html
部分参考:小程序一次性订阅消息详解 | 微信开放社区文章来源地址https://www.toymoban.com/news/detail-847309.html
到了这里,关于微信小程序订阅消息功能的前后端配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!