融云即时通讯:
1,App Key / Secret : 相当于当前 App 在融云的账号和密码,是融云SDK连接服务器必要的标识.
2.融云提供两套环境 :
开发环境 和 生产环境
3.Token:APP连接融云的身份凭证,务必在服务器端换取Token,换取Token需要App Key和App Secret.
获取Token的流程:客户端向服务器注册账号和密码,服务器用这个账号和密码到融云的服务器注册,融云的服务器会返回一个Token给App的服务器,这个Token代表一个融云的用户.
4.添加好友是App服务器处理,A添加B,B同意,则A的好友列表里就有B的Token和userID,
5.发送消息:A发送给B,只经过融云的服务器进行发送,利用Token和userID进行定位,如果App的服务器想保存消息内容则需要向融云支付费用.费用支付后融云会在发给B的同时发一份给App的服务器,称之为消息路由功能.
推送原理:
1.你的IOS应用需要去注册APNS消息推送功能。
2.当苹果APNS推送服收到来自你应用的注册消息就会返回一串device token给你(很重要)
3.将应用收到的device Token传给你本地的Push服务器。
4.当你需要为应用推送消息的时候,你本地的推送服务器会将消息,以及Device Token打包发送到苹果的APNS服
5.APNS再将消息推送给目的iPhone
极光推送的本质就是对iOS原生推送的一层封装.
问题: 既然iOS实现推送这么牛,为什么iOS还要使用jPUSh这种第三方服务呢?
答案就是:iOS这套东西配置起来太繁琐了。(具体如何能让iOS实现推送功能,可参见博文:http://blog.csdn.net/shenjie12345678/article/details/41120637)来回下载证书,上传证书就要设置半天,主要难点就是将自己的信息上传到APNs然后获得对应的唯一ID(一般叫deviceToken),所以极光推送做的其实也就是在上边说的这样一部简化了一下。直接将证书上传到极光推送网站,手机APP安装后通过和极光服务器链接,极光服务器做好响应的处理后再和APNs链接,注册好这些deviceToken,分发出来,由极光服务器转发给手机APP,手机APP再传给服务器端,下次服务器想要推送消息的时候,直接调用极光API,就会将消息发送给APNs,APNs再将消息发送给手机端。其实在某种程度上说,也只是在iOS原生的推送机制上做了一层封装,简化了配置操作而已。