android 消息推送是什么,消息推送一般是怎么做的

android 消息推送是什么,消息推送一般是怎么做的,第1张

Android消息推送,基本上都是以长链接的方式实现的,其原理是客户端主动和服务器建立TCP长链接,长链接建立之后,客户端定期向服务器发送心跳包用于保持链接,当有消息要发送的时候,服务器可以直接通过这个已经建立好的长链接,将消息发送到客户端。

Android端可以通过两种方式实现消息推送,一种是自建推送平台,但这种方式耗时耗力成本高,且长链接的稳定性和存活性难以保障;另外一种是直接选用像个推这样的第三方消息推送供应商。开发者只需要集成个推消息推送SDK,即可简单、快捷地实现Android平台的消息推送功能,有效提高产品活跃度、增加用户留存。此外,个推消息推送在消息推送的基本性能上,如省电省流量、长链接稳定性、推送速率、安全性等方面都具有领先业内的优势。

如果您对个推消息推送感兴趣,欢迎您前往个推开发者中心免费注册体验。

个推消息推送工作原理

Android中消息推送有如下几种方式:
1、轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息。2、SMS(Push)方式:通过拦截SMS消息并且解析消息内容来了解服务器的命令,但这种方式一般用户在经济上很难承受。3、持久连接(Push)方式:客户端和服务器之间建立长久连接,这样就可以实现消息的及时行和实时性。
消息推送,就是在互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术。推送技术通过自动传送信息给用户,来减少用于网络上搜索的时间。根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。
关于消息推送的方式也可以使用第三方平台来帮助实现,然而极光就是一个不错的选择。极光私有云提供贴身专属定制,为您打造安全稳定高性能的私有云系统,助力企业业务升级。

消息推送(Push)就是通过服务器把内容主动发送到客户端的过程。运营人员通过自己的产品或第三方工具对用户移动设备进行主动消息推送。完成推送后,消息通知会展示在移动设备的锁定屏幕及通知栏上,用户点击通知即可去往相应页面。

现在流行的消息推送实现方式,主要为长链接方式实现。其原理是客户端主动和服务器建立TCP长链接,长链接建立之后,客户端定期向服务器发送心跳包用于保持链接,当有消息要发送的时候,服务器可以直接通过这个已经建立好的长链接,将消息发送到客户端。

个推作为国内移动推送领域的早期进入者,于2010年推出个推消息推送SDK产品,十余年来持续为移动开发者提供稳定、高效、智能的消息推送服务,成功服务了人民日报、新华社、CCTV、新浪微博等在内的数十万APP客户。个推消息推送,也是运用的长链接方式实现消息推送的,其长链接稳定性高、存活好,消息送达率高。开发者通过集成个推消息推送SDK,即可简单、快捷地实现Android和iOS平台的消息推送功能,有效提高产品活跃度、增加用户留存。

如果您对个推消息推送感兴趣,欢迎点击前往了解详情。

个推消息推送工作原理

商家的后台管理系统实现新订单提醒推送功能,利用Spring Boot + WebSocket实时消息推送的方式进行实现。

引入依赖,我使用的是SpringBoot版本226RELEASE,自动管理依赖版本

配置类WebSocketConfig,扫描并注册带有@ServerEndpoint注解的所有websocket服务端

新建WebSocketServer类,WebSocket服务端是多例的,一次WebSocket连接对应一个实例

辅助类

新建一个测试类,用于向客户端发送推送消息

1、 启动服务器程序,提供WebSocket服务。

2 、打开前端html客户端页面,连接WebSocket服务器。

3、向客户端发送推送消息

4、客户端收到新订单推送消息

当我们在本地开采用WebSocket用IP连接时是OK的,例如

当我们上线后,用Nginx部署,并用域名连接时就会失败。此时只需要在Nginx配置文件里加入一些配置即可。配置如下

参考文章
Websocket实时推送消息

阿里云折扣快速入口

推送系统还是不错的,但是相比较来说,深圳极光家的消息推送会好点,优势也是十分明显的,优势如下:
1、指标准确
稳定的自有数据与多源外部数据交叉验证与补充,确保数据指标的趋势准确与稳定。
2、市场认可
有70+中国投资机构、100+海外投资机构以及200+中国知名互联网公司正在使用极光iAPP的付费数据服务辅助其投资和战略决策。
3、覆盖广泛
极光每月稳定覆盖115亿活跃设备,22个一级行业,206个二级行业的200万+APP。
极光提供的数据服务还可从时间、空间、客流等维度帮助零售企业实现对区域客流情况、目标人群行为特征以及区域内营销活动的效果分析,从而为商业决策提供更全面的数据支持。

在公司开发的一个项目中有推送的业务场景,是由我负责设计开发,在实际的使用中还没有遇到业务量大的场景,也就一直没有优化。
存在的问题就是当遇到业务高峰时不容易实现服务器的扩容,基于quartz的分布式定时任务复杂性也较高。
因此在看了 想不到吧?我是这样用Redis实现消息定时推送的! 这篇文章之后,决定自己再把推送系统重新设计。

基本上实现了文章中的推送流程。
项目github地址 message-push

参考资源:

以下是本人在搭建redis集群过程中的一些笔记

启动后查看进程情况如下:

输入命令"cluster info" 或者"cluster nodes "查看集群状态。可以看到集群已经搭建完毕。

运行 cluster nodes 可以观察出集群中 有三个master,三个slave,master与slave的对应关系也和上面的执行结果相匹配


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12733619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存