什么是推送,推送的原理是什么?

网页推送,是指将经过整理的信息资源以网页的形式迅速转发至用户的界面,实现用户的多层次需求,使得用户能够自己设定所需要的信息频道,并直接在用户端接收定制信息的实现方式。

用很直接的话来说就是把最新的软件信息,资讯或者别人想让你看到的东西推荐给你,就像是腾讯新闻的最新热点弹窗一样的作用。

这里有移动开发市场上经常用的推送服务,推送服务,你也可以通过他们的特点和配置过程了解对比下,另外还有推送界的十大豪门推送

推送方案的公认评价采取4s标准:

1.Safe(安全) 2. Stable(稳定) 3.Save(省电省流量省成本)
4.Slim(体积小)

1.Safe (安全)

推送方案应支持透传及各种加密方案,保障信息传递安全。

推送方案的ID系统应该独立于已有的网站或服务的ID系统,这样保障用户在不同手机上登录后的信息投递准确性,避免因为取消绑定事件失败因网络传输而造成的信息误投送。

2. Stable(稳定)

稳定包括两个部分一个是服务器端的稳定性,一个是手机端的稳定性。

服务端稳定性,因为使用长连接方案,对服务器的开销和要求很大,推送方案对服务器开发要求很高,海量线程连接下的服务器稳定性是非常具有挑战性的。一般的评判标准包括:

- 同时在线时峰值(一般按照百万并发连接时服务器稳定性评测)

- 高并发时消息平均延迟时间(一般按照1分钟处理1百万条信息评测)

- 服务稳定性(一般要求全年99.9%以上可用,有备份,有负载均衡等)

鉴于服务器稳定的开发难度很大,小团队不建议自己开发,建议使用稳定的第三方推送方案,如个推,蝴蝶等。[1-2]

手机端的稳定性,主要是因为中国的复杂网络状况及手机型号适配情况造成手机长时间稳定联网较困难,所以稳定性非常重要,一般的评判标准包括:

- 每日联网23.5小时以上用户比例(表征联网稳定性)

- 消息发送后9小时内收到率(表征到达率)

一般来说,推送方案要做网络的分运营商,分省,分机型适配,自己开发工作量较大。

3.Save(节省)

省电应注意CPU休眠,一般用服务缩短待机时间百分比评判。

省流量应注意协议的修改和冗余数据包的处理,一般用空载待机月流量评判。

省成本应考虑单服务器承载同时连接数,可承载同时连接数越多成本越低,业内顶尖水平为个推的单服务器300万连接。

4.Slim(体积小)

客户端推送服务SDK应该体积尽量小,不影响主程序的大小和复杂度,一般以小于或等于300K为宜。

时间: 2024-11-05 23:32:37

什么是推送,推送的原理是什么?的相关文章

IOS中远程推送的消息的原理和步骤:

一.消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1-1 1.              Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]): 2.              APNS:Apple Push Notification Service[苹果消息推送服务器]: 3.              iPhone:用来接收APNS下发下来的消息: 4.

由内搜推送思考Kafka 的原理

刚入公司的两周多,对CDX项目有了进一步的认识和理解,在这基础上,也开始了解部门内部甚至公司提供的一些中间服务.CDX项目中涉及到的二方服务和三方服务很多,从之前写过的SSO,Auth,到三方图库的各个接口,以及图片存储的云服务Gift,以及今天说到的内搜系统. 由于内搜推送信息是到一个kafka队列中消费,虽然作为业务开发不涉及消息中间件的建设,但还是希望能了解内部选型的一些思想,一点一点学习和理解部门的各个服务.这里我也参加了内部的一些分享,想说说自己对Kafka的初识吧. 首先是Kafka

iOS 推送服务的简易原理与配置

最近的项目需要用到iOS的push功能,在配置push功能的过程中遇到了一些不清楚的地方,经过查阅资料和思考,已有初步认识,下面进行一下梳理,我们的服务器端用的是Facebook的Parse. 完整的push流程是这样的,服务器端将信息传递给APNS(Apple Push Notification Service),再由APNS将信息push到目标设备. 服务器--APNS 服务器与APNS之间是通过SSL(Secure Sockets Layer)协议进行通信的,简单的原因应该是这样的,App

使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言

链接网址:http://www.cnblogs.com/yangwujun/p/5973120.html 在VisualStudio2010中新建网站JPushAndroid.添加引用json帮助类库Newtonsoft.Json.dll. 在web.config增加appkey和mastersecret,可以在极光官网www.jpush.cn申请.web.config源码: <?xml version="1.0"?> <!-- 有关如何配置 ASP.NET 应用程序

iOS:苹果推送----推送证书的生成

最近要做需要苹果推送通知的项目,就研究了一下推送证书的使用,大略步骤如下: 1.授权文件.certSigningRequest的生成(后面生成证书时需要.) 填完信息后 会在选择的位置生成文件:CertificateSigningRequest.certSigningRequest 2.证书的生成.(登陆:https://developer.apple.com/account/overview.action)   创建一个允许发送通知的App ID ,允许通知的的App ID 只能选择Expli

Vs2017获取Git空仓库后创建解决方案及项目无法推送,推送失败的问题.

  与Git无关,因为远程是空文件夹,导致没有远程版本做对应提示更改或怎样,必须在创建人创建仓库的时候上传文件代码. https://developercommunity.visualstudio.com/content/problem/19752/git-cant-clone-remote-repository.html

喜迎学院周年庆,博客好礼送不停,51CTO博客专栏送书送T恤!!!

好礼一:订阅新上专栏<负载均衡高手炼成记>就送自选图书一本. 简介:学习要趁早,你定专栏我送书,前100名(目前仅剩30名额)订阅指定专栏就送图书一本,为早鸟加餐,为梦想增值. 活动地址:学习要趁早,专栏上新,早鸟订阅送图书 好礼二:喜迎学院周年庆,学知识送清凉,订阅专栏送51CTO定制T恤 简介:需在周年庆活动期间(2018年6月26-7月2日23:59分 )有新增订阅专栏,且订阅专栏总量满3个及以上(含历史)就可免费领取51CTO定制T恤一件. 活动地址:提升技能,升级思维,你学知识我送T

(转)移动端主动推送消息原理

转:https://www.zhihu.com/question/19628406/answer/77205019 一.服务端主动推送消息到客户端过程 作者:谢泽帆   李琰链接:https://www.zhihu.com/question/24938934/answer/85359794来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 服务端主动推送到客户端是怎么一个过程 目前服务端给客户端推送,普遍做法是客户端与服务端维持一个长连接,客户端定时向服务端发送心跳以

【Android应用开发】 推送原理解析 极光推送使用详解 (零基础精通推送)

作者 : octopus_truth 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/45046283 推送技术产生场景 : -- 服务器端主动性 : 客户端与服务器交互都是客户端主动的, 服务器一般不能主动与客户端进行数据交互, 因为服务器端无法得知客户端的 IP 地址 及 状态; -- 数据实时性 : 如果服务器端有紧急数据要传递给客户端, 就必须主动向客户端发送数据; -- 基本原理 : 使客户端实时获取服务器端消息,

Android 心跳包心跳连接 如何实现android和服务器长连接呢?推送消息的原理

前言:现在的大多数移动端应用都有实时得到消息的能力,简单来说,有发送消息的主动权和接受消息的被动权.例如:微信,QQ,天气预报等等,相信好处和用户体验相信大家都知道吧. 提出问题:这种功能必须涉及client(客户端)和server(服务器),所以到底client如何和server实现实时连接通讯? 分析问题:这种功能实际上就是数据同步,同时要考虑手机本身.电量.网络流量等等限制因素,所以通常在移动端上有一下两个解决方案:1.一种是定时去server查询数据,通常是使用HTTP协议来访问web服