评论

微信小程序订阅消息汇总,持续跟进中

微信小程序订阅消息


最近在搞微信小程序订阅消息,遇到不少的坑,这篇文章的初衷就是帮忙开发者少踩坑,业务能快速对接订阅消息。


也欢迎开发者私聊我,咱们一起维护这个列表。


下面有部分内容是从@拾忆和@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没有这个问题;后续会修复

最后一次编辑于  2020-02-16  
点赞 8
收藏
评论

24 个评论

  • 仅此丶而已。
    仅此丶而已。
    2020-02-26

    我用小程序体验版订阅消息,后台服务发送消息 返回的OK,但是微信服务通知里确没有收到消息?

    string Url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+ token;

                    var postdata = new

                    {

                        touser = openId,

                        template_id = templeteId,

                        page = "pages/index/index",

                        data = new

                        {

                            thing1 = new

                            {

                                value = "今日行程"

                            },

                            date2 = new

                            {

                                value = "2020-02-20"

                            },

                            thing4 = new

                            {

                                value = "请做好准备,即将出发"

                            }

                        }

                    };

                    wenXinResult = HttpHelper.HttpPostJson(Url, JsonHelper.Serialize(postdata), false);

    wenXinResult 里返回的是成功!服务通知里确没有收到消息,请教下这是什么原因呢?



    2020-02-26
    赞同
    回复 1
    • 耿霄
      耿霄
      2020-02-26
      服务通知里确没有收到消息,这个是推送你自己的还是其他用户
      2020-02-26
      回复
  • 神经蛙
    神经蛙
    2020-02-24
    5.2020-01-071510 小程序订阅消息的相关接口频次上限是多少(当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。https://developers.weixin.qq.com/community/develop/doc/00084455e7c068058ab9db8d656800
    

    针对这条有一些疑问:

    1. 小程序订阅消息的相关接口指的是拉取模板列表、对消息模板的增删改接口?包括subscribeMessage.send(https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html) 这个接口吗?后者我看文档里写的额度是至少1kw/日,但实际上进行消息推送时,观察服务端日志发现消息已推送成功({"errcode":0,"errmsg":"ok"})但用户却没有收到。我们目前的每日订阅消息推送量在20w上下。
    2. 当账号粉丝超过。。。 这段是针对公众号后台推送的,跟小程序没关系吧?


    2020-02-24
    赞同
    回复
  • 子凯
    子凯
    2020-02-21

    弹出订阅消息授权框需要用户点击,如果我有一个列表A,点一个list进入B详情页面,点击的时候调用授权可以吗?这种逻辑怎么处理??

    2020-02-21
    赞同
    回复 1
    • 耿霄
      耿霄
      2020-02-21
      我们只需要定义好触发时机,剩下的事情就是微信框架在处理
      2020-02-21
      回复
  • Admin ²º²⁴
    Admin ²º²⁴
    2020-02-19

    不错,受益了。

    针对新手很容易出现理解误区的微信小程序订阅消息模块 | 微信开放社区

    https://developers.weixin.qq.com/community/develop/article/doc/0006ac060e4e80183bc9654b856013

    2020-02-19
    赞同
    回复 1
    • 耿霄
      耿霄
      2020-02-20
      真棒
      2020-02-20
      回复
  • 2020-02-13

    老哥,我想问下现在订阅消息的应用场景,我看现在只支持点击按钮上才能弹出订阅消息这个框,并且订阅消息还只能一次授权,也就是授权一次只能发送一次订阅消息,这样的话有很多应用的场景都满足不了,比如我买东西支付成功店家发货的时候通知买家快递号发送订阅消息,但是买一次点一次支持订阅消息,那这样的话功能不就是很鸡肋!!!

    2020-02-13
    赞同
    回复 1
    • 耿霄
      耿霄
      2020-02-21
      非常抱歉,才看到。可以一次订阅多个消息模板,放多个模板就行。 如果你们符合长期订阅的要求,可以申请长期订阅
      2020-02-21
      回复
  • YANG
    YANG
    2020-01-14

    开发板调试订阅消息,点击按钮发送了订阅,但是一直不弹起订阅消息界面

    2020-01-14
    赞同
    回复 5
    • 耿霄
      耿霄
      2020-01-14
      打印 sucess 和 fail 回调函数的结果看一下
      2020-01-14
      回复
    • YANG
      YANG
      2020-01-14回复耿霄
      这是返回的结果
      2020-01-14
      回复
    • YANG
      YANG
      2020-01-14回复YANG
      在开发者工具中会弹出一个弹窗,真机上不能,之前我试过测试支付后发送订阅消息是可以弹出订阅弹窗的,现在我是直接点击按钮触发。下图是在开发者工具上点击按钮弹出的弹窗:
      2020-01-14
      回复
    • 耿霄
      耿霄
      2020-01-14回复YANG
      点击和微信支付回调都支持
      2020-01-14
      回复
    • 耿霄
      耿霄
      2020-01-14回复YANG
      返回的结果就是允许哈,好好看下文档哈
      2020-01-14
      回复
  • Wang
    Wang
    2020-01-14

    最大的bug是提交表单,不支持form表单提交触发,想要用表单还想获取订阅消息权限的话实现起来就比较麻烦

    2020-01-14
    赞同
    回复 1
    • 耿霄
      耿霄
      2020-01-14
      是的,需要改造哈
      2020-01-14
      回复
  • Catcheer
    Catcheer
    2020-01-11

    遇到了页面切换弹窗消失的现象,目前把后续操作放到回调里了

    2020-01-11
    赞同
    回复 2
    • 耿霄
      耿霄
      2020-01-11
      是 微信版本 7.0.8吗
      2020-01-11
      回复
    • Anoxia
      Anoxia
      2021-08-02
      你这个怎么处理的呀,我目前也是ios登录后跳转然后订阅消失了
      2021-08-02
      回复
  • Catcheer
    Catcheer
    2020-01-11

    有个问题 支付成功之后弹出订阅消息弹窗让用户订阅,这样还能收到支付成功的消息嘛? 是否会有延迟?


    2020-01-11
    赞同
    回复 1
    • 耿霄
      耿霄
      2020-01-11
      这个要看你发送的时机,如果是用户先允许订阅,然后再发就可以收到。都是异步的
      2020-01-11
      回复
  • solgh
    solgh
    2020-01-08

    wx.requestSubscribeMessage 同时发送一次性和 长期订阅弹框会有BUG,而且只会显示一次性订阅的

    2020-01-08
    赞同
    回复 5
    • 耿霄
      耿霄
      2020-01-08
      我们的小程序不这次长期订阅。
      稳定复习吗
      2020-01-08
      回复
    • solgh
      solgh
      2020-01-08回复耿霄
      发BUG贴了 等官方修复吧
      2020-01-08
      回复
    • 耿霄
      耿霄
      2020-01-10回复solgh
      有结论辛苦同步下
      2020-01-10
      回复
    • solgh
      solgh
      2020-01-10回复耿霄
      官方回复了 看我 发的帖子里有
      2020-01-10
      回复
    • 耿霄
      耿霄
      2020-01-10
      链接发一下
      2020-01-10
      回复

正在加载...

登录 后发表内容