评论

【云开发】用云开发实现订阅消息

本文主要介绍如何结合云开发使用订阅消息

背景

10月12日微信官方发布了小程序模板消息能力调整的通知 https://developers.weixin.qq.com/community/develop/doc/00008a8a7d8310b6bf4975b635a401
相比之前的有了较大的调整,主要的调整就是从开发者主动下发消息改为用户自主订阅,也就是说必须要用户手动订阅才行,而订阅消息又分为了一次性订阅消息和长期性订阅消息,长期性订阅消息需要有特定公共服务业务这里就不介绍了,本文主要讲的是一次性订阅消息。

开发准备

如果还没有开通订阅消息的要在小程序后台里开通订阅消息后添加需要的模板,添加完后的红框中的变量就是订阅消息接口要用到的data了

编写云函数

  1. 新建云函数,appid跟secret填你自己的即可,
    由于订阅消息需要access_token,所以在使用订阅消息接口前要先获取access_token,这里我把他们都放在一个云函数里了

  2. 新建好后要安装依赖,这里用到了request-promise模块,所以要在该目录下npm install request-promise

  3. 代码如下

页面调用

传入对应的参数即可

  1. 返回结果

总结

总的来说并不难,只是有个地方要注意一下,由于之前没怎么用过云开发,不知道它返回的数据结构会有差异,比如在获取access_token的时候发现一个特别之处,在小程序里进行调用的时候,成功的话返回是下图这种格式的

但是本地调试的时候返回又是这种格式的

少了外面一层object,导致我判断access_token一直报错,调试了好久才发现,好在最后是可以成功获取到。

再来说这次调整,作为用户的我来说我觉得是很ok的,起码我可以选择不接收订阅消息,不像之前那样莫名其妙的就收到了一个订阅消息还不知道是哪个程序的,我是很反感这种的。但是对于一些企业来说可能就不是那么友好了,降低了触达用户的机会。但是不管怎样,身为开发者的可是有得忙了。

代码就不放了,都在图片里,自己动手敲一遍比较好

相关接口

订阅接口

获取access_token接口

下发消息接口

最后一次编辑于  10-14  
点赞 5
收藏
评论

7 个评论

  • 伍同学
    伍同学
    10-20

    大佬帮我看看为什么按照官方的示例实现不了订阅消息

    云函数:

    config.json 已配置 "subscribeMessage.send"


    页面调用:


    10-20
    赞同 1
    回复 2
    • var 友原
      var 友原
      10-21
      返回什么错误,这个声明了吗
      10-21
      回复
    • 上善若水
      上善若水
      12-05
      二佬牛逼v587帅
      12-05
      回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    10-14

    大佬牛逼v587帅

    10-14
    赞同 1
    回复 1
    • var 友原
      var 友原
      10-14
      大佬喝茶
      10-14
      1
      回复
  • 上善若水
    上善若水
    12-02

    用云开发,需要开启消息推送吗?

    12-02
    赞同
    回复 11
    • var 友原
      var 友原
      12-02
      要的吧
      12-02
      回复
    • 上善若水
      上善若水
      12-02回复var 友原
      那个后台的token怎么解决
      12-02
      回复
    • var 友原
      var 友原
      12-02
      不是有获取token的接口吗,在云开发里调用就行了
      12-02
      回复
    • 上善若水
      上善若水
      12-02回复var 友原
      12-02
      回复
    • 上善若水
      上善若水
      12-02
      12-02
      回复
    查看更多(6)
  • rm -rf
    rm -rf
    10-15

    用啥图片

    10-15
    赞同
    回复
  • 小超人
    小超人
    10-15

    大佬,这个模板你是自己申请的吗?现在公共模板库里好像只有两种,而且使用的话都需要填写使用场景。还有就是如果是你自己申请的话,麻烦问下模板审核速度快嘛?

    10-15
    赞同
    回复 1
    • var 友原
      var 友原
      10-15
      是要根据你的小程序所选的类目来的,它会给出几个模板让你选,我只是随便选一个而已,自己申请的我没试过,不太清楚
      10-15
      回复
  • 染柒
    染柒
    10-14

    感谢分享~  云开发应该会很快更新订阅消息的云调用

    10-14
    赞同
    回复
  • 假装在上海
    假装在上海
    10-14

    厉害厉害~

    不过订阅消息现在支持云函数了,不用再去获取access_token,方便了很多

    10-14
    赞同
    回复 2
    • var 友原
      var 友原
      10-14
      嗯,是挺方便的,这样就可以省去一步了
      10-14
      回复
    • 木心
      木心
      10-16
      很好的文章,谢谢
      10-16
      回复