1 功能介绍
1 一次性订阅消息
一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。
2 长期订阅消息
一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。
目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。所以这里我们演示的是一次性订阅。
2使用说明
1 获取模板 ID
在微信公众平台手动配置获取模板 ID: 登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。
2 配置前端代码
在我们要获取下发权限的页面js中,增加下发权限。首先配置模版ID
data: {
tmplIds:['GD1lDU67hQfBRWaPWMviVd44HOOgpiSw76H45AGsOCw','BUER-P_yrzo5qnRvqomZS4WRciNggW217mfp7f4I3MA'],
},
这个模版ID后续需要用到,先定义获取用户的当前设置,返回值中只会出现小程序已经向用户请求过的权限。
// 检测是否开启 更新提示
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("订阅消息未开启")
}
}
})
},
打印日志的这几个地方可以编写自己的逻辑,上面代码只是检查,没有让用户选择,下面代码就是获取用户下发
//授权
subTap: function () {
let that = this;
wx.requestSubscribeMessage({
tmplIds: that.data.tmplIds,
success(res) {
console.log(res)
},
fail(res) {
console.log(res)
}
})
},
<button bindtap="subTap">允许订阅消息</button>
3 服务端下发消息
至此,一个完整的流程已完成。
原文地址:https://cloud.tencent.com/developer/article/1756374
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。