自定义菜单事件推送 服务器怎么接收

自定义菜单事件推送 服务器怎么接收,第1张

点击菜单拉取消息时的事件推送

推送XML数据包示例:

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromUserName><![CDATA[FromUser]]></FromUserName>

<CreateTime>123456789</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[CLICK]]></Event>

<EventKey><![CDATA[EVENTKEY]]></EventKey>

</xml>

参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,CLICK

EventKey

事件KEY值,与自定义菜单接口中KEY值对应

点击菜单跳转链接时的事件推送

推送XML数据包示例:

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromUserName><![CDATA[FromUser]]></FromUserName>

<CreateTime>123456789</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[VIEW]]></Event>

<EventKey><![CDATA[wwwqqcom]]></EventKey>

</xml>

参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,VIEW

EventKey

事件KEY值,设置的跳转URL

scancode_push:扫码推事件的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>

<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>

<CreateTime>1408090502</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[scancode_push]]></Event>

<EventKey><![CDATA[6]]></EventKey>

<ScanCodeInfo><ScanType><![CDATA[qrcode]]></ScanType>

<ScanResult><![CDATA[1]]></ScanResult>

</ScanCodeInfo>

</xml>

参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间(整型)

MsgType

消息类型,event

Event

事件类型,scancode_push

EventKey

事件KEY值,由开发者在创建菜单时设定

ScanCodeInfo

扫描信息

ScanType

扫描类型,一般是qrcode

ScanResult

扫描结果,即二维码对应的字符串信息

scancode_waitmsg:扫码推事件且弹出“消息接收中”提示框的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>

<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>

<CreateTime>1408090606</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[scancode_waitmsg]]></Event>

<EventKey><![CDATA[6]]></EventKey>

<ScanCodeInfo><ScanType><![CDATA[qrcode]]></ScanType>

<ScanResult><![CDATA[2]]></ScanResult>

</ScanCodeInfo>

</xml>

参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,scancode_waitmsg

EventKey

事件KEY值,由开发者在创建菜单时设定

ScanCodeInfo

扫描信息

ScanType

扫描类型,一般是qrcode

ScanResult

扫描结果,即二维码对应的字符串信息

pic_sysphoto:弹出系统拍照发图的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>

<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>

<CreateTime>1408090651</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[pic_sysphoto]]></Event>

<EventKey><![CDATA[6]]></EventKey>

<SendPicsInfo><Count>1</Count>

<PicList><item><PicMd5Sum><![CDATA[1b5f7c23b5bf75682a53e7b6d163e185]]></PicMd5Sum>

</item>

</PicList>

</SendPicsInfo>

</xml>

参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,pic_sysphoto

EventKey

事件KEY值,由开发者在创建菜单时设定

SendPicsInfo

发送的信息

Count

发送的数量

PicList

列表

PicMd5Sum

的MD5值,开发者若需要,可用于验证接收到

pic_photo_or_album:弹出拍照或者相册发图的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>

<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>

<CreateTime>1408090816</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[pic_photo_or_album]]></Event>

<EventKey><![CDATA[6]]></EventKey>

<SendPicsInfo><Count>1</Count>

<PicList><item><PicMd5Sum><![CDATA[5a75aaca956d97be686719218f275c6b]]></PicMd5Sum>

</item>

</PicList>

</SendPicsInfo>

</xml>

参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,pic_photo_or_album

EventKey

事件KEY值,由开发者在创建菜单时设定

SendPicsInfo

发送的信息

Count

发送的数量

PicList

列表

PicMd5Sum

的MD5值,开发者若需要,可用于验证接收到

pic_weixin:弹出微信相册发图器的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>

<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>

<CreateTime>1408090816</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[pic_weixin]]></Event>

<EventKey><![CDATA[6]]></EventKey>

<SendPicsInfo><Count>1</Count>

<PicList><item><PicMd5Sum><![CDATA[5a75aaca956d97be686719218f275c6b]]></PicMd5Sum>

</item>

</PicList>

</SendPicsInfo>

</xml>

参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,pic_weixin

EventKey

事件KEY值,由开发者在创建菜单时设定

SendPicsInfo

发送的信息

Count

发送的数量

PicList

列表

PicMd5Sum

的MD5值,开发者若需要,可用于验证接收到

location_select:弹出地理位置选择器的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>

<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>

<CreateTime>1408091189</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[location_select]]></Event>

<EventKey><![CDATA[6]]></EventKey>

<SendLocationInfo><Location_X><![CDATA[23]]></Location_X>

<Location_Y><![CDATA[113]]></Location_Y>

<Scale><![CDATA[15]]></Scale>

<Label><![CDATA[ 广州市海珠区客村艺苑路 106号]]></Label>

<Poiname><![CDATA[]]></Poiname>

</SendLocationInfo>

</xml>

参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,location_select

EventKey

事件KEY值,由开发者在创建菜单时设定

SendLocationInfo

发送的位置信息

Location_X

X坐标信息

Location_Y

Y坐标信息

Scale

精度,可理解为精度或者比例尺、越精细的话 scale越高

Label

地理位置的字符串信息

Poiname

朋友圈POI的名字,可能为空

目前要实现消息实时推送,有两种方法,一种是ajax轮询,由客户端不停地请求服务器端,查询有没有新消息,然后再由服务器返回结果;另外一种就是long poll,通过一次请求,询问服务器有没有新消息更新,如果没有新消息时,会保持长连接,就一直不返回Response给客户端。直到有消息才返回,返回完之后,客户端再次建立连接,周而复始。这两种都是单向链接,需要被动的请求服务器,而不是由服务器自动发给客户端。

从上面可以看出其实这两种方式,都是在不断地建立HTTP连接,然后等待服务端处理,可以体现HTTP协议的另外一个特点,被动性。

消息推送(Push)指运营人员通过自己的产品或第三方工具对用户移动设备进行的主动消息推送。推送消息有有5种实现方式,以下是实现的方式:

1、轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息,并关闭连接。

2、长轮询:客户端向服务器发送Ajax请求,服务器接到请求后Hold住连接,直到有新消息才返回响应信息,并关闭连接;客户端处理完响应信息后再向服务器发送新的请求。

3、长连接:在页面中嵌入一个隐藏的jframe,将这个隐藏的iframe的src属性设置为对一个长连接的请求或者采用XRH请求,服务器端就能源源不断地往客户端输入数据。

4、Flash Socket:在页面中嵌入一个使用了Socket类的Flash程序,JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,JavaScript在收到服务器端传送的信息后控制页面的显示。

5、WebSocket:WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术;依靠这种技术可以实现客户端和服务器端的长连接,双向实时通讯。

运用这些方式,可以做好消息推送。好的消息推送平台也是做好推送的重要一部分,极光JPush 是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 自定义菜单事件推送 服务器怎么接收

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情