评论

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

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


订阅消息流程:

  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页面功能才需要的推送,难啊。本来用模板消息可以实现的逻辑,现在有点不知所措了。

点赞 5
收藏
评论

6 个评论

  • 泵泵们的爸爸
    泵泵们的爸爸
    03-21

    关于订阅问题如果客户选择了总是保持以上选择不再询问,倒是可以后台默默帮客户自动订阅,并在订阅成功后记录一下订阅次数,每次订阅消息都返回一个剩余通知次数,让客户自己再点击订阅,问题总是能得到解决的,只是解决方案比较怪异,或者给客户一个框让他填写自动订阅次数,我们就做个for循环,多次调用订阅方法。当然如果微信做了调用间隔限制,我们就做一个定时器,按时间间隔自动订阅

    03-21
    赞同
    回复 2
    • 养猪大户
      养猪大户
      03-21
      这也是不得以而为之的设计。终究还是订阅消息这个机制不合理
      03-21
      回复
    • 泵泵们的爸爸
      泵泵们的爸爸
      03-21回复养猪大户
      他们在寻求滥用和可用之间的平衡,而且我试着申请模版,两次都被拒绝了,说是标题和类别不符,用他们给的公共模版看着挂怪的
      03-21
      回复
  • 333
    333
    2019-12-08

    没有长期订阅的话,我可能要在开发版上自己写个button ,无聊的时候点几下......我的头@!@

    2019-12-08
    赞同
    回复
  • 烧饼
    烧饼
    2019-12-04

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

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

    2019-12-04
    赞同
    回复 2
    • 养猪大户
      养猪大户
      2019-12-05
      这个倒还好,兼容性的话,你可以设置最低基础库,用户达不到就自己升级好了。前几天看到社区有很多人建议全面开放长期订阅,决定权交给用户,而官方也回复说在考虑。
      2019-12-05
      回复
    • larva
      larva
      2019-12-27回复养猪大户
      版本是2.8.2意思是今年5月前未更新的用户我都不能使用模板推送了。必须更新是吗。很多海外微信一般很少更新的。那这没得搞了是吗!!!???
      2019-12-27
      回复
  • Jianbo
    Jianbo
    2019-11-23

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

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

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

    2019-11-10
    赞同
    回复 2
    • 养猪大户
      养猪大户
      2019-11-11
      是的
      2019-11-11
      回复
    • J.swipo
      J.swipo
      2019-12-03回复养猪大户
      请问一下,是不是,每次订阅消息都需要点击button
      2019-12-03
      回复
  • 勿忘我
    勿忘我
    2019-11-06

    我用了

          wx.requestSubscribeMessage({

            tmplIds: ['B6tjeE4zqQCGP0mCSBAERnS6gq9_Oj8haDO0mCiqrk8'],

            success(res) {

              console.log("订阅成功")

             }

          })

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

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