小程序消息推送,订阅消息的实现,定时推送订阅消息功能

我在云开发基础课程里给大家讲过小程序消息推送功能的实现,等下会给大家回顾下 。但是有时候我们如果想实现定时推送的功能该怎么做呢
一,普通订阅消息的发送我们先来看下订阅消息的官方简介 。
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
接下来我们就来借助云开发,来快速实现小程序消息推送的功能 。
1-1,获取模板 ID这一步和我们之前的模板消息推送是一样的,也是先添加模板,然后拿到模板id
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
首先是开通订阅消息功能,很简单,如下图
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 

小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
由于长期性订阅消息,目前仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务 。仅就线下公共服务这一点,长期性订阅消息就和大部分开发者无缘了 。
所以我们这里只能以使用一次性订阅消息为例 。
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
如上图,我们从公共模板库里选择一个一次性订阅的模板 。然后编辑模板如下图
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
下图就是我们添加好的模板,下图的模板id就是我们需要的 。
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
1-2,请求用户授权我们做订阅消息授权时,只能是用户点击或者支付完成后才可以调起来授权弹窗,官方是这么要求的:
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
我们这里用到了
wx.requestSubscribeMessage这个方法,来获取用户的授权 。
  • 1,编写index.wxml代码
  • 2,编写index.js代码,实现点击获取授权
    这一步tmplIds里的一串字符,就是我们自己添加的模板id
  • 3,点击按钮运行效果如下
    开发者工具模拟器上点击授权弹窗是这样的:手机上的授权弹窗是这样的:可以看到,这里显示的就是我们添加的信息 ‘上课提醒’的模板 。细心的同学可以看到,真机上多了一个 ‘总是保持以上选择,不再询问’其实,你自己仔细品一些 。也能明白,我们正常订阅消息授权时,用户允许的话,你只能推送一次消息 。也就是用户允许一次,我们就可以推送一条消息给用户,并且这个允许不存在过期 。所以我们可以让用户尽量多的点击允许,这样我们就可以尽量多地给用户发送消息了 。
这里用户允许后,我们就可以给用户推送消息了,接下来我们来借助云开发的云函数来实现消息推送功能 。
1-3,获取用户的opneid先来看官方爸爸是怎么说的 。
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
可以看出官方提供了两种方式,我们这里使用云调用 。说白了就是在云函数里调用推送功能 。
  • 推送所需参数
    可以看到我这里用来openapi功能,并且需要用到用户的opneid,关于openid的获取,我之前有写过文章,也录过视频的 。文章的话,大家去翻下我历史的文章,视频的话,点击这个即可:《借助云函数获取用户openid》这里的openid的获取我就不再详细讲解了,把对应云函数的代码给大家贴出来 。在使用云开发时,有几点需要注意的
  • 1,需要在project.config.json里创建云函数目录如下图
  • 2,需要在App.js里初始化云开发环境
    至于云开发的环境id从哪里拿,我视频里也讲过很多遍了,直接去看我视频或者翻看我历史文章即可 。《零基础入门云开发视频》
1-4,用云函数实现消息推送我们只需要创建一个云函数如下,然后填入用户的openid,要跳转的小程序页面链接,模板内容,模板id即可 。通常这些数据都应该传进来,简单起见,我就把这里的模板内容写成固定的 。
小程序消息推送,订阅消息的实现,定时推送订阅消息功能

文章插图
 
注意:我在编写上面的代码时,推送内容的key必须和小程序模板里的key保持一致,否则就会报如下错误 。
小程序消息推送,订阅消息的实现,定时推送订阅消息功能


推荐阅读