2023年PUSH消息推送的实现原理_第1页
2023年PUSH消息推送的实现原理_第2页
2023年PUSH消息推送的实现原理_第3页
2023年PUSH消息推送的实现原理_第4页
2023年PUSH消息推送的实现原理_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PUSH消息推送的实现原理一、消息推送的类型

1.短信推送

指通过运营商将文本或数字消息传递至用户手机或其他电信终端。它凭借着优秀的发送率和到达率,一度成为最受欢迎的营销工具之一。

一般企业不太会直接对接移动、联通、电信来实现短信发送,而是通过中间的服务商将各地区的运营商资源整合后供应统一、便捷的短信服务,这类服务商叫短信服务商,也可叫短信SP。

目前,支持个人短信服务的厂商有阿里云、腾讯云,其他厂商都是需要认证为企业用户才能使用短信服务平台。短信供应商依据发送量进行收费,发送越多单价越廉价。

2.邮件推送

EDM(EmailDirectMarketing),即电子邮件营销。企业可以通过EDM建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售。邮件推送具有精准送达、共性化定制、内容格式丰富的特点。亚马逊就曾凭借优秀的电子邮件营销出圈。

3.微信消息推送

截至2022年3月31日,微信及WeChat的合并月活跃账户数为12.883亿。随着微信的影响力的增加,越来越多的企业也渐渐重视微信生态的布局,微信消息推送就是其一,它的到达率高、支持精准推送。不足的是,其内容受限于模板,且微信供应的模板数量有限,一个公众号最多选用25种模板。

4.通知栏推送

通知栏推送,也被称为PUSH推送,即在手机终端锁屏状态下通知栏展现或在操作前台顶端弹出的消息通知。用户可以在移动设备锁定屏幕和通知栏看到push消息通知,通知栏点击可唤起APP并去往相应页面。

5.应用内推送

应用内推送常见的形式有弹窗、顶部悬浮通知、收件箱等,可由应用自行掌握样式和内容格式。不足的是只能在用户在线时查看,触达有限。

二、移动推送的三种实现方式

在本篇文章中主要介绍通知栏推送的实现方法。在了解详细的推送原理之前,我们先来了解下移动推送的三种实现方式。

1.轮询方式(PULL)

客户端和服务器定期地建立连接,通过消息队列等方式来查询是否有新的消息,需要掌握连接和查询的频率,频率不能过慢或过快,过慢会导致部分消息更新不准时,过快会消耗更多的资源(流量、电量等),对用户体验有较大损害。

2.短信推送方式(SMSPUSH)

通过短信发送推送消息,并在客户端植入短信拦截模块(主要针对Android平台),可以实现对短信进行拦截并提取其中的内容转发给App应用处理,这个方案借助于运营商的短消息,能够保证最好的实时性和到达率,但此方案对于成本要求较高,开发者需要为每一条SMS支付费用。

3.长连接方式(PUSH)

客户端主动和服务器建立TCP长连接之后,客户端定期向服务器发送心跳包用于保持连接,有消息的时候,服务器直接通过这个已经建立好的TCP连接通知客户端。

尽管长连接也会造成肯定的开销,对于轮询和SMS方案的硬伤来说,目前已经是最优的方式,而且通过良好的设计,可以将损耗降至最低。不过,随着客户端数量和消息并发量的上升,对于消息服务器的性能和稳定性要求提出了特别大的考验。因此,就难度而言,此方式代价最高。

基于上面的介绍,我们可以知道长连接方式是移动推送中目前最优的方案,它也是当前主流的推送方式,基于该推送方式逐步进展出系统级、应用级一系列的推送解决方案。

三、系统级推送解决方案

1.iOS平台(APNs)

iOS在系统层面与苹果APNs(ApplePushNotificationservice)服务器建立连接,不论App是在线状态还是离线状态,消息推送至iOS的APNS服务器,APNS再依据设备标识推送至指定设备,用户即可接收到消息。

大致链路为:业务系统(发起推送)——第三方消息推送服务商或自建消息推送系统的服务器(推送规律掌握、推送下发)——苹果APNS服务器——指定用户设备。

整个过程很清楚,并且全部APP都共用同一个系统级的连接,削减了系统开销,虽然APNs能无障碍的访问,但实际使用过程中,也会存在延时和丢消息的状况。

2.Android平台

Android的C2DM(AndroidCloudtoDeviceMessaging)实行与iOS类似的机制,都是由系统层面来支持消息推送,但是由于Google的服务在国内不能稳定的访问,此方案对于中国用户来说基本是无法使用的。

除了Google官方供应的方案,中国众多的手机厂商在其定制的系统中也内置了推送功能,如小米、华为等。不过在建立推送服务之前,需要申请开发者账号并绑定App,在开放平台开通厂商通道推送的权限。这类厂商机型支持在线离线状态的消息推送。

消息推送大致链路为:业务系统(发起推送)——第三方消息推送服务商或自建消息推送系统的服务器(推送规律掌握、推送下发)——厂商服务器——指定用户设备。

四、应用级推送解决方案

1.第三方推送服务

鉴于Android平台C2DM推送的不行用性,国内涌现出大量的第三方推送服务供应商。目前应用最为广泛的第三方推送服务供应商包括个推、极光、友盟、小米、华为、BAT等,绝大部分APP都会优先考虑采纳第三方推送服务。

2.自建推送服务

第三方服务在开发成本和消息到达率上表现都不错,但全部信息会经过第三方服务器,对于信息敏感类APP而言,有必要考虑自建一套消息推送服务,能最大化保证平安,但自建推送服务需要对App客户端海量长连接的维护管理且面临保证PushService常驻的难题等。

五、PUSH推送实现方法总结

综合以上分析,推送实现方式可以简洁概括为:

PUSH消息在消息系统创建好后进入发送阶段,服务端依据用户终端信息进行路由,调用苹果自身的推送通知服务(APNs)或依据依据不同的安卓厂商去调用对应的SDK,最终下达到用户设备。

当然,假如是通过之前说过的个推、极光等推送服务商,那么内部的服务端就无需做这些繁琐的开发工作。他们不仅集成了APNS、小米、华为等大部分厂商通道,还可掩盖微信公众号、微信小程序、短信、邮件、支付宝生活号、钉钉、企业微信、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论