一个字段,就可以判断是否关注公众号

简介: 后来想了一种方法,就是启用公众号服务器配置,监听关注或取关事件,存储数据库,监听到用户关注的事件,就在数据库标记该用户已关注,监听到用户取关的事件,就把数据库标记该用户是否关注的字段改成未关注,这样把这个字段查给前端,前端就可以知道当前登录用户是否关注公众号,弹出引导用户关注的提示语。

关于如何判断用户是否关注公众号的方法,之前写过一篇文章 微信小程序里判断是否关注了公众号,但是产品经理觉得这个样子用户体验很差,得优化,当听到他这么说的时候,心里有一万只草泥马在奔腾,但是又能怎样呢,还是要操起代码来改。

image.png

后来想了一种方法,就是启用公众号服务器配置,监听关注或取关事件,存储数据库,监听到用户关注的事件,就在数据库标记该用户已关注,监听到用户取关的事件,就把数据库标记该用户是否关注的字段改成未关注,这样把这个字段查给前端,前端就可以知道当前登录用户是否关注公众号,弹出引导用户关注的提示语。

这个实现起来也挺麻烦的,但是总比之前那个体验要好了吧,也比较实时的监控到用户的关注取关动作。好了,这样用了一段时间,产品经理又来找我了,他说这个功能还得优化,听到这话,我特么差点把刚喝的水吐他脸上,其实不是不小心,想故意吐他一脸的水。

image.png

这次优化的理由是什么呢?产品经理说,当前的做法只对这个功能加上去后进来的用户关注取关有效,那之前的那些用户呢,明明已经老早就关注了的,现在一进我们应用还是会弹出来提示去关注公众号,又得重新取关,再重新关注才会生效,这样不行。

怎么说呢,之前改的时候就和他说过针对之前的用户会有这个问题,得重新取关再关注才可以,因为监听事件的代码是后来加上的,那在这之前那些已关注的用户都没有监听到他们关注的事件,自然而然就没法在数据库标记是否已关注啊。反正产品经理经常耍赖,这次也不例外,就扔下两个字,“继续优化”,就走了。

image.png

接下来,重点来了,经过观察,其实还有一个更简单的方法来解决这种体验差,历史数据又没监听到是否关注的问题。那就是初始化的时候看用户是否有unionid,如果有,那就是已关注,如果没有,那就是未关注或者取关的。这个是很实时的,不管你是什么时候关注的,又或者关注完取关的,就差在有没有unionId。

在初始化的接口里面判断一下用户是否携带unionId并且有值就好了。微信是否会返回unionId这个字段,前提是要小程序和公众号绑定在同一个微信开放平台上才可以。如果有更好的方法欢迎不吝赐教哦,说出来共勉。

image.png

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

上一篇:微信小程序里判断是否关注了公众号

相关文章
|
SQL Ubuntu 关系型数据库
PostgreSQL介绍和PostgreSQL包安装
PostgreSQL 是一个功能强大、可扩展的开源关系型数据库系统,以其可靠性、数据完整性和高性能著称。它支持复杂查询、事务、多版本并发控制及丰富的数据类型,适用于各种应用场景。本文介绍 PostgreSQL 的核心特性,并详细说明在多种 Linux 发行版上的安装与配置方法,帮助用户快速部署和使用该数据库系统。
1090 0
|
小程序
微信小程序里判断是否关注了公众号
微信小程序开发过程中,经常会遇到需要判断当前用户是否关注了公众号的业务需求,但是微信并没有提供直接判断是否关注公众号的接口,这边提供一种方法,适合就用,不适合也别喷哦。
1171 0
微信小程序里判断是否关注了公众号
|
JavaScript
【VUE异常】el-popconfirm失效,@confirm事件不生效,点击没有任何反应,刷新页面才能点击
【VUE异常】el-popconfirm失效,@confirm事件不生效,点击没有任何反应,刷新页面才能点击
821 0
|
算法 数据可视化 定位技术
【python实操】如何通过简单拖拽直接开发软件,避免手写界面布局
【python实操】如何通过简单拖拽直接开发软件,避免手写界面布局
395 0
|
JavaScript
uview-ui组件swipeAction关闭无法生效解决方案
uview-ui组件swipeAction关闭无法生效解决方案
|
数据采集 机器学习/深度学习 前端开发
反爬虫措施
【8月更文挑战第12天】
1977 3
|
前端开发
前端 CSS 经典:弧形边框选项卡
前端 CSS 经典:弧形边框选项卡
996 0
|
数据采集 JavaScript 前端开发
常见的反爬虫策略有哪些?
常见的反爬虫策略有哪些?
1322 1
|
人工智能 数据可视化 定位技术
【工具使用】QGIS导入csv文件进行数据可视化
【工具使用】QGIS导入csv文件进行数据可视化
1708 0