【实战】微信小程序订阅消息,后台SpringBoot实现

消息能力是小程序能力中的重要组成,以便实现服务的闭环和更优的体验。 此前的小程序模板消息接口于2020年1月10日下线(我们开发者太难了…),2.10.0 版本开始,开发版和体验版小程序将禁止使用模板消息 fomrId。开发者可使用订阅消息功能。订阅消息特点:

  • 订阅消息推送位置:服务通知
  • 订阅消息下发条件:用户自主订阅
  • 订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页面

订阅消息的使用主要以下几个步骤:

  1. 获取模板 ID
  2. 获取下发权限
  3. 调用接口下发订阅消息

根据我的理解和结合系统,对订阅消息功能总结了一个流程图,下面会有每一步的详细操作及代码
在这里插入图片描述

1. 获取模板ID

在微信公众平台手动配置获取模板 ID,登录 微信开发者平台 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。
在这里插入图片描述
在这里插入图片描述

一次性订阅和长期订阅

  1. 一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。
  2. 一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。

了解更多,自行参考官方文档的消息

2. 获取下发权限

订阅消息的发送同时还需要用户同意接收,否则用户将不会收到消息。在小程序中需要调用下面API,调起客户端小程序订阅消息界面。

由于开发文档写的细节不够到位,可能会遇到许多坑。

  1. 这个发送订阅消息的API无法在模拟器上生效,必须是真机调式状态下才可正常使用。
  2. 需要写回调函数才能生效。原理自己去了解吧…
wx.requestSubscribeMessage({
   
  // 你理解为询问用户,愿不愿意接收这个模板的订阅消息	
  tmplIds: [''],	//模板ID
  success(res) {
   
    console.log('已授权接收订阅消息')
  },
  complete(res) {
   
    console.log(res)
  }
})

3. 调用接口下发订阅消息

参考下发订阅消息官方文档:发送订阅消息

3.1 https请求
POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN

调用接口url:https://api.weixin.qq.com/cgi-bin/message/subscribe/send
请求方式method:POST
请求参数data:access_token

所以我们首先需要拿到到的是参数:access_token(后台接口调用凭据),参考官方API 文档,我自己实践了一下,请参考:获取access_token

3.2 POST请求体参数

post请求体中对应的参数,必须是json格式。注意仔细看官方文档,切记,格式很重要!!!

//介绍一下几个必须填写的请求参数
access_token:接口调用凭证
touser:接收者(用户)的 openid
template_id:所需下发的订阅模板id
data:模板内容,格式形如 {
    "key1": {
    "value": any }, "key2": {
    "value": any } }
//更多仔细查看官方API文档<
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔚蓝不远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值