微信团队前不久公测了「订阅消息」,原有的小程序模板消息接口将于 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. NGUI 源码分析- AnchorPoint

    AnchorPoint 是 UIRect 的一个内部类,此处规定作为基准的那个对象称为锚点对象,基准对象对应的矩形框称为目标框,当前对象对应的矩形框称为源框. public class AnchorP ...

  2. 双向bfs, A*以及其他搜索算法

    总结 例题 万圣节后的早晨

  3. PyQt5内嵌浏览器

    import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from P ...

  4. 【30天自制操作系统】day05:结构体、文字显示与 GDT/IDT 初始化

    输出一个 16 行 8 列的点阵字符 void putfont8(char *vram, int xsize, int x, int y, char c, char *font) { int i; c ...

  5. 一个经典的代码--Convert char to int in C and C++

    前记 写程序,就像建房子,对于高超的建筑师来说,是要有一些好的素材的.作为一个程序员,见了好用的素材存起来,以备后面需要,也是一门很好的修养. 实例代码 一个char 转int的经典代码,这里分享一下 ...

  6. Python中删除空白字符

    主要参考 Stackoverflow答案总结. 空白字符一般指以下几种字符: space,tab, linefeed, return, formfeed, and vertical tab中英文对照表 ...

  7. 同步IO, 异步IO的理解

    1. 什么是IO? 在计算机中无时无刻不存在着对数据的访问和读取(数据都存储在物理的媒介上,例如寄存器,高速缓存,内存,磁盘,网卡等等),这些操作被称为IO. 2. 阻塞IO (1)当用户线程发起IO ...

  8. C# copy source directory files with original folder to the destination path

    private static void PathCopyFilesWithOriginalFolder() { ; try { string sourceDir = @"E:\Source& ...

  9. JVM常用参数详解

     JVM整个堆大小=年轻代大小 + 年老代大小 + 持久代大小,在JDK1.8及之后的版本由于永久代被元空间替代,所以jdk1.8中的堆=年轻代大小 + 年老代大小.本文使用的是JDK1.8  1.堆 ...

  10. 46.QT-自带库QSerialPort串口使用

    之前一章学习的是第三方库使用: 34.QT-qextserialport第三方库制作串口助手(并动态检测在线串口,附带源码) 本章来学习自带serial库 1.QSerialPortInfo QLis ...