生活中经常发生这样的事情:用户并无打开某个app,通知栏仍然会收到来自该app的消息推送(即push)。事实上,只要用户没有在使用app,不论是被切到后台、仍是终止进程、甚至从未打开,用户均可能会收到push。微信
Push是运营中经常使用的方法和手段,运用好push能够提升产品的活跃度(DAU/MAU)、带动功能模块的使用率、唤醒沉睡用户从而提升留存率。固然,若是push被滥用,推送的消息过多或用户不感兴趣,将会对用户形成打扰,从而招致用户的屏蔽或卸载。app
除了前述的共性意义外,不一样类型app的push还具备本身特有的意义,例如:对于电商类app,push经过个性化推荐商品或发放购物红包,刺激用户的购买行为;对于内容类app,push经过推送用户感兴趣的内容,增长用户的粘性。设计
对于IM类app而言,push除了是一种运营的方法和手段外,更是实现基本IM功能的必要条件。IM类app的未读消息push功能能够在用户离开app界面且有新的会话消息时,通知用户并由用户决定是否查看。试想,若是你离开了app界面,而app又没有push功能,那么消息传达的时效将没法保证、沟通效率将大大下降。对象
关于push须要注意的共性问题,如push频率、push对象等,相关讨论已经不少,这里主要结合IM类app的特色,讨论IM类app在进行未读消息push功能设计中须要考虑的特性问题。blog
当PC和app同时在线时,用户可能已经在PC端查看了消息,此时的未读消息push也许对于用户来讲就是没必要要的打扰。对此,微信和钉钉的作法是,容许用户选择是否须要push(“开启手机通知”或“关闭手机通知”)。这种给予用户选择权的作法应该借鉴。可是,仅仅提供开启或关闭两个选择,又会致使一些问题:若是用户开启了通知,那么当用户在使用PC客户端接收消息时,放在一旁的手机仍然会收到未读消息push,对用户形成干扰;若是用户关闭了通知,那么当用户不在电脑前时,手机端收不到未读消息push,消息不能及时被查看。进程
基于上述场景中的问题,我认为一个合适的解决方案是:除了提供通知的开启和关闭选项以外,还提供一个“智能通知”的选项,用户选择智能通知后,根据PC客户端的使用状态来智能地进行推送,当用户状态为“离开”时发送push,当用户状态不是“离开”时不发送push,既减小了对用户的打扰又保证了消息传达的时效,如图1所示。产品
图1 “智能通知”流程图电商
IM中不一样消息的重要程度不一样。通常来讲,@消息、单人消息、强提醒消息(如钉钉的DING)相对于普通的群组消息更重要。将重要性不一样的消息区别对待,能够在尽可能少打扰用户的同时保证消息传达的时效。可是,通过调研发现:大部分IM类app并无提供这方面的设置,如微信、钉钉;而另外一些app则容许用户进行详细的设置,如slack支持设置所有消息都通知、只接受DM消息和关键词消息通知或不接收通知。效率
微信、钉钉经过push不断唤醒用户能够提升用户的活跃度和粘性,从而实现商业目的;slack提供的设置能够知足用户对于未读消息通知的个性化需求,从而得到更好的用户体验。取得用户目标和商业目标的平衡是作好产品的关键,微信、钉钉、slack之类耕耘IM领域多年的产品的作法不一样,这其实是不一样的产品设计原则的体现。登录
对于活动信息push,用户点击后应当直接进入相应的活动页面;对于电商类app的商品push,用户点击后应当直接进入商品详情页面。不然,若是用户点击后进入的是app首页,用户还要花精力去寻找感兴趣的活动或商品在哪儿,这是不友好的用户体验,必定程度上挫伤了用户点开push的热情。目前这个设计原则已经基本上被承认,可是IM类app中的未读消息push却并非那么回事儿。
通常来讲,app基本不会在同一时间推送两条活动信息;当电商类app推送多个商品时,用户也不大可能同时对两个以上的商品感兴趣(至少目前的技术条件下还不能实现如此精准的推送)。而IM类app中的未读消息有多条是很常见的状况。若是用户点击push后直接进入相应的会话页面,那么TA能够直接看到该未读消息,但可能会忽略其余的未读消息(由于用户未必注意到其余未读消息)。若是用户点击push后进入的是消息主页面,那么TA能够从消息列表中选择重要消息先看,随后再查看其余消息,但查看重要消息会多一次点击。所以,用户点击未读消息push后,未必应该直达相应的会话页面,须要经过一些数据进行分析和讨论后再作决定。
本部分的讨论基于如下两个场景:
场景一:用户选择当PC和app同时在线时“开启消息通知”,或选择“智能通知”并处于离开状态,在此条件下,有未读消息时手机会收到相应的通知,但用户并无点开该push,而是在PC端查看了该未读消息。
场景二:用户PC离线时收到了未读消息push,但未点开该push,而是登陆PC端后在PC端查看了未读消息。
在上述场景下,用户实际上已经在PC端查看过了未读消息,本着减小对用户的打扰的原则,在用户查看未读消息以前手机收到的push应撤回。尤为是企业级IM类app,办公时间消息的收发十分集中,若是PC端查看消息后手机push仍然霸占着通知栏,无疑会引发用户的反感。