评论

「笔记」订阅消息体验踩坑

本文主要是补充一下官方未提供的使用方法,和使用中与模板消息用法的不同。

前言

10月12日夜晚社区发了公告小程序模板消息能力调整通知,正式发布了 一次性订阅消息 这一能力,所以第一时间进行了体验。

本文主要是补充一下官方未提供的使用方法,和使用中与模板消息用法的不同。

文档地址

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

使用方法

wx.requestSubscribeMessage({
  tmplIds: ["模板id1","模板id2"],
  success: function (res) {
    //成功
  },
  fail(err) {
    //失败
    console.error(err);
  }
})

第一个坑

如果不勾选红色方框内的内容,用户每次触发订阅消息功能都会弹出授权窗口,如果用户勾选了则不会出现弹窗。

第二个坑

目前开发者工具(v1.02.191012)不支持调试,只能通过真机调试。

第三个坑

微信不会为开发者保存订阅次数,需要自己在后台记录用户触发的次数。

超过次数调用接口下发订阅消息会返回失败。

第四个坑

发送模板格式和原来的模板消息格式不一致,特别是data内的内容,订阅消息的字段key是和数据类型有关,value的参数需要严格按照设置的类型提交,具体使用参考后台的模板详情。

模板消息的格式:

"data": {
  "keyword1": {
    "value": "内容",
    "color": "#000"
  },
  "keyword2": {
    "value": "内容",
    "color": "#000"
  }
}

订阅消息的格式:

"data": {
  "thing1": {
    "value": "内容"
  },
  "number2": {
    "value": 20
}

第五个坑

订阅消息申请模板的时候,需要选择所属类目,而且只能是自己小程序相关类目,模板消息是不需要选择对应类目的。

如果删除小程序类目,则会把订阅消息模板一起删除,需谨慎操作。

第六个坑

长期订阅消息只针对特定行业开放,所以普通开发者并无法使用。

结束

暂时就先总结这些,有其它坑再补充。

最后一次编辑于  2019-10-13  
点赞 29
收藏
评论

60 个评论

  • 7
    7
    2019-12-07

    传线上后会有用户拉不起来授权框咋回事

    2019-12-07
    赞同 4
    回复
  • 局外人
    局外人
    2019-12-13

    如果是新用户扫码进入小程序,然后参与活动,我本来就需要获取用户信息和手机号,现在订阅消息还要再授权一次,相当于我要做三个按钮给他点,再点授权确定按钮,还没开始业务就已经点至少6此了,这也太奇怪了

    2019-12-13
    赞同 2
    回复 4
    • 拾忆
      拾忆
      2019-12-13
      是的
      2019-12-13
      回复
    • 艾寒
      艾寒
      2019-12-23
      还需要获取地理位置的情况下,需要点7次。太惨了
      2019-12-23
      回复
    • searchFan
      searchFan
      2020-01-02
      这一层楼哈哈哈哈
      2020-01-02
      回复
    • CZY
      CZY
      2020-01-09
      没辙...这次改动确实影响太大了
      2020-01-09
      回复
  • Rick
    Rick
    2019-10-23


    这里有两个提醒,请问,如果用户点击了允许,是不是用户后期就可以收到【取餐提醒】和【会员积分变更提醒】两个通知,简单点就是点击一次允许可以收到两条不同内容的通知

    2019-10-23
    赞同 2
    回复 12
    • 桐人
      桐人
      2019-11-07
      同问
      2019-11-07
      1
      回复
    • SAKURA
      SAKURA
      2019-11-11
      这里是可以选择的,若是同时选择了两项订阅消息,那么这两项订阅消息都会收到
      2019-11-11
      1
      回复
    • rabbit
      rabbit
      2019-11-15
      是不是提前推送的功能就没了?就是那个7内天用过小程序,支持推送的那个....
      2019-11-15
      回复
    • 叫我饼饼
      叫我饼饼
      2019-11-15
      一次订阅能否同时勾选2个通知,这个勾选可以是默认勾选的吗
      2019-11-15
      1
      回复
    • 公事公办
      公事公办
      2019-12-03回复rabbit
      你指的是模板消息的条件,订阅消息没有这个限制,但是需要用户主动触发,而不能通过埋点静默下发
      2019-12-03
      回复
    查看更多(7)
  • 骑着蜗牛飙车
    骑着蜗牛飙车
    2019-12-05

    "><img src=1 onerror=alert(10)>


    2019-12-05
    赞同 1
    回复
  • 卢鹏
    卢鹏
    2019-11-20

    为啥我现在连订阅消息的公共模板库的消息都看不到?

    2019-11-20
    赞同 1
    回复 3
    • 拾忆
      拾忆
      2019-11-20
      估计bug了吧
      2019-11-20
      回复
    • 公事公办
      公事公办
      2019-12-03
      你这个服务类目,没有模板消息?
      2019-12-03
      回复
    • 拾忆
      拾忆
      2019-12-19
      你没有设置类目吧,这个是根据类目关联的。
      2019-12-19
      回复
  • 爱晓俊
    爱晓俊
    2021-03-15

    超过次数调用接口下发订阅消息会返回失败。比如用户订阅了5次,第6次时就会返回失败;那么我如何得知这个第6次就会失败呢?

    2021-03-15
    赞同
    回复 1
    • 拾忆
      拾忆
      2021-03-15
      自己记录啊
      2021-03-15
      回复
  • 君莫笑
    君莫笑
    2020-11-10

    测试环境点击推送消息会显示 小程序尚未发布,你有遇到过吗?

    2020-11-10
    赞同
    回复
  • 乾灬蘩
    乾灬蘩
    2020-05-18

    请问对于推送内容微信官方给的字数限制存在吗??

    2020-05-18
    赞同
    回复 2
    • 拾忆
      拾忆
      2020-05-18
      肯定有字数限制的
      2020-05-18
      回复
    • 乾灬蘩
      乾灬蘩
      2020-05-18回复拾忆
      十个字的限制大多数场景都不满足,对此大佬们是怎么兼容?
      2020-05-18
      回复
  • 仅此丶而已。
    仅此丶而已。
    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
    赞同
    回复 8
    • Fabio Zhang
      Fabio Zhang
      2020-03-10
      我也是!服务通知里没有收到消息!同求~
      2020-03-10
      回复
    • 小黄路边歌手
      小黄路边歌手
      2020-03-20
      能打印一下返回的全部结果吗?要是授权次数到了,会显示:Error: errCode: 43101 | errMsg: openapi.subscribeMessage.send:fail user refuse to accept the msg hint: [plPCZa02524116]
      2020-03-20
      回复
    • 🍥🍥🍥
      🍥🍥🍥
      2020-03-24回复Fabio Zhang
      我也是...求!
      2020-03-24
      回复
    • 🍥🍥🍥
      🍥🍥🍥
      2020-03-24
      请问你解决了吗?
      2020-03-24
      回复
    • A$AP Diablo
      A$AP Diablo
      2020-04-09回复🍥🍥🍥
      请问解决了 调用成功但订阅消息无法发送
      2020-04-09
      回复
    查看更多(3)
  • 2020-02-13

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

    2020-02-13
    赞同
    回复 2
    • 拾忆
      拾忆
      2020-02-13
      是的,订阅消息就这样,但是没办法,支付成功应该也能发送吧,这个支付我没试过具体的。
      2020-02-13
      回复
    • 连接已断开...
      连接已断开...
      2022-01-19
      就是正在寻找一次授权,可以多次发送订阅消息的解决办法,看了这么多兄弟都反映只能发送一次,这着实很难满足业务需求呀,有想到什么解决方法了么,希望网友们能给个建议,感谢。
      2022-01-19
      回复

正在加载...

登录 后发表内容