XMPP IM APP端 消息传输协议定义设计(3)

1目的
以该设计作为系统各软件交互的规范准则,可以提高团队之间协作开发效率作为维护、设计及管理接口的重要依据、提高可维护性、可读性。
2.总体技术要求
2.1.协议
基于XMPP传输协议。JSON数据格式便于在各个异构系统中进行解析、数据交换,具容量小、占带宽小的优势。

3.总体技术要求
3.1.消息包体协议

字段名称 类型 说明
from Json 发送者详情
to String 接收者xmpp name 因为xmpp已经有了,该字段可以不要
body json 信息内容(最长为500个字节)
timestamp Long 消息时间 单位:s(秒)
expire_time Long 单位s,接收的当前时间大于此时间,丢弃body,没有此字段无过期处理。
msg_type int 消息类型:0、推送,1、文本、2语音,3、图片,4、交换资料,5、发送位置, 200、在线提醒…..,201、首次登陆进入app通知服务器,202.上线提醒

3.2.From包体协议

字段名称 类 型 说 明
uid String 发送者ID
name String 发送者名称
portrait String 用户头像
xmpp_user String Xmpp的用户名

3.3.Body 聊天包体协议

* 3.3.1、普通聊天body 结构*

字段名称 类 型 说 明
txt String 文本消息
img String 图片地址
audio String 声音地址

… 其他根据类型扩充
w Int 图片宽度
H Int 图库高度
例:{“txt”:”hello”} ,
{“img”:”http://baidu.png”,”w”:100,”h”:100}
{“txt”:”3s语音”, “audio”:”http://abc.amr”}
….

3.3.2、msg_typew为200 body结构
该消息半个小时发送一次 发送给后台管理员。 body 可以不传

字段名称 类 型 说 明
statue String 上线

… 其他根据类型扩充

3.3.3、发送位置 msg_type=5 body结构

字段名称 类 型 说 明
txt String 位置文本描述
img String 地图图片截图地址
lon double 精度
lat double 维度

3.3.4 发送201 消息
不需要body,只要求from字段,接收消息人 admin

3.3.5 交换资料

字段名称 类 型 说 明
txt String 文本描述
statue int 1.申请交换,2同意交换,3.拒绝交换(暂时不需要)

3.3.6 用户上线提醒202
不需要body,只要求from字段,接收消息人 admin, 客户端保证一小时只能发送一次,发送成功后,服务端会推送 设置上线提醒过的通知, 通知点击进入用户主页。

3.4.推送包体协议Body
推送消息有过期处理,当接到此条消息的时间已经超过expire 丢弃

字段名称 类 型 说 明
body json 位置文本描述
type int 1.通知,2.气泡 …

3.4.1 气泡通知型
气泡类型:用于做本地 +1 操作

字段名称 类 型 说 明
txt string 文本描述(可无)

type=4 :txt{“id”:1,”status”:90}

type int 1.评论,2.邀请回复,3.赞(大家一起聊),4.参加活动,5、强制登出

3.4.2通知类型
用于做内容提醒,打开网页,页面跳转等

字段名称 类 型 说 明
txt string 文本内容
type int 1.文本,2.网页,3.内页跳转
url string 网页 和内页跳转

你可能感兴趣的:(android,xmll)