微信小程序订阅消息开发流程

微信小程序订阅消息开发流程

  • 前言
  • 环境
  • 微信公众平台
  • JAVA

前言

  • 公众号分订阅号和服务号:
    订阅号为每天1次,但是会隐藏在订阅栏目中,不会有数字通知;
    服务号为每月4次,可以像朋友消息一样有数字通知。此外服务号还有一种模版消息,可用于公众号向用户发送重要的服务通知,日调用上限为10万次。

  • 小程序的消息通知也有订阅功能:参考资料
    一次性订阅:一次调用最多可订阅3条消息。
    永久订阅:用户订阅一次后,开发者可长期下发多条消息。目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放。

环境

  • 微信小程序
  • 微信公众平台
  • JAVA后端开发

微信公众平台

登录小程序,选择订阅消息并开通
微信小程序订阅消息开发流程_第1张图片
然后选择一次性订阅消息(永久订阅不太好申请)。注意,从一次性订阅消息模板中选择订阅消息时,你能搜索看到的订阅消息模板跟你登录的小程序类目有关,类目设置位置见下图。
微信小程序订阅消息开发流程_第2张图片
当你选用了正确的合适的模板后,将模板的ID给到后端,此外还有模板下的详细内容字段。如下图(点击我的模板->详情)
微信小程序订阅消息开发流程_第3张图片
因为我的模板时通过后端接口获取的,所以我的模板是可以在上线以后再重新修改?还没试过,但理论来说可行。

JAVA

因为我们后端要计数用户同意的模板,未同意的就不发送通知了。当时考虑的方案有2

  1. 前端从微信的回调方法中拿到结果通过接口上传给后端
  2. 后端直接对接微信,通过订阅消息事件推送来获取用户授权情况

经过前端的坚持不懈的抗争(从复用性、扩展性以及可靠程度等等方面摆道理讲事实以及充分的忽悠能力),决定采用方案2。但在对接的过程中遇到一个问题。提交时总是报错
微信小程序订阅消息开发流程_第4张图片

在小程序的开发管理->开发设置->消息推送,配置信息时按照要求将文件放到对应域名下但还是失败。问了后台开发,说是已按照要求做了接受消息推送的Post方法。微信在这方面也没有详细的说明,就只能去百度谷歌找找经验了。

偶然看到一个同坑位前人栽的树,一看阴凉貌似挺大,躲一下~
微信小程序订阅消息开发流程_第5张图片

微信在提交时会发送一个get请求到提交的服务器地址上来做一个认证,表示该地址有效且合法。但我们服务端只做了post的消息接收请求,没有做get请求,所以在提交的时候微信认证是不通过的,报失败也就情有可原了。立马通知后端~赶紧做,坐等
经过后端开发人员加班加点(没有验证签名,直接返回echostr,此字段一定要原样返回,不然可能还是会类型不对导致验证失败)后,配置成功!
测试如下
在这里插入图片描述

成功配置
微信小程序订阅消息开发流程_第6张图片
另附后端代码
链接: https://pan.baidu.com/s/1n9X6ss1jGqXvPn7zSyUJZg 提取码: htc3

你可能感兴趣的:(日常日志,微信小程序,小程序,微信,订阅消息,一次性订阅消息)