微信团队前不久公测了「订阅消息」,原有的小程序模板消息接口将于 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. Redis中几个简单的概念:缓存穿透/击穿/雪崩,别再被吓唬了

    Redis中几个“看似”高大上的概念,经常有人提到,某些好事者喜欢死扣概念,实战没多少,嘴巴里冒出来的全是高大上的名词,个人一向鄙视概念党,呵呵! 其实这几个概念:缓存穿透/缓存击穿/缓存雪崩,有一个 ...

  2. Redis学习二(数据操作).

    key 操作 删除 key:del key 批量删除key:redis-cli -a(密码)keys "QXJ_*"| xargs redis-cli -a(密码)del 查看所有 ...

  3. Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组

    类 面向对象是一种思想,一般指将事务的属性与方法抽出总结为模板(类/class),处理事务时通过类创建/new出对象由对象的功能/方法去完成所要计算处理的事情. 面向过程:POP:以过程,步骤为主,考 ...

  4. 5分钟搞定Jenkis

    目录 什么是持续集成 Jenkins简介 Jenkins安装与启动 Jenkins插件安装 全局工具配置 自动安装 本地安装 代码上传至Git服务器 任务的创建与执行 Go项目 JAVA项目 @ 什么 ...

  5. python中基本类型的连接组合和互相转换13种方式

    本篇总结了一下字符串,列表,字典,元组的连接组合使用和类型的互相转换小例子,尤其列表中的extend()方法和字典中的 update方法非常的常用. 1.连接两个字符串 a = "hello ...

  6. Kali Linux configuration "Ettercap"

    Xx_Instroduction Ettercap is a man-in-the-middle attack(MITM) tool,kali take this tool,so,use front ...

  7. Python3操作MySQL基于PyMySQL封装的类

    Python3操作MySQL基于PyMySQL封装的类   在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类, ...

  8. javascript随机数发现的一个parseInt函数的问题

    前几天想伪造一些数据,用到了随机数,没有自己写,便在网上找了一下,找到了这篇文章:https://www.cnblogs.com/starof/p/4988516.html .之后测试了一下,发现了一 ...

  9. [Go] golang定时器的使用

    golang中的定时器是使用的chanel阻塞来实现的,主要使用到了time包中的内容,如果有多个定时器的channel,为了防止阻塞,可以使用select来获取遍历channel 定时器获取的cha ...

  10. [译]Vulkan教程(05)Instance

    [译]Vulkan教程(05)Instance Creating an instance 创建一个instance The very first thing you need to do is ini ...