百度云推送服务的使用总结

最近自己接的IOS项目快完结了,这个项目中最大的收获就是聊天功能的实现,说实话第一次用百度云推送的服务,

相当难用,文档不全,效果不稳定,不过最后还是搞好了。好了下面讲讲技术细节

一、概述

  我们知道现在的应用都需要推送的功能,推送分两种:

1.广播一条消息,所有机器就会自动产生提示。

2.或者你想发给某个用户,只有他会收到消息,这就是单播。

我们可以利用单播进行点对点通讯、实现即时聊天。

百度给每个设备自动分配一个id,发消息的时候指定对方的id就可以发过去

二、使用接口

  百度自身的ios的sdk只提供了自动分配id还有生成接收处理推送消息还有追踪事件的功能。完全无法满足我们聊天的功能,于是我只能使用他们的restful http接口重新封装一遍,做的累死了( ⊙ o ⊙ )。但是使用百度的接口很有难度,很多细节文档上都没有,全靠自己摸索。

  这边有几个自己遇到的问题

  1.秘钥的问题:每个应用都分配app id 和一个 key 秘钥,秘钥是用来在连接http接口的时候验证身份的,其中涉及到加密算法算出一个签名作为参数传给服务器,将网址和请求参数拼接做一次url编码再进行md5就行了。我自己做的时候就死在url编码好多次,一直以为诸如'\'斜杠这种网址本来就能显示的符号不用编码的,结果还真需要进行编码。

  2.消息中空格的处理:消息中的空格在发送过程中服务器是无法识别的,即使在引号中也会出错,所以在发消息和收消息的时候都要对空格进行替换,替换成网页中的 或+等等随意。这种符号我终于明白有什么用了

 


看我说起来简单 ,实际上要把需要用的接口全部封装一遍还是很复杂的

posted @ 2015-04-06 15:31  三班&陈旭  阅读(859)  评论(1编辑  收藏  举报