标签归档:推送

细说 iOS 消息推送

经常有同学问我们,iOS 上推送究竟怎么做啊,为什么我的设备总收不到推送呢,这里跟大家集中讨论一下 iOS 上推送的实现细节。

APNs 的推送机制

与 Android 上我们自己实现的推送服务不一样,Apple 对设备的控制非常严格,消息推送的流程必须要经过 APNs:
remote_notif_simple_2x

这里 Provider 是指某个应用的 Developer,当然如果开发者使用 LeanCloud 的服务,把发送消息的请求委托给我们,那么这里的 Provider 就是 LeanCloud 的推送服务程序了。上图可以分为三步:

  1. LeanCloud 推送服务程序把要发送的消息、目的设备的唯一标识打包,发给 APNs。
  2. APNs 在自身的已注册 Push 服务的应用列表中,查找有相应标识的设备,并把消息发送到设备。
  3. iOS 系统把发来的消息传递给相应的应用程序,并且按照设定弹出 Push 通知。

继续阅读