评论

模板消息与订阅消息对比分析

小程序新推出的订阅消息和即将下线的模板消息有哪些异同,这篇文章给你完整的分析,也欢迎大家不断补充、纠正。


订阅消息流程:

  1. 小程序管理后台添加及申请消息模板

  2. 前端通过button组件点击后调授权弹框,授权是针对于消息模板下发权限(单次授权最多支持3个模板Id)

  3. 后端 (通过openId和模板ID) 调用subscribeMessage.send发送订阅消息,未授权或拒绝推送的会返回错误信息


与模板消息对比:

    相同点:

    1. 都需要button或支付触发;

    2. 一次性订阅和模板消息一样,都是点一次订阅一条

    不同点:

  1. 订阅消息会有授权弹框, 而模板消息无弹框,只收集formId,用户是无感的;

  2. 订阅消息针对单个或多个消息模板授权以获取下发权限,而模板消息只要有formId就可以发送任意后台已选用的模板消息;

  3. 订阅消息授权模板A后,没有过期时间,突破了模板消息7天有效期的限制,而模板消息获取到的formId只有7天有效期,过期了就无法推送;

  4. 订阅消息支持长期订阅,但只针对于部分医疗、民生、交通、教育之类的线下服务开放,而模板消息不支持长期,都是一次性的。


使用方式差别:

    1. 模板消息。因为只需要formId,所以解决思路是尽可能多的收集。早期的做法是利用js事件穿透,嵌套很多层的form/button,但这个方法后来被微信屏蔽了。现在普遍的做法是在页面中埋点,将链接、跳转、tab之类的通通用from/button替代。

    2. 订阅消息。需要调用 wx.requestSubscribeMessage 对指定消息模板授权,如果用户不点击上图中的"总是保持以上选择,不再询问",就会一直弹弹弹,弹得你满脸鱼尾纹(因为这功能愁的)。


补充说明:

关于长期订阅,很多人都会眼前一亮,但尝试下来又开始 "祝福" 微信小程序团队。那几个大类下面还有很多二级分类,只有指定的分类才会支持长期,以我知道的举例,教育>培训机构 是可以的。但是呢,就算你刚好在这个类目里,以为自己可以用长期订阅了,里面没有长期模板,还不提供申请入口,你能怎么办?不过官方说了,也不是没有,他们只在论坛这类渠道收集用户反馈,再评估要不要加到模板库。我只想说,开发申请入口,审核严格一些,难道不会更好?

看过很多帖子,都提到一个问题,教育>培训机构是需要上传办学证明的,但非文化素质(像语文数学)的培训,比如舞蹈,是不需要办理办学证明的,相关机构也不给办,这是有国家规定的,但申请教育>培训机构这个类目时是必须你提供这个证明的,我自己也发帖反馈了好几次,微信团队理都不理,理了也总是那来回几句话,让提供相关机构证明文件或批复。

最好抛出一个棘手的问题,大家看看有没有好的解决方案?

模板消息不会弹框,用户无感,很方便去埋点,但一次性订阅就没那么好埋点了,毕竟是会弹窗的,而且也不能在A页面去引导授权C页面功能才需要的推送,难啊。本来用模板消息可以实现的逻辑,现在有点不知所措了。

最后一次编辑于  11-06  
点赞 4
收藏
评论

4 个评论

  • 烧饼
    烧饼
    1天前

    感觉这次有点太赶了。模板消息下线得太快,还有1个月就下线了,而订阅消息的最低基础库要求2.8.3。

    至少对用户而言,岂不是至少在明年1.10日之前得让用户都迁移到微信7.0.5以上?虽然我是支持所有用户都更新到最新的基础库,毕竟少些兼容性。

    1天前
    赞同
    回复 1
    • 养猪大户
      养猪大户
      11小时前
      这个倒还好,兼容性的话,你可以设置最低基础库,用户达不到就自己升级好了。前几天看到社区有很多人建议全面开放长期订阅,决定权交给用户,而官方也回复说在考虑。
      11小时前
      回复
  • Jianbo
    Jianbo
    11-23

    没有完美的消息,https://developers.weixin.qq.com/community/develop/article/doc/00026407d58cf07bb96941b0e5b813

    11-23
    赞同
    回复
  • YZMYZH
    YZMYZH
    11-10

    如果勾选了"总是保持以上选择,不再询问",是不是用户只要触发了订阅(点了按钮or付款后),无需弹窗就自动订阅了?

    11-10
    赞同
    回复 2
    • 养猪大户
      养猪大户
      11-11
      是的
      11-11
      回复
    • 擎不住。
      擎不住。
      2天前回复养猪大户
      请问一下,是不是,每次订阅消息都需要点击button
      2天前
      回复
  • 勿忘我
    勿忘我
    11-06

    我用了

          wx.requestSubscribeMessage({

            tmplIds: ['B6tjeE4zqQCGP0mCSBAERnS6gq9_Oj8haDO0mCiqrk8'],

            success(res) {

              console.log("订阅成功")

             }

          })

    我用了上述的代码,但是微信小程序订阅消息授权窗口始终没有出现是什么原因

    11-06
    赞同
    回复 11
    • 养猪大户
      养猪大户
      11-06
      1. 需要真机调试
      2. 小程序id和模板id不对应也是不会有弹框的
      11-06
      回复
    • 勿忘我
      勿忘我
      11-06回复养猪大户
      我用的是订阅消息的模板id然后我是用的是真机调试,但是还是没有弹框,是怎么回事?
      11-06
      回复
    • 养猪大户
      养猪大户
      11-06回复勿忘我
      1. 第二点确认了吗?模板id一定要是这个小程序下面选用的才行;
      2. 不行就自己点小程序右上角打开设置>消息订阅,看是不是以前选了不再弹出;
      3. 换个模板Id试试,再不行你就可以去给官方提bug了
      11-06
      回复
    • 勿忘我
      勿忘我
      11-06回复养猪大户
      我的小程序右上角设置里面没有消息订阅者这几个字?难道消息订阅是要分个人开发的小程序还是公司还是组织的吗
      11-06
      回复
    • 养猪大户
      养猪大户
      11-06回复勿忘我
      你是不是没有写在button或者支付的回调里?
      11-06
      回复
    查看更多(6)