1、高送达率,时效保证:极光推送具有自主协议确认推送消息的送达。
2、服务集成SDK简单:只需要进行简单复制便可直接编译运行 。
3、推送内容多样性服务:除了通知,还有消息、多媒体等;还要其它的各种服务。
4、使应用程序保持高注意力:即使用户没有打开应用,能推送有用的消息。
深圳极光成立于2011年,是中国领先的开发者服务提供商,而且也帮助各行各业优化决策、提升效率。专注于为开发者提供稳定高效的消息推送、一键认证以及流量变现等服务,助力开发者的运营、增长与变现。
极光推送也是一个高度稳定、可扩展的云端架构,极大地帮助移动应用开发者节约开发和维护的成本,轻松实现毫秒级的精准推送。
1.APNS的推送机制
首先我们看一下苹果官方给出的对ios推送机制的解释。如下图
Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器。
上图可以分为三个阶段:
APNS推送通知的详细工作流程
下面这张图是说明APNS推送通知的详细工作流程:
根据图片我们可以概括一下:
1. 什么是远程消息推送?
3. 实现消息推送的步骤
总结下大致流程
1.设备打开某个App后,会生成唯一的 一个token ,并把这个token上传给我们自己的服务器,我们的服务器有了token,就可以向我们的app推送通知了,这个是前提。但是这个通知并不能直接推送给我们的设备,而是要推送给苹果的服务器。
2.我们的服务器会将token和推送的内容,一起推送给苹果的服务器。
3.苹果服务器会根据token定位到设备,将push推送给设备。
4.设备拿到这个push,就会知道是哪个app。然后就可以将这个通知推送到具体的app。
推送的实现方式:
想要收到推送消息 ,就必须要有后台服务器(下面的1、2)往 苹果的APNs的服务器发请求。
1、公司自己开发后台服务器程序
2、 采用第三方的后台服务程序,比如:百度云推送、极光推送、友盟推送
ios可以使用socket,但是要想做到远程推送可能还是需要apns机制,因为应用退到后台的时候只有apns能处理苹果服务器推送来的消息。iOS使用Socket的常用方式有如下: (1)BSD Socket:是UNIX系统中通用的网络接口,基于C语言,比较底层(2)CF Socket:苹果官方提供,来自于CoreFoundation框架
(3)AsyncSocket:对BSD Socket的封装,OC语言
(4)ysocket:对BSD Socket的封装,Swift语言
SOCKET原理:套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。是网络通信过程中端点的抽象表示,包含进行。
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket,另一个运行于服务器端,称为ServerSocket。建立连接时所需的寻址信息为IP地址和端口号。
进行远程消息推送可以了解一下极光,极光就挺不错的。JPush iOS 推送相比直接向 APNs 推送减少开发及维护成本:应用开发者不需要去开发维护自己的推送服务器与 APNs 对接。集成了 JPush iOS SDK 后不必自己维护更新 device token。
通过 JPush 的 Web Portal 直接推送,也可以调用 JPush 的 HTTP 协议 API 来完成,开发工作量大大减少。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)