PUSH消息推送的实现原理(push消息推送的实现原理是什么)

PUSH消息推送的实现原理(push消息推送的实现原理是什么)

编辑导语:如今,push已经成为了我们手机信息流的一种推广方式,那么push消息推送是如何实现的呢?作者总结了几种消息推送的类型以及实现原理,一起来看看。

PUSH消息推送的实现原理(push消息推送的实现原理是什么)

一、消息推送的类型

1. 短信推送

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

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

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

PUSH消息推送的实现原理(push消息推送的实现原理是什么)

2. 邮件推送

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

3. 微信消息推送

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

PUSH消息推送的实现原理(push消息推送的实现原理是什么)

4. 通知栏推送

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

PUSH消息推送的实现原理(push消息推送的实现原理是什么)

5. 应用内推送

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

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

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

1. 轮询方式(PULL)

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

2. 短信推送方式(SMS PUSH)

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

3. 长连接方式(PUSH)

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

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

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

三、系统级推送解决方案

1. iOS 平台(APNs)

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

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

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

PUSH消息推送的实现原理(push消息推送的实现原理是什么)

2. Android 平台

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

PUSH消息推送的实现原理(push消息推送的实现原理是什么)

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

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

四、应用级推送解决方案

1. 第三方推送服务

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

2. 自建推送服务

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

五、PUSH推送实现方法总结

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

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

当然,如果是通过之前说过的个推、极光等推送服务商,那么内部的服务端就无需做这些繁琐的开发工作。他们不仅集成了APNS、小米、华为等大部分厂商通道,还可覆盖微信公众号、微信小程序、短信、邮件、支付宝生活号、钉钉企业微信、5G消息、飞书等,同时在补发策略、数据监控等层面也有较为成熟的方案。

PUSH消息推送的实现原理(push消息推送的实现原理是什么)

话又说回来,对于产品经理来说,上述内容只需要了解就可以了,我们更关注的还是如何利用推送提升业务转化和用户体验。至于你问我那为什么还要写,当你从0搭建一个app时,就能感同身受了。

作者:阿宅的产品笔记;公众号:阿宅的产品笔记(PMZZnote)

本文由 @公众号阿宅的产品笔记 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年3月29日 上午9:28
下一篇 2024年3月29日 上午9:42

相关推荐

  • 横向科研收入

    横向科研收入横向科研收入横向横向横向纵向发展趋势横向发展横向发展趋势横向发展趋势纵向扩展中西发展趋势纵向发展趋势2纵向交流发展趋势纵向交流和横向交流的横向发展趋势3横向交流理论4纵…

    科研百科 2024年11月25日
    1
  • 大同经开区管委会副主任孙娜

    大同经开区管委会副主任孙娜 孙娜,女,汉族,1976年11月出生于山西省大同市,博士,教授,1994年7月毕业于大同大学物理系,同年进入大同市政府工作,2007年7月博士毕业于中国…

    科研百科 2024年12月1日
    11
  • 权威发布:在中国共产党福建省第十一次代表大会上的报告

    高举旗帜牢记嘱托 勇担使命砥砺前行 奋力谱写全面建设 社会主义现代化国家福建篇章 ——在中国共产党福建省第十一次代表大会上的报告 (2021年11月26日) 尹 力 各位代表、同志…

    科研百科 2023年6月5日
    391
  • 瞬间隐身 – 这款不到1MB的工具,老板看了都迷糊!(想隐身 瞬移 或者倍速过完这一生)

    在忙碌的工作中,当一丝疲惫袭来,想要摸鱼片刻,玩玩游戏或浏览一下与工作无关的内容,但又担心被老板、上司或同事发现? 今天小呆要与大家分享的这款老板键工具,将助你迅速隐去当前页面,巧…

    科研百科 2024年7月26日
    48
  • 宁津大曹镇:建起“村情档案”为民服务有本“明白账”(宁津县大曹镇政府)

    “自从我们建立了‘村情档案’,对着目录一查,村情概况、发展优势、村企信息等就可以方便快捷了解到。”9月4日,在德州市宁津县大曹镇沈庄村,新上任的大曹党群服务中心副主任刘月晨正在翻看…

    科研百科 2023年2月16日
    176
  • 教学管理系统 采购项目

    教学管理系统采购项目 随着教育事业的不断发展,教学管理系统的采购已经成为教育行业的一个重要议题。教学管理系统可以提高教学质量,简化教学流程,提高工作效率,为教师和学生提供更好的服务…

    科研百科 2024年12月31日
    0
  • 程序人员外包开发

    程序人员外包开发是一种越来越受欢迎的商业模式,它为企业提供了一种灵活、高效的解决方案。在这种模式下,企业将软件开发项目外包给专业的程序人员团队,以降低成本、提高效率和质量。本文将探…

    科研百科 2024年2月26日
    81
  • 江苏交通云电子运单怎么下载

    江苏交通云电子运单怎么下载 随着数字化时代的到来,交通领域的电子运单也成为了一种常见的交通工具。江苏省交通云电子运单的下载成为了一件十分简单的事情。本文将介绍如何下载江苏交通云电子…

    科研百科 2024年11月25日
    3
  • oa办公系统项目管理

    oa办公系统项目管理 随着现代办公需求的不断增长,oa办公系统项目管理已经成为了企业日常办公中不可或缺的一部分。一个好的oa办公系统项目管理不仅可以提高企业工作效率,还可以降低企业…

    科研百科 2024年8月15日
    32
  • 质量信息化项目管理系统

    质量信息化项目管理系统 随着信息技术的不断发展,企业对于信息化的要求越来越高。质量信息化项目管理系统是一种能够帮助企业实现质量信息化的管理系统,它可以有效地帮助企业控制质量、提高产…

    科研百科 2024年12月13日
    0