公众号推送消息功能实现逻辑

以下是大概调用微信接口实现推送消息功能的逻辑思路,未必准确,甚至有的可能是错误的

如有错误,欢迎指出

尽量不引入微信接口,只说看文档自己总结的调用逻辑。

公众号给用户推送消息,一般是图文消息,当然,也有文本,视频,图片,音频等等。

方式大约有两种:

  一种是公众号主动推送,即群发

  另一种是用户给公众号发消息,然后公众号根据关键字给出相应的回复

 

先说第一种,这种有一个数量限制,就是订阅号每天一次(大概是这个数字。。。。)

至于服务号。。。每月四条,也就是每周一条。

当然,这种的好处的是,能够群发。服务号甚至可以指定特定一批用户openId来推送。

而且,如果推送的时候,设定is_to_all参数(好像是这么个参数)为true,那么还会被保留在用户的历史纪录里。

具体使用,参见微信公众平台文档【https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1481187827_i0l21

群发接口的参数中,实际调用推送接口的时候,是把要要推送的内容转换成素材,然后告诉微信要推送的素材的media_id。

还有,不管是客服接口(公众号根据关键字回复)还是主动推送,音频,视频,图片等资源文件都要先转化成media_id

然后才能推送。这里有一点,新建图文素材的主要内容在content属性中,而且,content是支持html标签的,不过,a标签比较特别,

只有开通支付功能的公众号能够使用a标签,其他公众号不能使用a标签。

 

然后是第二种,使用客服消息推送。这里有个情况,当用户在公众号中出现以下动作的时候

 

公众号(48小时内)可以产生不限数量的推送消息。

也就是说,当用户对公众号出现以上某一操作的时候,我们的服务器可以在48小时以内,对该用户推送任意条消息。

这里要说明的是,用户的以上操作,都会给我们在开发者配置里配置的URL上发送xml格式的消息。在这个时候,

微信允许在48小时内,调起客服推送接口,给该用户推送消息。

跟群发消息不同的一点是,图文消息不再需要上传为素材,可以把相关数据传到指定参数中,然后推送给用户。

以上。

暂定未完待续。。。

posted @ 2017-12-21 15:59  浣溪山  阅读(507)  评论(0编辑  收藏  举报