微信小程序新服务消息推送 —— 订阅消息
微信团队前不久公测了「订阅消息」,原有的小程序模板消息接口将于 2020 年 1 月 10 日下线,届时将无法发送模板消息。「订阅消息」将完全替代「模板消息」,这两天得空测试了一波。
1、下发权限机制
我这边留言小程序用模板消息比较多,最有利的变化就是订阅消息只需用户授权即可,取消了模板消息的 formId,避免了获取、上传、储存、下发 formId 的流程,这个对开发者来说是好事。
同时将 7 天有效期的模板消息改成了用户自主订阅后,开发者可不限时间下发一条对应的服务消息,也就是没下发消息就永不过期。而模板消息只有 7 天有效期,过期没有使用需要写代码判断到期后自动清除,说不麻烦那是假话。
2、选择权交给用户
之前的模板消息下发是不需要用户授权的,理论上可以设计成一次点击操作得到发送一条消息的权限,这个过程用户是无感知的。
更有大神想出了骚操作,「隐藏、嵌套」大法,一次点击可以获取几十上百条模板消息下发的 formId,这个路子非常野,被一些小程序用来骚扰用户,后面被微信团队修复。
模板消息只要获取到了 formId,公共模板库里有的,都能下发,且数据类型没有限制的,也就是说,前面标识是姓名,但是开发者却可以推送时间给你。用户收到什么样的消息,完全取决于开发者。
订阅消息获取下发消息权限则需要用户确认,接不接收订阅消息,接收什么样的订阅消息,一次性订阅还是长期订阅,用的什么消息模板,用户都能看到,且只能发送已授权的订阅消息,决定权都在用户手里。

订阅消息还严格的控制了数据的类型和长度,类型和长度不符合要求服务消息将无法下发。不过搞不好订阅消息也能玩出一些想不到的骚操作。
3、一次性订阅 and 长期订阅
目前订阅消息我这边只能体验到「一次性订阅」,测试了一下订阅次数可以累加,这里有需要的话开发者可自行记录可发订阅数和剩余订阅数。
「长期订阅」现阶段仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期应该会开放更多的服务类目,同时申请长期订阅模板的审核也会更严格。

目前因为兼容性的问题,低版本的微信每次只能授权一条订阅消息,高版本才能一次授权多个订阅模板消息。
10 月 21 日更新的开发者工具无法识别「订阅消息」的 API,调试不能拉起授权框,直接报错。一开始我还以为是代码写错了,不过在真机上是可以正常拉起授权的。

4、用户体验
虽然这次的「订阅消息」对于开发者来说不太友好,但是我还是支持的,因为,除了支持我也不能咋地哈。新出来的功能没人喷那是不可能的,这个功能真辣鸡啊!

订阅消息的更新也是为了减少对用户不必要的打扰,一个良好的生态不管是对用户、开发者还是微信自身都很重要。
微信的用户体验在众多 APP 中还是挺不错的,最起码启动页无广告绝大多数 APP 做不到,一个日活过亿的 APP 能做到这个地步很不容易了。
前几天还出了通知,类似于“砍一刀”、“帮我加速吧”这类好友助力、加速、砍价和任务收集等将被微信视为违规活动,其中不少都在腾讯旗下,龙哥威武!再也不用向生活(PDD)低头了!

微信小程序新服务消息推送 —— 订阅消息的更多相关文章
- 微信小程序新单位rpx与自适应布局
rpx是微信小程序新推出的一个单位,按官方的定义,rpx可以根据屏幕宽度进行自适应,在rpx出现之前,web页面的自适应布局已经有了多种解决方案,为什么微信还捣鼓出新的rpx单位?在解释这个单位前,我 ...
- 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)
silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方 ...
- 微信小程序开发之formId使用(模板消息)
基于微信小程序的模板消息:基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验.模板推送位置:服务通知模板下发条件:用户本人在微信体系内与页面有交互 ...
- 微信小程序语音识别服务搭建全过程解析(项目开源在github)
silk v3录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) ## 重要的写在前面 重要事项一: 目前本文中提到的API已支持微信小程序录音文件格式:silk v ...
- 微信开发之获取openid及推送模板消息
有很多的朋友再问我怎么获取code,openid之类的问题,在这里我就给大家分享一下. 在做微信支付是需要获取openid的,推送模板消息也是需要openid包括其他一些功能分享等也都是需要的,ope ...
- 微信小程序统一服务消息下发接口 公众号和小程序消息都可以在一个接口推送了
昨天晚上,2018年9月11日,微信官方又更新了一大波的小程序功能.重点我们来谈谈这个功能,微信叫做统一服务消息下发接口. 这个是官方的文档 统一服务消息 · 小程序https://develope ...
- 多个微信小程序一个服务端架构
由于某些特定的业务场景,当多个小程序需要一个服务端后台提供数据时,大家可能想到是HTTP路由.是的,实际上我们使用微服务的GateWay网关也是一样的,如下图微服务架构: 网关GateWay的作用在于 ...
- .net平台借助第三方推送服务在推送Android消息(极光推送)
最近做的.net项目(Windows Service)需要向Android手机发送推送消息,真是有点困难,没有搞过就不停的搜文档,最后看到了一个开源项目PushSharp,可以在.net平台推送IOS ...
- 齐博x1 小程序与公众号长期永久订阅消息的申请方法
要给用户发送消息提醒的话,需要申请订阅消息.订阅消息分一次性订阅与长期永久性订阅.一次性订阅没有实际意义,用户订阅一次就只能发送一次.这里主要是指导大家如何申请永久长期订阅功能.对于公众号而言,大家先 ...
随机推荐
- 通过 Drone Rest API 获取构建记录日志
Drone是一款CICD工具,提供rest API,简单介绍下如何使用API 获取构建日志. 获取token 登录进入drone,点头像,在菜单里选择token 复制token即可 API 介绍 Dr ...
- [ASP.NET Core 3框架揭秘] 文件系统[3]:物理文件系统
ASP.NET Core应用中使用得最多的还是具体的物理文件,比如配置文件.View文件以及作为Web资源的静态文件.物理文件系统由定义在NuGet包"Microsoft.Extension ...
- Windows Server 2012操作系统实用技巧
1.在桌面显示“计算机” 方法一:控制面板中输入“桌面图标”搜索之后点击显示下面的“显示或隐藏桌面上的通用图标”: 方法二:WIn+R,在运行框中输入rundll32.exe shell32.dll, ...
- UiPath Read CSV 中文乱码
问题:UiPath 读取.CSV文件时,出现中文乱码. 解决1: 修改CSV文件的编码为UTF-8 解决2: 设置Read CSV Activity的 encoding属性为csv相应的编码格式 参考 ...
- 解决JRebel对myBatis Mapper 失效的问题
解决JRebel对myBatis Mapper 失效的问题 在之前的文章中介绍了JRebel这个插件的使用和优势,虽然它对配置文件的改动的热更新是生效的,但是mybatis的mapper文件的改动却无 ...
- utf8和utf8mb4的区别
一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在utf8mb4是utf8的超集,除了将编码改为ut ...
- 关联mysql失败_Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon'
关联mysql失败_Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezon’ 时区错误,MySQL默认 ...
- Azure上的时序见解,Time series insights
5G来了,广连接(mmTC)可以实现每平方千米100万的连接数(理论值),是4G的10倍,5G网络出现,配合其他技术,空间将在数据意义上剧烈压缩,车联网.智能家居.智能安防.智慧工厂.智慧能源都可能带 ...
- js自带的对数组中的操作
这篇是我自己总结的,是我自己平常使用的不是很多的数组方法,而且都是js自带的,像大家经常使用的push.pop方法就没写里面.废话不多说,直接看代码 <!DOCTYPE html> < ...
- SQL Server如何正确的删除Windows认证用户
在SQL Server数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除 ...