首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

微信小程序实现订阅信息功能

消息能力是小程序能力中的重要组成,可以通过订阅消息召回用户,实现功能的闭环和更优的服务体验。

1 功能介绍

订阅消息包括两种

1 一次性订阅消息

一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。

2 长期订阅消息

一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。

目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。所以这里我们演示的是一次性订阅。

2使用说明

1 获取模板 ID

在微信公众平台手动配置获取模板 ID: 登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。

2 配置前端代码

在我们要获取下发权限的页面js中,增加下发权限。首先配置模版ID

代码语言:javascript
复制
data: {
  tmplIds:['GD1lDU67hQfBRWaPWMviVd44HOOgpiSw76H45AGsOCw','BUER-P_yrzo5qnRvqomZS4WRciNggW217MFp7f4I3MA'],
},

这个模版ID后续需要用到,先定义获取用户的当前设置,返回值中只会出现小程序已经向用户请求过的权限。

代码语言:javascript
复制
// 检测是否开启  更新提示
testingTap: function () {
  let that = this;
  wx.getSetting({
    withSubscriptions: true,
    success(res) {
      if (res.subscriptionsSetting.mainSwitch) {
        if (res.subscriptionsSetting.itemSettings != null) {
          let item = res.subscriptionsSetting.itemSettings.GD1lDU67hQfBRWaPWMviVd44HOOgpiSw76H45AGsOCw
          if (item == "reject") {
            console.log("拒绝订阅")
          } else if (item == "accept") {
            console.log("开启订阅")
          }
        }
      } else {
        console.log("订阅消息未开启")
      }
    }
  })
},

打印日志的这几个地方可以编写自己的逻辑,上面代码只是检查,没有让用户选择,下面代码就是获取用户下发

代码语言:javascript
复制
//授权
subTap: function () {
  let that = this;
  wx.requestSubscribeMessage({
    tmplIds: that.data.tmplIds,
    success(res) {
      console.log(res)
    },
    fail(res) {
      console.log(res)
    }
  })
},

方法已写完,我们页面加上调用即可

代码语言:javascript
复制
<button bindtap="subTap">允许订阅消息</button>

这只是个演示,subtop方法可以在任何时候调用。

3 服务端下发消息

服务端调用api下发消息,

至此,一个完整的流程已完成。

下一篇
举报
领券