微信小程序定时订阅消息问题
订阅消息一次授权多次接收
个人开发只能订阅一次性消息,一次订阅授权只能发送一次信息,如何解决?
明确几个概念
- 订阅授权次数跟发送消息次数的关系
- 用户授权订阅一次,才能发送一次消息。发送一次消息,消耗掉一次授权允许次数。
- 授权次数可以累加。用户勾选总是保持以上选择,下次订阅消息不会再弹窗。
- 授权操作必须用户点击才能授权。即使点击总保持以上选择,还是需要用户去点击才能授权。所以函数调用授权操作或页面初始化加载授权操作都是不行的,必须由用户点击才能授权。
思考想法
- 每个订阅api一次最多授权3条模板,选取三个相近模板,在授权操作时同时授权三个模板。
- 点击率频繁的按钮或者可能点击的地方绑定授权操作,空白地方大面积透明按钮绑定授权操作。(此方案建立在用户第一次授权时点击了总保持以上选择,否则频繁弹窗影响用户体验)
- 设置每日签到或者消息订阅提示按钮,在按钮的处绑定授权。
实际解决
由于我的项目单纯采用云函数和云数据库开发,没有后端。所以以下解决方案针对云开发。
-
一号方案确定是相近的模板不容易找到,最多只能订阅三次,所以没有采用。
-
二号方案:点击跳转事件绑定授权(用户第一次授权完选择总保持以上选择后,以后授权用户是无感的)
<view class="view_3"> <navigator url="/pages/run/run" class="list-item" bindtap="shouquan"> <!--绑定授权事件--> <image class="item-image" src="/images/跑步.png" /> <text class="item-text">跑步</text> <image class="image-jiantou" src="/images/duo.png" /> </navigator> -
三号方案:进入小程序首页加载订阅消息弹窗,引导用户授权
onShowModal() { wx.showModal({ title: '订阅消息确认', content: '避免错过重要信息,点击确认按钮进行订阅消息(务必勾选总保持以上选择)', cancelText: "取消", cancelColor: "#00f", confirmText: "确认", confirmColor: "#f00", complete: (res) => { if (res.cancel) { this.onShowToast(); } if (res.confirm) { console.log("test1:") this.shouquan(); //调用订阅授权 } } })

文章讨论了微信小程序中如何处理订阅消息的授权问题,提出通过用户点击授权、选择总保持选项,并利用云函数和定时触发器实现动态获取天气信息并定时发送给用户。还介绍了在云开发环境下处理订阅消息模板限制和获取用户地理位置的方法。
最低0.47元/天 解锁文章
5926

被折叠的 条评论
为什么被折叠?



