android 消息推送是什么,消息推送一般是怎么做的
答案:4 悬赏:10 手机版
解决时间 2021-01-24 23:03
- 提问者网友:送舟行
- 2021-01-24 07:28
android 消息推送是什么,消息推送一般是怎么做的
最佳答案
- 五星知识达人网友:愁杀梦里人
- 2021-01-24 08:35
所谓的消息推送就是从服务器端向移动终端发送连接,传输一定的信息。比如一些新闻客户端,每隔一段时间收到一条或者多条通知,这就是从服务器端传来的推送消息;还比如常用的一些IM软件如微信、GTalk等,都具有服务器推送功能。
推送方法如下:
1)通过SMS进行服务器端和客户端的交流通信。
在Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,可以实现完全的实时操作。但是问题是这个方案的成本相对比较高,且依赖于运营商。
2)循环主动定时获取
这种方法需要客户端来做一个定时或者周期性的访问服务器端接口,以获得最新的消息。轮询的频率太慢可能导致某些消息的延迟,太快则会大量消耗网络带宽和电池。
3)持久连接
这个方案可以解决由轮询带来的性能问题,但是还是会消耗手机的电池。我们需要开一个服务来保持和服务器端的持久连接(苹果就和谷歌的C2DM是这种机制)。但是对于Android系统,当系统可用资源较低,系统会强制关闭我们的服务或者是应用,这种情况下连接会强制中断。(Apple的推送服务之所以工作的很好,是因为每一台手机仅仅保持一个与服务器之间的连接,事实上C2DM也是这么工作的。即所有的推送服务都是经由一个代理服务器完成的,这种情况下只需要和一台服务器保持持久连接即可。C2DM=Cloud to Device Messaging)。
推送方法如下:
1)通过SMS进行服务器端和客户端的交流通信。
在Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,可以实现完全的实时操作。但是问题是这个方案的成本相对比较高,且依赖于运营商。
2)循环主动定时获取
这种方法需要客户端来做一个定时或者周期性的访问服务器端接口,以获得最新的消息。轮询的频率太慢可能导致某些消息的延迟,太快则会大量消耗网络带宽和电池。
3)持久连接
这个方案可以解决由轮询带来的性能问题,但是还是会消耗手机的电池。我们需要开一个服务来保持和服务器端的持久连接(苹果就和谷歌的C2DM是这种机制)。但是对于Android系统,当系统可用资源较低,系统会强制关闭我们的服务或者是应用,这种情况下连接会强制中断。(Apple的推送服务之所以工作的很好,是因为每一台手机仅仅保持一个与服务器之间的连接,事实上C2DM也是这么工作的。即所有的推送服务都是经由一个代理服务器完成的,这种情况下只需要和一台服务器保持持久连接即可。C2DM=Cloud to Device Messaging)。
全部回答
- 1楼网友:旧脸谱
- 2021-01-24 09:52
受限于公司本身的技术实力,以及开发成本,绝大多数公司其实是没有能力自己开发推送功能的,所以大多数公司都是通过接入第三方SDK,简洁高效的实现消息推送的。
极光推送试用效果不错,极光大数据是国内最早开始做第三方消息推送的公司,技术上比较成熟,极光推送可以快速集成,控制台和API简单易用,支持10亿级高并发访问,可以提供用户自定义的标签和别名系统,以及极光自己根据数据分析出的分类目标,实现精准推送,到达率挺高,耗电也不太大,可以接入试用一下。
极光专注于为移动应用开发者提供稳定高效的消息推送、即时通讯、统计分析、社会化组件和短信等开发者服务。基于海量数据和洞察积累,极光已将业务拓展至大数据服务领域,包括精准营销(极光效果通)、金融风控、市场洞察以及商业地理服务(极光iZone)。极光将继续借助人工智能与机器学习为移动大数据赋能,致力于为社会和各行各业提高运营效率,优化决策制定。
极光推送试用效果不错,极光大数据是国内最早开始做第三方消息推送的公司,技术上比较成熟,极光推送可以快速集成,控制台和API简单易用,支持10亿级高并发访问,可以提供用户自定义的标签和别名系统,以及极光自己根据数据分析出的分类目标,实现精准推送,到达率挺高,耗电也不太大,可以接入试用一下。
极光专注于为移动应用开发者提供稳定高效的消息推送、即时通讯、统计分析、社会化组件和短信等开发者服务。基于海量数据和洞察积累,极光已将业务拓展至大数据服务领域,包括精准营销(极光效果通)、金融风控、市场洞察以及商业地理服务(极光iZone)。极光将继续借助人工智能与机器学习为移动大数据赋能,致力于为社会和各行各业提高运营效率,优化决策制定。
- 2楼网友:詩光轨車
- 2021-01-24 09:18
您好,消息推送其实要看你的业务需求,我们有用极光推送
如果说需要不是一定要实时,那还不如自己在客户端写轮轮询
毕竟第三方的推送基本都是收费的,免费使用的,要么有次数限制,要么有频率限制等等
如果只是你玩一下,那可以用极光推送,或者是百度云推送,集成很简单,都有现在的代码,直接都可以运行的
实现推送,可以归为两种
服务器主动推送消息
客户端定时查询消息
主动推送的话,可以用http长连接,也可以用java socket 一直保持连接,从而实现实时推送(优点是消息实时,缺点是服务器压力大,手机耗电,耗流量, 开发难度大)
客户端定时查询的话,就是启动定时器,格多长时间去查一下服务器看看有没数据就行了(优点是开发简单,客户端耗电和流量少,但是消息不实时)
如果说需要不是一定要实时,那还不如自己在客户端写轮轮询
毕竟第三方的推送基本都是收费的,免费使用的,要么有次数限制,要么有频率限制等等
如果只是你玩一下,那可以用极光推送,或者是百度云推送,集成很简单,都有现在的代码,直接都可以运行的
实现推送,可以归为两种
服务器主动推送消息
客户端定时查询消息
主动推送的话,可以用http长连接,也可以用java socket 一直保持连接,从而实现实时推送(优点是消息实时,缺点是服务器压力大,手机耗电,耗流量, 开发难度大)
客户端定时查询的话,就是启动定时器,格多长时间去查一下服务器看看有没数据就行了(优点是开发简单,客户端耗电和流量少,但是消息不实时)
- 3楼网友:痴妹与他
- 2021-01-24 09:09
消息推送其实要看你的业务需求,我们有用极光推送
如果说需要不是一定要实时,那还不如自己在客户端写轮轮询
毕竟第三方的推送基本都是收费的,免费使用的,要么有次数限制,要么有频率限制等等
如果只是你玩一下,那可以用极光推送,或者是百度云推送,集成很简单,都有现在的代码,直接都可以运行的
实现推送,可以归为两种
服务器主动推送消息
客户端定时查询消息
主动推送的话,可以用http长连接,也可以用java socket 一直保持连接,从而实现实时推送(优点是消息实时,缺点是服务器压力大,手机耗电,耗流量, 开发难度大)
客户端定时查询的话,就是启动定时器,格多长时间去查一下服务器看看有没数据就行了(优点是开发简单,客户端耗电和流量少,但是消息不实时)追问那一般现在的手机app应用用的是哪一种推送,一般用哪一种好一些。追答要看你的业务需求了
如果你只是玩一下,那就用极光推送或者用百度云推送,都还不错,简单易用追问我们公司做项目需要用到消息推送,追答你可以把极光的和百度云的都下下来看看,代码基本都差不多的.
我用过极光的,他们手机端和服务端代码都是可以直接运行的.集成很简单追问公司的项目也可以借用 极光或百度云 来进行推送吗?追答可以的,但是要到注册开发者帐号,获取密钥
配置好相关的密钥包名什么的
免费帐户都有限制,次数,频率等.追问一般公司的项目会提倡使用这种推送方式么,如果有限制的话,一般公司都是自己写吧追答这个要看你的业务需求,如果要求不是很实时,用户量大,消息也多,还是自己写轮询,或者是用socket
如果要求消息要实时,用户量少,推送消息也少,那就用第三方的推送平台吧追问我做的这个项目是针对快递员的应用
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯