当前位置: 首页 > 科技观察

APP消息推送那些事

时间:2023-03-15 22:00:35 科技观察

Part01什么是消息推送消息推送其实每天都在我们的手机上发生,如图1,除非你的手机没有安装APP或者开启了系统的通知栏权限离开。这些推送消息时刻提醒和引导我们打开APP,然后成为他们的活跃用户,这也是消息推送的目的。图1手机端“推送”APP消息通知的概念最早由PointCastNetworks于1996年提出,旨在为用户提供更准确、更实时的消息通知。随着推送技术的发展,推送技术主要经历了三个阶段:1.1轮询方式客户端主动发起请求,客户端以预定的方式向服务器询问是否有新的推送消息的推送方式任务。缺点:如果请求频率太高,会消耗更多的资源(流量、电量、服务器资源);请求频率太低,消息延迟高,实时性得不到保证。1.2短信推送方式通过运营商的短信通道向用户设备发送消息,客户端植入短信拦截模块,可以拦截短信并提取内容转发给APP应用进行处理。缺点:短信推送需要付费,成本高;客户端拦截短信存在安全风险。1.3长连接推送方式长连接推送是基于TCP长连接实现的。客户端主动与服务器建立TCP长连接后,客户端周期性地向服务器发送心跳包来维持连接。必要时,服务器直接通过已建立的TCP连接。客户端收到TCP连接通知。该方案也是目前主流的消息推送实现。目前主流的消息推送流程如下图2所示。图2主流消息推送流程Part02技术事项就目前主流的长连接推送方式而言,如果要主动向APP推送消息,需要在APP客户端和服务端之间建立通道,俗称长连接。如果手机退到后台,这种长连接靠APP维护,难度很大。一方面,手机系统不允许这样做。试想一下,如果手机上所有的APP都在后台保持keep-alive长连接,那么手机系统的性能会大大降低。;另一方面,开发成本过高。为了开发APP,需要维护长连接,所以大部分公司不会自建推送服务。自己搭建长连接是不可行的,只好依赖手机系统的长连接。我们来看看目前主流的移动操作系统Android和iOS基于系统长连接的推送通道。1、苹果手机系统有一个官方的推送通道APNs(ApplePushNotificationservice),即ApplePushNotification服务。APNs会在手机系统层面与苹果服务器建立长期连接。我们业务只需要将推送通知推送到APNs系统即可。手机系统收到APNs服务器的消息后,会帮我们转发给相应的APP。这样,只要你的手机正常联网,即使APP没有打开,你也可以正常接收推送通知。苹果手机通过APNs推送消息的工作机制可以简单描述如下图3。图3APNs推送流程2.按理说Android手机系统也应该有这样的推送系统。事实上,谷歌还开发了一种名为GCM(GoogleCloudMessaging)的推送服务。原理类似于苹果的APNs。但由于谷歌在国内访问不稳定,导致GCM服务在国内无法正常使用(工信部牵头的“Android统一推送联盟”还在筹备中)。为了解决这个问题,很多手机厂商都在自己的手机系统中内置了系统推送功能,比如小米、华为、vivo、oppo、魅族等等。由于接入成本的问题,也涌现出一大批第三方推送服务商,如格推、极光、友盟等,第三方推送服务商的推送流程如下图4所示。图4第三方服务商推送流程Part03推送技术以外的新闻对于APP来说是一把双刃剑。好的推送可以提高用户留存率、产品活跃度和用户对应用的忠诚度;一个糟糕的推送可能会引起用户的反感和抱怨,从关闭通知消息到卸载应用程序。那么如何掌握这把利剑,也是对产品运营能力的考验。一般来说,一条推送消息会涉及到几个因素:推送文案、推送频率、推送时机和推送人群。3.1推送文案在广告营销理论中有一个规则叫做AIDA法则,如下图5,图5.AIDA法则的具体含义是指一个成功的推销员必须将客户的注意力吸引或转化到产品上.让顾客对销售人员推销的产品产生兴趣,从而使顾客的欲望随之产生,进而促使购买行为达成交易。3.2推送频率和时机关于推送频率,一般来说,同一APP的用户一天最多接收3次推送。如果消息太多,容易给用户带来麻烦,甚至不能每天(也许隔天)给用户推送一次会更好)。关于推送时机,如果是信息,推送时机越准时越好。不然竞品都推完了,用户都知道了。如果你按下它,没有人会点击它。同时,正如一些官方所推,内容的准确性也要保持。一般我们希望在大家比较空闲的时候推送推送时间,比如:上班路上和早餐时间(9-10点),午休时间(12-14点),下班时间(18-19点)和睡前时间(21-22点)等。当然,时间可能会针对不同的用户群体进行调整。这就需要结合用户群体和业务属性,找到一个相对合适的时间点。3.3推送人群关于推送人群,现在大型互联网公司都有自己的大数据平台或者用户画像系统。俗话说,不同标签的人推送的内容要有差异化,才能达到最高的打开率和点击率。这对于电商领域的平台来说尤为必要。例如,一群刚在平台注册的用户会向这些用户推送优惠券信息,这可能会激发他们的购买欲望;一组用户位于杭州,可以结合杭州的天气,向这些用户推荐当天在杭州应该穿什么样的衣服;有一群身高可能165+的用户,你可以为这群用户推荐合适的衣服。结合人群的实际属性,这样的推送会更精准,用户点击的概率也会更高。3.4推送事故推送消息一旦到达APP端就很难撤回,所以消息推送也容易造成推送事故。图6推送事故那么在实际操作中应该如何避免推送事故呢?1、推送前最好划定推送人群,这样即使出现推送意外,也只是部分用户受到影响。2、加强对推送消息的审核。最好结合工单审批流程,保证消息在推送之前就已经受控。3、推送系统做好黑白名单管理,推送前进行白名单测试,对敏感用户进行黑名单管理。Part04结语当然,新闻推送还有很多值得关注的地方,比如如何提高到达率和用户点击率。这些可能是产品运营比较关注的KPI。就像文章开头所说的新闻推送是一把双刃剑,用与不用,不仅考验开发者的技术水平,也考验运营者的能力。