小程序统一服务消息_普通小程序的订阅消息不再限制时间

早在一个月前,小游戏推出了一次性“订阅消息”功能,花叔就在想也许迟早普通小程序也会走这么一套逻辑,因为这套逻辑比较合理。

果不其然,就在刚刚,普通小程序终于把原来的模板消息换成订阅消息了。

先回顾一下以前的逻辑,两个点:

  1. 以往普通小程序中,用户点击了页面中的某个元素(不用弹出授权框),开发者就能收集到一个formId,利用这个formId他能给用户主动发送一条“服务通知”消息。

  2. 但这条消息只能在七天内发,过期不候。

再看看现在的逻辑,跟小游戏的订阅消息逻辑统一了,三个点:

  1. 用户也需要点击页面某个元素。

  2. 会比之前的方式多一个授权弹框,授权后,开发者可以得到一次给用户发送服务通知的机会。

    abfba33d1154b369a0618104d3f4c149.png

  3. 该机会不受时间限制。

要实现这个新交互,跟小游戏一样,主要依靠一个前端的API:

wx.requestSubscribeMessage

以及一个https接口:

subscribeMessage.send

这里就不讲述了,跟我之前写的小游戏的订阅消息一模一样的实现步骤,具体可参考这篇文章《关于小游戏订阅消息的解读》。

简单说说我对这个的看法,这个功能比原来的合理多了,原来的方案中,只要开发者尽可能诱导用户有意无意地去点击页面中的元素,那么开发者就能收集足够多的formId,就能在持续的时间内给用户发多条消息。相当于用于发送消息的formId是静默收集的。

所以实际上,这种交互不算是“用户主动订阅”。

新交互是强制调起一个不可改的、默认的授权弹框,要用户主动授权后才能使得开发者有权利发送服务通知。

显然后者对用户更友善。

对了,除了一次性订阅消息外,其实这次还公布了个“长期性订阅消息”,用户只要授权后,这类型的小程序能给用户发多条服务通知,并且不受时间限制。

不过这个功能跟大多普通小程序无缘,它是仅面向政务民生、医疗、交通、金融、教育等线下公共服务开放,我猜想未来再开放也不会开放到太多的小程序类目。

ps.老的那套模板消息机制要废弃了,官方原话:

“原有的小程序模板消息接口将于 2020 年 1 月 10 日下线,届时将无法使用此接口发送模板消息,请各位开发者注意及时调整接口”

其实对开发者不大友好,老铁们,动起来改吧...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序实现订阅消息功能,需要在后端服务器使用Node.js来实现。以下是一个示例的Node.js源码,用于实现微信小程序订阅消息功能。 ```javascript const express = require('express'); const axios = require('axios'); const app = express(); const port = 3000; // 用于接收微信小程序订阅消息的回调 app.post('/callback', async (req, res) => { try { // 解析请求体中的数据 const data = req.body; // 向微信API发送请求,完成订阅消息的下发 await axios.post('https://api.weixin.qq.com/cgi-bin/message/subscribe/send', { touser: data.openid, // 用户的openid access_token: data.access_token, // 小程序的access token template_id: data.template_id, // 订阅消息模板ID data: data.template_data, // 订阅消息模板中的数据 }); // 返回成功响应给微信小程序 res.status(200).send('Success'); } catch (error) { // 返回错误响应给微信小程序 res.status(500).send('Failed'); } }); app.listen(port, () => { console.log(`Server is running on port ${port}`); }); ``` 上述代码中,创建了一个基于Express框架的Node.js服务器。通过定义一个`/callback`的路由,用于接收微信小程序发送的订阅消息的回调。 在回调中,首先解析请求体中的数据,包括用户的openid、小程序的access token、订阅消息模板ID以及要下发的模板数据。然后,使用axios库发送HTTP POST请求到微信API,完成订阅消息的下发。 最后,根据发送请求的结果,返回相应的成功或失败响应给微信小程序。 需要注意的是,此代码仅为示例,实际项目中还需要添加相应的错误处理等逻辑。此外,还需要配置服务器的域名与小程序进行关联,并在小程序端的代码中发送HTTP请求到该服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值