新闻动态

JuJing News

  1. 您现在的位置:首页
  2. 资讯中心
  3. 行业新闻
  4. 公众号开发中容易遇到的坑

公众号开发中容易遇到的坑

2020年01月16日发布 浏览871次
内容摘要: 首先我要分享的是,作为一个公众号开发者或者是团队管理者,我们可以用微信公号做哪些事情。这里不区分公众号还是服务号,从开发角度他们的功能是一样的。首先最基础的是用户和用户消息的功能,这个功能可以回复、接…

首先我要分享的是,作为一个公众号开发者或者是团队管理者,我们可以用微信公号做哪些事情。这里不区分公众号还是服务号,从开发角度他们的功能是一样的。首先最基础的是用户和用户消息的功能,这个功能可以回复、接受用户的信息,让你的公众号转起来。同时你也可以根据相关接口获得用户的基本信息。

公众号开发服务端需要做的响应

上述一些功能中,大部分是需要服务端给出响应的。这里说几个基础的地方。

首先是每个接口都有每日接口调用频次限制,可以在公众平台官网-开发者中心处查看具体频次。开发中我们需要在微信公众平台中的开发-基本配置里,配置服务端的响应地址,消息加密模式推荐选择安全模式。在添加配置确认的时候,微信就会去相应的地址测试连通性了,所以在配置接口之前,必须完成相关接口的开发。
具体要求是:必须为80或者443接口,填写的URL需要正确响应微信发送的Token验证。验证成功以后,我们就可以使用微信的一些接口来实现功能了,Token验证基本上没有坑,如果遇到了错误,需要仔细检查signature的加密公众号开发参数和加密方式。
1、获取access_token  这是整个微信开发过程中,最基本的一个接口,所有的接口调用都要带有access_token,所以在开发过程中,access_token是需要做一个全局缓存的,特别是多服务器多进程的情况下,access_token的最佳时间是存在redis这种缓存服务器中,过期时间7198秒,每次调用接口以前检查access_token是否缓存存在,存在就使用,不存在就获取。在实际开发中,access_token会是一个比较复杂的机制,因为还是会有异常情况导致access_token本身失效,所以要有一个熔断的机制保证当时那次请求不会因为access_token失效而失败。

2、响应用户消息和主动发消息的区别。

这里算是第一个坑,响应用户消息的概念是,当你收到用户的消息后,服务端做出的一个即时返回。主动发消息的概念是,你可以在用户和你交互的48小时内,主动给用户发送消息。虽然这两个消息的发送时间不一样,并且实际能发的内容和消息种类是一模一样的,但是,这两个消息的结构是一点都不一样的,响应消息的数据格式是xml,主动消息的数据格式是json。必须注意的是,xml格式的响应消息,文本类型的字段必须加上 <![CDATA[] 标签,不然就会悲剧,另外,他的命名是个奇葩,有些节点用的全部小写字母,有些节点用首字母大写。

公众号开发

3、公众号开发事件响应中的坑
事件响应的概念是,用户除了跟你说话以外,还有一些其他的操作,比方说点击了公号下方菜单栏的按钮、扫描了公号二维码、发送了地址位置、发起了多客服请求等等。在这里必须对他们有各自的处理和记录。
比较坑的是:a、发送地理位置事件,如果你回复的内容不对的话,他会不停的在用户端弹出  “公众号请求地理位置权限” 的对话框,体验差到极点。

b、发过来的消息报文里只有用户的id,没有用户相关信息,如果你想和用户绑定的话,需要自己调用用户查询接口才能和实际用户做对应。

4、公众号开发用户关注事件中的坑

微信公号可以生成带参数的二维码,引导用户关注的时候可以精准记录用户来源。同一个二维码扫描之后可能会产生两种不同的事件,这个比较坑。第一种是用户本身就关注了公号,这里会产生一个scan事件。第二种是用户没有关注公号,这里会产生一个带有qrscene_的关注事件。不了解相关事件的话很容易造成统计数据的错误。
5、公众号开发微信多客服中的坑

微信多客服已经是第二版的产品了,但是他的坑依然很多,很多很多。

公众号开发最明显的一个坑是:在客服手动接入用户之前,用户发的所有的图片不会同步到多客服系统中。这样造成的问题就是,可能用户已经发了很多图给客服,但是实际客服是完全看不到的。解决方案是在上面的事件响应中,把用户发来的东西都存下来,然后微信多客服后台和你自己网站的后台同时打开,才能让用户不生气。


部分内容源于互联网,若涉及到您的权利,请及时邮件联系管理员jujingweb#yandex.com,发邮件时,请将#用@替换。