浅析手机消息推送设计
浅析手机消息推送设计
消息是提醒用户有更新的内容,可能短信、邮件、好友申请和日程安排。消息的作用在于主动提醒 用户,不需要主动刷新程序或者网页去检查更新,比如A ndro id的sina微博,必须手动刷新程序才能 更新微博或者查看好友申请。这种做法可以节省流量,对于手机包月用户而言非常有必要的。用户 专注于当前任务时,可以接收到其他应用程序推送的消息,用户可以及时处理多任务。
除了iPho ne的长连接心跳查询,PushMail的IM A P可以支持IDLE特性,邮件客户端登录连接服务器 后不会主动检查更新,而是停留在空闲状态,当服务器接收到新邮件再通知邮件客户端,此时客户
端会再查询收邮件。或者依靠短信触发,以看不见的短信方式触发程序发起更新,但是短信方式的 实现成本较高。(非技术人员,相关技术描述可能有误)
mspush WP7的也有相应的推送服务,无论程序是否开启都可以界面顶部推送Toast Notification,并显 示10秒。WP7的Push Client负责于服务器交互,接受到消息时再传送给相应的应用程序,而不需要 应用程序各自维护一个进程。如果程序被钉在首页,服务器推送瓦片通知(Tile Notification),改 变瓦片的背景图片、数字和标题属性。而弹出框式的原生推送(Raw Notification)只能应用在程 序开启时,容许实时更新界面。
终端推送设计
除了要了解O S对消息的处理机制和展现形式,消息自身的众多属性可以在设计中加以利用,比如消 息的元数据、状态、优先级和同步方式等等。
时效性强的短信、微博私信和邮件处理的优先级更高,可以优先显示在解锁界面。好友申请、系统 消息和好友评论等优先级稍低,只以数字提醒并且不带声音,甚至只能在程序开启时提醒。未来情 景式消息推送会在手机端发挥作用,优先级会依照信息对用户的有效性有所提升,比如到了某了商 店附近触发折扣信息的推送。
服务器在推送消息时,如果可以附带更多样的处理方式、比如查看完整的140字微博、回复、忽略 、已读和拒绝,不进入其他程序(如Facebo o k和短消息)就能操作会提高处理的效率,正如M IUI在 主页收到短信时可以立即回标记为badge不再重复声音提醒,好友申请可 以分为同意、拒绝和忽略,对于在各种手机端被用户忽略的消息可以设定为垃圾消息。
多台设备的消息可以同步处理,如iPho ne端的消息未读,切换到PC端时,查阅了更新的内容 之后,iPho ne端的消息可以取消推送。
未来的消息推送很有可能会向WP7那样往集成化的方向发展,其重要性将越来越高。
参考资料:
Apple Push Notification Service Android Push Applications Windows Phone 7 Push Notification BlackBerry Push APIs An early look at DroidPush API iPho ne的Push(推送通知)功能原理浅析 ht t p://io sno t if icat io ns.wo rdpress.co m/ 互联网架构设计中的po ll和push 偷窥iPhone Push Notification的幕后 notifications 概念设计 关于Pushmail那些事儿
no2 iPho ne的消息缺乏统一的管理,虽然比A ndro id容易推送消息,但在终端没有将消息聚合起来统一 管理,所以有设计师对其加以改进,设计了Notifications App。解锁界面显示消息,滑动某条消息 可以立即查看具体内容。对现有iPho ne的界面操作的基础上加以利用了解锁界面。
apns iPho ne自3.0之后推出消息推送机制,原理是消息由服务器统一处理:
1. 应用服务器Provider将消息和目标发送给A PNs 2. APNs查找目标iPhone并发送消息 3. iPhone将消息传递给应用程序,再弹出Push通知
A PNs和iPho ne保持15分钟的心跳式长连接,维护手机和服务器的联系正常,否则手机会不停发起 连接,直到连接到服务器为止。程序不必实时开启和主动检查更新,当收到A PNs消息时,iPho ne 会弹出对话框Push消息并伴随着声音,用户可以选择“view”或者“clo se”。即使用户当前处在离线 状态,用户收到消息之后激活程序,再通过程序链接应用服务器下载邮件或者录音。
来源:ht t p://daichuanqing.co m
人人都是产品经理(wo shipm.co m)中国最大最活跃的产品经理学习、交流、分享平台
no2 双击Home键可以从底部调出消息,而越狱APP Notified Pro和Android一样利用状态栏,两者目的 都是为了全局操作。考虑到很多游戏会覆盖状态栏,No t if icat io ns的方式较好,同时对用户现有操 作系统影响较小。进入该程序中可以对所有消息统一编辑或者清除。
之所以需要统一管理的另外一个原因在于程序越来越多,消息也越多,个别应用程序为了吸引用户 注意力,会频繁推送消息,导致消息泛滥和影响用户对重要消息的关注程度。
推送机制
ff 最基础的方法是程序实时联网获取消息,但是程序会占用内存,频繁联网耗费电量,程序各自链接 自有服务器还会占用很多进程。以轮询(po ll)的方式实现时需要程序不定地询问服务器是否有 更新,推送(push)的好处在于有消息时由服务器告知手机客户端,手机此时再发起更新,省电省 流量,所以智能手机平台都会有推送服务。
推送形式
iPho ne的消息弹出框如果点击“view”会影响当前操作,但是如果点击“clo se”就再也查看不到消息。 由于弹出框形式的限制,没法像A ndro id状态栏那样同时显示多条消息。分散在各个屏幕的badge难 以管理,多数badge并没有实际意义,比如花了很长时间更新可能发现某个应用程序只是改了个程 序名称。