最近在搞微信小程序订阅消息,遇到不少的坑,这篇文章的初衷就是帮忙开发者少踩坑,业务能快速对接订阅消息。
也欢迎开发者私聊我,咱们一起维护这个列表。
下面有部分内容是从@拾忆和@Jianbo摘取的,如有侵权,联系我,我来删除。
官方文档
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html
订阅消息体验踩坑@拾忆
https://developers.weixin.qq.com/community/develop/article/doc/000e22321b8ef0b9bc491ae9c53c13
小程序订阅消息开发指南@Jianbo
https://developers.weixin.qq.com/community/develop/article/doc/00026407d58cf07bb96941b0e5b813
开发者需要关注的点
1.如果不勾选红色方框内的内容,用户每次触发订阅消息功能都会弹出授权窗口,如果用户勾选了则不会出现弹窗。
2.微信不会为开发者保存订阅次数,需要自己在后台记录用户触发的次数。超过次数调用接口下发订阅消息会返回失败。
3.发送模板格式和原来的模板消息格式不一致,特别是data内的内容,订阅消息的字段key是和数据类型有关,value的参数需要严格按照设置的类型提交,具体使用参考后台的模板详情。
4.长期订阅消息只针对特定行业开放,所以普通开发者并无法使用。
5.用户是否勾选总是保持以上选择,不再询问,这个对开发者透明
6.测试环境如果勾选总是保持以上选择,就不会在弹出来,如果进入设置页关闭,也不会弹出来。有一个骚操作,就是去后台将订阅消息模板删除,重新新建一个,就会生成一个新的模板id,就能进行测试了
7.允许和拒绝的回调返回errMsg是一样的
低版本说明
1.基础库2.8.2 版本才开始支持,用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。
2.微信版本:一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置
使用的两种方式
1.点击行为,不能嵌套在form组件
2.支付回调,可以wx.requestPayment回调里使用
可参考的产品
1.luckin微信小程序,在支付之前体验
2.青柠单车小程序,扫码就能体验
bug
错误码
1.43101用户拒绝接受消息,如果用户之前曾经订阅过,则表示用户取消了订阅关系
changeLog
1.2019-12-31 20:00:目前订阅消息不支持跳开发版,我们会尽快优化解决
2.2020-01-02 12:55:微信开放平台,向非api方式注册的小程序添加订阅消息,小程序类目不符合订阅消息类目,添加不了,需要手动到微信后台设置类目
3.2020-01-02 19:00 新版订阅消息IOS手机bug,直接返回之后就不会在弹窗了,微信7.0.9版本已解决https://developers.weixin.qq.com/community/develop/doc/00008a645500e88023b9341fc51c
4.2020-01-06 15:00 小程序订阅消息弹出样式是系统默认的,目前开发者不允许修改
5.2020-01-071510 小程序订阅消息的相关接口频次上限是多少(当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。https://developers.weixin.qq.com/community/develop/doc/00084455e7c068058ab9db8d656800
6.2020-01-08 11:30 微信支付成功从A页面进入B页面,微信版本 7.0.8,页面切换时,订阅消息弹窗不显示了。微信版本7.0.9没有这个问题;后续会修复
不同主体的小程序可以公用一个模板id吗
5.用户是否勾选总是保持以上选择,不再询问,这个对开发者透明
这个如何判断
微信开放平台,向非api方式注册的小程序添加订阅消息,小程序类目不符合订阅消息类目,添加不了,需要手动到微信后台设置类目
路过
我不是大佬,我是打杂的
怎么说?