当前位置:首页 > 资讯 > 正文

置顶[填坑手册]小程序新版订阅消息+云开发实战与跳坑精选热门

置顶[填坑手册]小程序新版订阅消息+云开发实战与跳坑精选热门

老版本的订阅消息在2020年1月10日就下线了,相信不少人在接入新版本订阅系统的时候,或多或少会遇到一些问题,这里智库君跟大家介绍下新版订阅的机制和不需要node/后端的情况下 独立完成功能开发。

其实开发过程不难,但是要理清楚它里面的机制,智库君还是花了一些时间的,也踩了不少坑

先来看下官方介绍:

  1. 可以设置多个订阅选项
  2. 感叹号里面可以看到详情
  3. 有个默认不被选中的“总是”选项

这些就是新不同的地方,智库君在开发的时候也有很多疑问,点了“总是”再点“取消”按钮会怎样?部分选择订阅会怎样?下面为大家一一梳理

举例:

从这里看出,微信系统会自动记录用户点击的次数,并且做累加记录,如果用户只允许2次发送,而开发者发送了3次,最后一次将会被拒绝。

当用户点击“总是”之后,同一个类型的订阅将不再弹出,那如果有多个订阅选项呢?

举例

订阅AAA 三个订阅模板为 X Y Z

订阅BBB 二个订阅模板为 Y W

这时候如果“订阅AAA”按钮选择了“总是”,那么再点击“订阅BBB”按钮,将只会弹出一个选项“W”,不会有 “Y” 的模板,因为在之前 “订阅AAA” 按钮中已经包含了。

这里可以调用wx.getSetting方法,但是需要注意:如果用户第一次选“总是”后点击“取消”按钮或者订阅模板全部是未选中/reject的,那将获取不到状态(这里可能是BUG,期待官方未来修复)。

前面说到用户点击“总是”后,系统将不再弹窗,但是我们可以通过**“wx.openSetting”**引导用户手动修改。

当然用户自己也可以修改

  • 【重点】选择“总是”,很多人认为就可无限发送订阅消息,这个是错误的,勾选和不勾选唯一的区别就是每次触发订阅的时候会不会弹授权窗口!!!
  • 用户点击次数系统会自动累加,直接影响后台发送通知的次数。
  • 用户选择“总是”后,小程序界面不再弹窗,但仍然有回调/callback。
  • 任意订阅模板在用户选中“总是”(包括接受/拒绝2个状态)后,全局有效,就算其他订阅包含“此模板”也不再显示/弹出
  • 当用户选择“总是”中“accept/选中/接受”的状态后,可以在wx.getSetting查询到用户是否选择“总是”。
  • 当用户选择“总是”中“reject/未选中/拒绝”的状态后,返回值“无感知”(这里可能是BUG)

使用微信自带的云开发,可以在没有node/后端开发支持下,完成整个订阅流程的开发。

2、新建订阅推送通知云函数

写完云函数记得右键部署下!!!

1、当你有多个订阅模板同时需要用户选择时,你可以通过以下代码记录,用户哪些选了,哪些没选。

2、一个关于是否需要记录用户对某个“订阅模板授权的次数”,以控制后台“发送的次数”,智库君在实战中认为,其实没有必要,顶多就是你发送返回一个错误码,微信之所有记录用户授权次数,也是为了保护用户不被骚扰。

3、你只需要记录用户点击了哪些需要授权的模板就行,为了是用户点击订阅后,改变按钮的状态,避免订阅按钮反复弹窗的问题,同时当检测到用户点错“总是”按钮后,可以自动跳转到“设置”界面。

4、这次智库君主要给大家简单介绍了下订阅全流程。后面大家可以根据自己的需要,添加和改进这些代码。比如:

  • 配置云函数中的node函数,实现定时发送
  • 配置云函数中的数据库,实现内容的自定义发送

最后,希望这篇文章能帮助到大家,一起学习,一起进步!

(官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html)

最新文章