微信小程序实现一次性消息订阅

微信小程序的消息订阅分为以下三种

  • 一次性消息订阅
    • 用户订阅一次,就拥有一次向用户下发通知的机会,次数可以累加。这也是目前绝大多数小程序可以实现的消息订阅方案。
  • 长期性消息订阅
    • 用户订阅一次,就可以一直向用户推送信息。微信考虑到用户使用感受,目前绝大多数小程序类目都不支持开通长期消息订阅。目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放。
  • 设备消息订阅
    • 设备订阅需要有终端的支持,例如:扫地机器人、摄像头等设备。其属于长期消息订阅的一种。

如何实现小程序一次性消息订阅?

登录小程序后台,开通消息订阅

创建消息模板并提交。注意:创建模板提交审核,尽量提前创建。

小程序通过wx.requestSubscribeMessage唤起订阅弹框,提交后该微信用户就具备一次收到该模板通知的机会。

详细的API文档请参考 requestSubscribeMessage文档

scss 复制代码
wx.requestSubscribeMessage({
  tmplIds: [模板ID],
  success (res) {
    if(res[模板ID] === 'accept'){
        // 订阅了该消息模板
        // 将openid传给业务服务端,通知后端该openid、UID具备了一次消息通知额度,后端可以根据前端传的次数来进行累加
    }
    
    if(res[模板ID] === 'reject'){
        // 拒绝了该消息模板
    }
    
  }
})

注意事项:

  • 小程序一次性消息订阅的弹框唤起时,模板默认不选中,总是保持以上选择默认选中。该小程序默认行为,无法修改。

  • 订阅弹框唤起时,勾选总是保持以上选择,并不是长期订阅。而是下次再次执行唤起订阅弹框代码时,不再弹框,直接拿默认值触发允许行为。 默认值可通过小程序设置里进行更改,一旦勾选总是保持以上选择,该小程序永远不再进行该消息模板的提示弹框。

服务端通过api.weixin.qq.com/cgi-bin/mes... 下发消息通知

  • 当某用户触发一定条件后,查询该用户是否具备通知资格,如果具备,就可以通过接口下发消息通知。
相关推荐
leslie11810 分钟前
webpack笔记
前端·webpack
宁风NF15 分钟前
JavaScript:内存、垃圾回收、性能优化
开发语言·前端·javascript·学习·性能优化·es6
勾勾圈圈蛋蛋16 分钟前
DOM、BOM、DOM操作详解 + 结合Vue响应式关联梳理
前端
打妖妖灵滴哪吒1 小时前
IOS模态窗口的作用与设计原则
前端·ui
午安~婉1 小时前
挑战二:博客预览卡片
前端·javascript·html
环境栈笔记1 小时前
指纹浏览器安全评测方法:核对环境、数据与权限后再选型
前端·人工智能·后端·自动化
打妖妖灵滴哪吒1 小时前
前端开发/UI设计师-APP中如何进行可发现性设计
前端·ui
Kinghiee1 小时前
从使用场景切入前端常见设计模式
前端·设计模式
郭老二11 小时前
【前端】vue3:编译步骤
前端
不在逃避q12 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm