`

IOS Push原理

阅读更多

 push原理

iOS push 工作机制可以用下图简要概括

  • Provider:应用自己的服务器;
  • APNS:Apple Push Notification Service的简称,苹果的PUSH服务器;

push的主要工作流程是:

  • iOS设备连接网络后,会自动与APNS保持类似TCP的长链接,等待APNS推送消息的到来;
  • 应用启动时注册消息推送,并获取设备的在APNS中注册的唯一设备标示deviceToken上传给应用服务器(即Provider);
  • 在需要给应用推送消息时,Provider把push内容、接收push消息的deviceToken按APNS指定的格式打包好,发送给APNS;
  • APNS收到Provider发送的消息后,查找deviceToken指定的设备,如果该设备已经和APNS建立了连接,则立即将消息推送给该设备,如果设备不在线,则在该设备下次连接到APNS后将消息推送到设备。请注意苹果并不保证推送一定成功;
  • 设备收到push消息后,iOS系统会根据SSL证书判断这个push消息是发给那个应用的,进而启动相应客户端。

上述过程中,有两个关键步骤需要自己处理的是:1.客户端获取deviceToken,并上传到Provider;2.Provider发送push消息到APNS。这两个步骤中都需要苹果的push证书授权,下面就来介绍如何生成push证书,以及Provisioning Profile。

 

具体实现:http://tanqisen.github.io/blog/2013/02/27/ios-push-apns/#userconsent#

分享到:
评论

相关推荐

    iPhone的Push(推送通知)功能原理浅析

    Provider是指某个iPhone软件的Push服务器。 APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,下文统一使用该缩写。 因 此,整个过程可以分为三个阶段,下面用大家常用的聊天客户端BeejiveIM来...

    IOS消息推送总结

    此文档描述了IOS推送的实现原理、详细的证书制作及核心代码实现(带图)!

    IOS远程推送

    1 IOS 2 PUSH 3 第三方推送 4 推送原理

    基于Java的 iOS 推送通知

    基于Java的 iOS 推送通知 1.iOS 推荐原理 2.Java & iOS code

    iOS实现远程推送原理及过程

    iOS 的远程推送原理又是什么呢?在做 iOS 远程推送时,我们会遇到各种各样的问题。那么首先让我们准备一些做推送需要的东西。我们需要一个付费的苹果开发者账号(免费的不可以做远程推送),有了开发者账号,我们...

    iOS远程推送Push开发教程

    主要为大家详细介绍了iOS远程推送Push开发教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    iOS实现消息推送及原理分析

    1、Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]); 2、APNS:Apple Push Notification Service[苹果消息推送服务器]...

    iOS推送简介

    包含内容:1.推送原理 2.证书制作 3.ios客户端实现代码 ...

    适配iOS14下pop多层控制器至首页时,tabbar不显示问题

    此资源是方案二的源码,具体原理分析请看这个文章:https://kunnan.blog.csdn.net/article/details/113176114 推荐使用方案一【重写pushViewControlle】r 对应文章:...

    iOS APP签名机制原理详解

    在iOS出来之前,主流的操作系统(MacOS/Windows)软件随便从哪里下载都能运行,系统安全存在隐患,盗版软件、病毒入侵、静默安装等等,苹果希望解决类似的问题,保证在iPhone iOS上的APP都是经过苹果官方允许的,...

    iOS消息推送原理及具体实现代码

    1、Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]); 2、APNS:Apple Push Notification Service[苹果消息推送服务器]...

    ios-使用转场动画构造侧滑.zip

    原理:转场动画push pop 菜单控制器做成左边不透明一部分右边透明,代码里复制了之前控制器的视图会在这里显示 菜单和菜单详情是用的两个不同的转场动画实现的 博客园链接:...

    IOS 中动画的暂停与继续播放的详解

    IOS 中动画的暂停与继续播放的详解 在使用动画控制UI的时候,可能会碰到通过手势或其他方式要进行暂停正在进行中的动画,然后再继续。如手指按下时,暂停动画,手指离开时继续动画。 实现原理主要是通过UI的layer...

    java实现给Iphone推送消息

    工作原理:首先,APNS会对用户进行物理连接认证,和设备令牌认证(简言之就是苹果的服务器检查设备里的证书已确定其为苹果设备);然后随后将服务器的信息接收并且保存在APNS当中,APNS从其中注册的列表中查找该设备...

    本地推送以及APNS推送push

    详细的介绍了关于iOS本地推送的原理,以及苹果服务器和客户端交互的机制.

    iOS10推送教程详解

    原理 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。 APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器。 上图可以分为三个阶段。 第一...

    iOS如何利用一句话完成转场动画

    (关于转场动画的具体原理稍后请看另一篇简书) . SS_AnimationTransition具有很好的封装性,使我们不必操心转场中复杂的手势驱动的操作,使我们只需要把精力放在动画实现上就可以. 1.效果图 神奇移动转场.gif 平滑转...

    app开发教程之用Ratchet开发webapp教程合集.zip

    3.同时支持iOS和Android 4.支持很多控件,其中包括:Bars、Lists、Buttons、Forms、Segmented controllers、Sliders、Push events等 响应式布局(自适应屏幕尺寸) Ratchet跨平台的原理 Ratchet教程 Ratchet案例实战...

Global site tag (gtag.js) - Google Analytics