所谓的消息推送就是从服务器端向移动终端发送连接,传输一定的信息。比如一些新闻客户端,每隔一段时间收到一条或者多条通知,这就是从服务器端传来的推送消息;还比如常用的一些IM软件如微信、GTalk等,都具有服务器推送功能
IOS
ios有自己的统一推送服务器APNS
与Android上我们自己实现的推送服务不一样,Apple对设备的控制非常严格,消息推送的流程必须要经过APNs(Apple Push Notification service).一般情况下如果一个程序退到后台就不能运行代码(Audio、VoIP等等可以在后台运行),或者程序退出后,那么它就和对应应用的后台服务器断开了链接,就收不到服务器发送的信息了,但是每台设备只要联网就会和苹果的APNs服务器建立一个长连接(persistent IP connection),这样只要通过苹果的APNs服务器,我们自己的服务器就可以间接的和设备保持连接了
大致流程是:
1)用户apps通过系统去注册APNS消息推送功能
2)当苹果APNS推送服收到来自你应用的注册消息就会返回一串device token给你(很重要)(由设备信息和app信息共同生成的一个唯一的id)
3)将应用收到的device Token传给你本地的Push服务器(colorv服务器)。
4)当你需要为应用推送消息的时候,你本地的推送服务器会将消息,以及Device Token打包发送到苹果的APNS服
5)APNS再将消息推送给目的iphone