iOS上的push notification


晚上简单了解了以下iOS(iPhone, iPad, iPod touch)上的push notification机制。

其实平时我说的push notification里面包含了两个东西,一个是local notification,另外一个史push notification。
local notification与push notification除了前者是本地程序发起的,后者是有远程服务器发起的之外,其他的表现形式——对用户来说——都是一样的。他们都是为了程序不再前台运行的时候通知用户的。

local notification是程序使用iOS的API注册一个定时的“通知消息”,到指定时间就会把该“通知消息”推送到屏幕上给用户(如果注册该notification的程序不在前台运行了)。
push notification是程序注册接受消息,然后当iOS从远程服务器接收到该程序的推送消息,再行推送消息到屏幕。

local notification实际上是确定的,push notification则是依赖于远程服务器并且不确定什么时候会有的。

我理解的push notification是这么一个过程,iOS底层始终有一个连接保持与远程notification 服务器的连接。当有消息要推送给用户的时候,远程服务器就在该连接里面发送消息。iOS底层接受到该消息,然后推送到用户屏幕。

Related posts:

  1. led-notification
  2. 默认google dns 服务器
  3. vsftpd不能chroot的问题的问题
  4. google chrome tracker
  5. linux通过Blackberry上网

  1. #1 by juntao on 22/02/2012 - 16:16

    yautou :

    你好,首先十分感谢你的经验分享!让我学到不少。
    另外,还想请教一下,假如服务器端有消息要push了,它是如何在‘该连接里发送消息’的?这是哪些方面的知识?能否麻烦指点下?
    再次谢谢你!

    服务器和客户端之间维持一个tcp常连接。如果有消息了,服务器就发数据包给客户端。这是一个网络连接。

  2. #2 by yautou on 22/02/2012 - 15:07

    你好,首先十分感谢你的经验分享!让我学到不少。
    另外,还想请教一下,假如服务器端有消息要push了,它是如何在‘该连接里发送消息’的?这是哪些方面的知识?能否麻烦指点下?
    再次谢谢你!

(will not be published)


SetTextSize SetPageWidth