APNS服务

APNS(英文全称:Apple Push Notification Service),中文翻译为:苹果推送通知服务。该技术由 苹果公司提供的APNS服务。

简介

APNS(英文全称:Apple Push Notification Service),中文翻译为:苹果推送通知服务。 [1]  该技术由 苹果公司提供的APNS服务。
苹果推送通知服务的传输和路由的通知从一个给定的供应商给定的设备。通知是由两个主要部分组成的数据:设备令牌和有效载荷的短消息。设备令牌是类似于一个电话号码,它包含的信息,使的APN定位的设备上安装客户端应用程序。APN还用它来验证通知的 路由。 有效载荷是一个JSON定义的属性列表中指定的设备上的应用程序的用户将被提醒。

工作原理
首先,APNS会对用户进行物理连接认证,和设备令牌认证(简言之就是苹果的服务器检查设备里的证书以确定其为苹果设备);
工作原理流程
然后,将服务器的信息接收并且保存在APNS当中,APNS从其中注册的列表中查找该IOS设备(设备可以为iPhone、iPad、iPod Touch,版本是iOS3.0及以上)并将信息发送到该设备;
最后,设备接收到数据信息给相应的 APP,并按照设定弹出Push信息。

推送方式

推荐使用APNS服务,稳定,方便,美中不足是没有推送到达的回执和统计,不方便产品运营。如对此方面有需求可以使用 个推等第三方推送服务解决

Windows Mobile
使用MPNS(Microsoft Push Notification Service 微软推送通知服务),相应速度不错,但推送不带状态,很多功能无法实现。
IOS推送消息是许多IOS应用都具备的功能,最近也在研究这个功能,参考了很多资料终于搞定了,下面就把步骤拿出来分享下:
IOS消息推送的工作机制可以简单的用下图来概括:
IOS消息推送机制
Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的 服务器。
APNS服务_第1张图片 推送完成过程
上图可以分为三个阶段:
第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。
第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。
第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。

评价标准

推送方案的公认评价采取4s标准:1.Safe(安全) 2. Stable(稳定) 3.Save(省电省流量省成本) 4.Slim(体积小)

Safe (安全)

推送方案应支持 透传及各种 加密方案,保障信息传递安全。
推送方案的ID系统应该独立于已有的网站或服务的ID系统,这样保障用户在不同手机上登录后的信息投递准确性,避免因为取消绑定事件失败因网络传输而造成的信息误投送。

Stable(稳定)

稳定包括两个部分一个是服务器端的稳定性,一个是手机端的稳定性。
服务端稳定性,因为使用长连接方案,对服务器的开销和要求很大,推送方案对服务器开发要求很高,海量 线程连接下的服务器稳定性是非常具有挑战性的。一般的评判标准包括:
- 同时在线时峰值 (一般按照百万并发连接时服务器稳定性评测)
- 高并发时消息平均延迟时间(一般按照1分钟处理1百万条信息评测)
- 服务稳定性 (一般要求全年99.9%以上可用,有备份,有负载均衡等)
鉴于服务器稳定的开发难度很大,小团队不建议自己开发,建议使用稳定的第三方推送方案,如 个推,蝴蝶等。
手机端的稳定性,主要是因为中国的复杂网络状况及手机型号适配情况造成手机长时间稳定联网较困难,所以稳定性非常重要,一般的评判标准包括:
- 每日联网23.5小时以上用户比例 (表征联网稳定性)
- 消息发送后9小时内收到率 (表征到达率)
一般来说,推送方案要做网络的分运营商,分省,分机型适配,自己开发工作量较大

Save(节省)

省电应注意CPU休眠,一般用服务缩短待机时间百分比评判
省流量应注意协议的修改和冗余数据包的处理,一般用空载待机月流量评判
省成本应考虑单服务器承载同时连接数,可承载同时连接数越多成本越低,业内 顶尖水平为 个推的单服务器50万连接

Slim(体积小)

推送服务应该体积尽量小,不影响主程序的大小和复杂度,一般以小于300K为宜。

你可能感兴趣的:(ios,常识)