资讯中心 / iOS推送实现机制详解!

iOS推送实现机制详解!

iOS推送
2018-12-03

app消息推送对app开发者而言是必须考虑的一项功能,发送聊天消息、日程提醒、活动预告、进度提示、动态更新等众多场景都需要app推送来实现。目前市面上主流的手机系统就是Android和iOS,所以app开发所要面对的也主要是这两个系统,而两个系统内的app消息推送机制又是完全不同的,今天我们就以MobPush推送服务为例,介绍一下Ios推送实现机制,帮助大家排一排iOS开发中遇到的坑。

iOS的推送机制与Android有很大的不同,iOS的推送核心就是苹果的APNS服务器,APNs服务器接管所有应用的消息推送,所以最终的通讯建立其实只有用户终端和APNs服务器之间的联系,app消息推送提供商的服务器是与用户终端相独立的。具体来说就是三步:MobPush推送服务把要发送的消息、目的设备的唯一标识打包,发给 APNs;APNs 在自身的已注册 Push 服务的应用列表中,查找有相应标识的设备,并把消息发送到设备;iOS 系统把发来的消息传递给相应的应用程序,并且按照设定弹出 Push 通知。

 

我们在实际的推送过程中也可能会遇到推送无法到达终端的情况,在推送服务器连接正常的情况下,多数是device-token失效所导致的。从前文的推送机制中我们可以看到,第三方推送平台在将推送信息递交给APNs服务器之后,所有的推送操作就由APNs服务器接管了,整个过程第三方的推送平台是不能控制的,所以只要消息上传没有出现问题,那么坑位基本就在device-token失效上。因为device-token是由APNs颁发的唯一设备标识,第三方平台通过将收集到的device-token上传给APNs推送请求,APNs根据请求来进行发送。但是只有正确的device-token的推送请求会被APNs所接受,如果错误或者失效(比如app在用户终端被卸载)就不会再接受请求,用户终端自然也就收不到消息推送。

 

本文仅对iOS推送的实现机制做了介绍,以及推送过程中可能遇到的问题做了简单的分析,更多相关的推送问题及服务介绍,欢迎登陆Mob官网(http://www.mob.com/product/mobpush)查看。

上一篇 下一篇
SDK打包中 — 0%

SDK下载

正在根据您选择的SDK打包中,完成后自动下载
0%