iOS远程推送通知
1. 远程推送通知
远程推送通知:就是从远程服务器推送给客户端的通知(需要联网)
- 1.远程推送服务:又称为APNs (Apple Push Notification Services)
- 2.为什么需要远程推送通知??
- 2.1 传统获取数据的局限性==只要用户关闭了app,就无法跟app的服务器沟通,无法从服务器上获得最新的数据内容
- 2.1 远程推送通知可以解决以上问题==不管用户打开还是关闭app,只要联网了,都能接收到服务器推送的远程通知
2.远程推送通知使用须知
- 所有的苹果设备,在联网状态下,都会于苹果的服务器建立长连接---(苹果的APNs服务器一直于每一台设备保持着长连接---怎么找到是哪一台呢,通过DeviceToken:设备令牌)
- 1.什么是长连接:只要联网了,就一直建立连接
- 2.长连接的作用:时间校准,系统升级,查找我的iPhone(当手机丢了,可以在AppStore查看你的手机位置)
- 3.长连接的好处:数据传输速度快,数据保持最新状态(不用在发请求了,直接传输)
3.远程推送的流程:
远程推送的步骤:比如 张三的QQ客户端 将自己的QQ号+设备的deviceToken 发送给QQ服务器,QQ服务器将收集的所有的QQ号+deviceToken存放在自己的数据库中、然后QQ服务器在将deviceToken + (张三)发送的内容(body)发送给苹果APNs服务器. 最后,苹果将内容推送给对应的deviceToken就完成了。
4.客户端deviceToken的生成:
- 4.1.用户的设备唯一标识(UDID) + App ID (应用的唯一标识) 发送给苹果APNs服务器, 苹果服务器就会利用一些加密算法生成一串东西(deviceToken),发给用户。
- 4.2.客户端拿到我们的deviceToken,再将deviceToken + QQ号 发送给QQ服务器 , 接着 QQ服务器在将deviceToken + QQ号 存储在QQ数据中的
5.远程推送的总得流程:
- 1.我们的推送是基于苹果的APNs的,那么为什么要基于APNs呢?-因为用户将app应用给关闭了,那么我们公司的服务器就会于用户app应用失去连接,这样我们无法推送给客户端的。而苹果的APNs服务器始终都与设备建立一条长连接,这样我们就借助苹果的APNs实现推送。
- 2.首先要获得我们设备的deviceToken 然后我们设备在将deviceToken发送给我们公司的服务器。以后我们再推送东西,就是服务器的事情了,就是我们公司的服务器把将要推送的内容和deviceToken交给苹果的APNs服务器,苹果的APNs服务器根据deviceToken就知道哪一个应用推东西给哪一个设备,最后将内容推送给设备

浙公网安备 33010602011771号