温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
关于如何判断用户是否关注公众号的方法,之前写过一篇文章,微信小程序里判断是否关注了公众号,这个方法很简单,但是产品经理觉得这个样子用户体验很差的优化,当听到他这么说的时候,心里有1万只草泥马在奔腾,但是又能怎样呢?还是要操起代马来改。后来想了一种方法,就是启用公众号服务器,配置监听、关注或取关事件,存储数据库,监听到用户关注的事件,就在数据库标记该用户已关注,监听到用户取关的事件,就把数据库标记该用户是否关注的字段改成为关注,这样把这个字段查给前端,前端就可以知道当前登录用户是否关注公众号,弹出引导用户关注的提示语。这个实现起来也挺麻烦的,但是总比之前那个体验要好了吧,也比较实时的监控到用户的关注取关动作。好了,这样用了一段时间,产品经理又来找我了,他说这个功能还得优化,听到这话,我特么差点把刚喝的水吐他脸上,其实不是不小心想故意吐他。
01:00
点的水,这次优化的理由是什么呢?产品经理说当前的做法只对这个功能加上去后进来的用户关注取关有效,那之前的那些用户呢?明明已经老早就关注了的,现在一进我们应用还是会弹出来提示去关注公众号,又得重新取关再重新关注才会生效,这样不行,怎么说呢?之前改的时候就和他说过,针对之前的用户会有这个问题,得重新取关再关注才可以,因为监听事件的代码是后来加上的,那在这之前那些已关注的用户都没有监听到他们关注的事件,自然而然就没法在数据库标记是否已关注啊,反正产品经理经常耍赖,这次也不例外,就扔下两个字继续优化就走了。接下来重点来了,经过观察,其实还有一个更简单的方法来解决这种体验差,历史数据又没监听到是否关注的问题,那就是初始化的时候看用户是否有UN,如果有,那就是已关注,如果没有,那就是被关注或者取关的,这个是很实时的,不管你是什么时候关注的,又。
02:00
或者关注完取关的就插在有没有UNID在初始化的接口里面,判断一下用户是否携带UNID并且有值就好了。微信是否会返回UNID这个字段,前提是要小程序和公众号绑定在同一个微信开放平台上才可以。如果有更好的方法,欢迎不吝赐教哦,说出来共勉。
我来说两句