微信团队前不久公测了「订阅消息」,原有的小程序模板消息接口将于 2020 年 1 月 10 日下线,届时将无法发送模板消息。「订阅消息」将完全替代「模板消息」,这两天得空测试了一波。

1、下发权限机制

我这边留言小程序用模板消息比较多,最有利的变化就是订阅消息只需用户授权即可,取消了模板消息的 formId,避免了获取、上传、储存、下发 formId 的流程,这个对开发者来说是好事。

同时将 7 天有效期的模板消息改成了用户自主订阅后,开发者可不限时间下发一条对应的服务消息,也就是没下发消息就永不过期。而模板消息只有 7 天有效期,过期没有使用需要写代码判断到期后自动清除,说不麻烦那是假话。

2、选择权交给用户

之前的模板消息下发是不需要用户授权的,理论上可以设计成一次点击操作得到发送一条消息的权限,这个过程用户是无感知的。

更有大神想出了骚操作,「隐藏、嵌套」大法,一次点击可以获取几十上百条模板消息下发的 formId,这个路子非常野,被一些小程序用来骚扰用户,后面被微信团队修复。

模板消息只要获取到了 formId,公共模板库里有的,都能下发,且数据类型没有限制的,也就是说,前面标识是姓名,但是开发者却可以推送时间给你。用户收到什么样的消息,完全取决于开发者。

订阅消息获取下发消息权限则需要用户确认,接不接收订阅消息,接收什么样的订阅消息,一次性订阅还是长期订阅,用的什么消息模板,用户都能看到,且只能发送已授权的订阅消息,决定权都在用户手里

订阅消息还严格的控制了数据的类型和长度,类型和长度不符合要求服务消息将无法下发。不过搞不好订阅消息也能玩出一些想不到的骚操作。

3、一次性订阅 and 长期订阅

目前订阅消息我这边只能体验到「一次性订阅」,测试了一下订阅次数可以累加,这里有需要的话开发者可自行记录可发订阅数和剩余订阅数。

「长期订阅」现阶段仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期应该会开放更多的服务类目,同时申请长期订阅模板的审核也会更严格。

目前因为兼容性的问题,低版本的微信每次只能授权一条订阅消息,高版本才能一次授权多个订阅模板消息。

10 月 21 日更新的开发者工具无法识别「订阅消息」的 API,调试不能拉起授权框,直接报错。一开始我还以为是代码写错了,不过在真机上是可以正常拉起授权的。

4、用户体验

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

订阅消息的更新也是为了减少对用户不必要的打扰,一个良好的生态不管是对用户、开发者还是微信自身都很重要。

微信的用户体验在众多 APP 中还是挺不错的,最起码启动页无广告绝大多数 APP 做不到,一个日活过亿的 APP 能做到这个地步很不容易了。

前几天还出了通知,类似于“砍一刀”、“帮我加速吧”这类好友助力、加速、砍价和任务收集等将被微信视为违规活动,其中不少都在腾讯旗下,龙哥威武!再也不用向生活(PDD)低头了!

微信小程序新服务消息推送 —— 订阅消息的更多相关文章

  1. 微信小程序新单位rpx与自适应布局

    rpx是微信小程序新推出的一个单位,按官方的定义,rpx可以根据屏幕宽度进行自适应,在rpx出现之前,web页面的自适应布局已经有了多种解决方案,为什么微信还捣鼓出新的rpx单位?在解释这个单位前,我 ...

  2. 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)

    silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方 ...

  3. 微信小程序开发之formId使用(模板消息)

    基于微信小程序的模板消息:基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验.模板推送位置:服务通知模板下发条件:用户本人在微信体系内与页面有交互 ...

  4. 微信小程序语音识别服务搭建全过程解析(项目开源在github)

    silk v3录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) ## 重要的写在前面 重要事项一: 目前本文中提到的API已支持微信小程序录音文件格式:silk v ...

  5. 微信开发之获取openid及推送模板消息

    有很多的朋友再问我怎么获取code,openid之类的问题,在这里我就给大家分享一下. 在做微信支付是需要获取openid的,推送模板消息也是需要openid包括其他一些功能分享等也都是需要的,ope ...

  6. 微信小程序统一服务消息下发接口 公众号和小程序消息都可以在一个接口推送了

    昨天晚上,2018年9月11日,微信官方又更新了一大波的小程序功能.重点我们来谈谈这个功能,微信叫做统一服务消息下发接口. 这个是官方的文档  统一服务消息 · 小程序https://develope ...

  7. 多个微信小程序一个服务端架构

    由于某些特定的业务场景,当多个小程序需要一个服务端后台提供数据时,大家可能想到是HTTP路由.是的,实际上我们使用微服务的GateWay网关也是一样的,如下图微服务架构: 网关GateWay的作用在于 ...

  8. .net平台借助第三方推送服务在推送Android消息(极光推送)

    最近做的.net项目(Windows Service)需要向Android手机发送推送消息,真是有点困难,没有搞过就不停的搜文档,最后看到了一个开源项目PushSharp,可以在.net平台推送IOS ...

  9. 齐博x1 小程序与公众号长期永久订阅消息的申请方法

    要给用户发送消息提醒的话,需要申请订阅消息.订阅消息分一次性订阅与长期永久性订阅.一次性订阅没有实际意义,用户订阅一次就只能发送一次.这里主要是指导大家如何申请永久长期订阅功能.对于公众号而言,大家先 ...

随机推荐

  1. SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础组件总结 1.文章阅读目录 1).基础组件 Eureka组件,服务注册与发现 Ribbon和Feign组件,实现负载均衡 Hystri ...

  2. c++-重载等号,数组,指针,字符串类

    重载 重载=操作符 1先释放旧对象资源 2用一个对象=给另外一个对象 3函数返回值当左值 返回一个引用 4 数组类 Array& operator=(Array& a1); 5 字符串 ...

  3. git中的SSL certificate problem: unable to get local issuer certificate错误的解决办法

    我们在使用git初始化一个项目时,尤其是通过git submodule update --init --remote初始化子模块时,可能会遇到下面这个错误: fatal: unable to acce ...

  4. 使用SQL生成指定数据库的数据字典(MSSQL)

    USE DBNAME --指定要生成数据字典的数据库 GO SELECT 表名= CASE WHEN a.colorder= 1 THEN d.name ELSE '' END, 表说明= CASE ...

  5. BOM的补充

    1.首先我们要知道BOM是干什么的? BOM和DOM.ES是JavaScript的重要三个组成部分: Bom的核心操作是window:简单来说就是用来操作浏览器的,他是js访问浏览器的接口,它里面封装 ...

  6. aop的应用和简单原理

    实现过程: 1.pom引包 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...

  7. 基于canvas二次贝塞尔曲线绘制鲜花

    canvas中二次贝塞尔曲线参数说明: cp1x:控制点1横坐标 cp1y:控制点1纵坐标 x: 结束点1横坐标 y:结束点1纵坐标 cp2x:控制点2横坐标 cp2y:控制点2纵坐标 z:结束点2横 ...

  8. 精通awk系列(10):awk筛选行和处理字段的示例

    回到: Linux系列文章 Shell系列文章 Awk系列文章 awk数据筛选示例 筛选行 # 1.根据行号筛选 awk 'NR==2' a.txt # 筛选出第二行 awk 'NR>=2' a ...

  9. HALCON数据类型和C#对应数据类型的对比

    摘要:HALCON数据类型:Iconic Variables(图形变量).Control Variables(控制变量).在C#中,图形变量用HObject声明,控制变量用HTuple声明.(halc ...

  10. Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP)

    Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP) “微服务架构”的话题非常之火,很多朋友都在小窗我,说怎么做服务化?解答“怎么做”之前,先得了解“为什么做”. 画外音:做 ...