早在一个月前,小游戏推出了一次性“订阅消息”功能,花叔就在想也许迟早普通小程序也会走这么一套逻辑,因为这套逻辑比较合理。
果不其然,就在刚刚,普通小程序终于把原来的模板消息换成订阅消息了。
先回顾一下以前的逻辑,两个点:
以往普通小程序中,用户点击了页面中的某个元素(不用弹出授权框),开发者就能收集到一个formId,利用这个formId他能给用户主动发送一条“服务通知”消息。
但这条消息只能在七天内发,过期不候。
再看看现在的逻辑,跟小游戏的订阅消息逻辑统一了,三个点:
用户也需要点击页面某个元素。
会比之前的方式多一个授权弹框,授权后,开发者可以得到一次给用户发送服务通知的机会。
该机会不受时间限制。
要实现这个新交互,跟小游戏一样,主要依靠一个前端的API:
wx.requestSubscribeMessage
以及一个https接口:
subscribeMessage.send
这里就不讲述了,跟我之前写的小游戏的订阅消息一模一样的实现步骤,具体可参考这篇文章《关于小游戏订阅消息的解读》。
简单说说我对这个的看法,这个功能比原来的合理多了,原来的方案中,只要开发者尽可能诱导用户有意无意地去点击页面中的元素,那么开发者就能收集足够多的formId,就能在持续的时间内给用户发多条消息。相当于用于发送消息的formId是静默收集的。
所以实际上,这种交互不算是“用户主动订阅”。
新交互是强制调起一个不可改的、默认的授权弹框,要用户主动授权后才能使得开发者有权利发送服务通知。
显然后者对用户更友善。
对了,除了一次性订阅消息外,其实这次还公布了个“长期性订阅消息”,用户只要授权后,这类型的小程序能给用户发多条服务通知,并且不受时间限制。
不过这个功能跟大多普通小程序无缘,它是仅面向政务民生、医疗、交通、金融、教育等线下公共服务开放,我猜想未来再开放也不会开放到太多的小程序类目。
ps.老的那套模板消息机制要废弃了,官方原话:
“原有的小程序模板消息接口将于 2020 年 1 月 10 日下线,届时将无法使用此接口发送模板消息,请各位开发者注意及时调整接口”
其实对开发者不大友好,老铁们,动起来改吧...