资讯中心 / android消息推送实现机制介绍

android消息推送实现机制介绍

android推送
2018-11-23

手机里的APP推送已经成为一种常态,APP的消息推送是APP主利用自身的信息渠道向用户推送信息的最佳手段,如果能够有效利用消息推送,能够很好地增强用户黏性,保持APP用户活跃度。作为APP必备的功能,消息推送主要包括了通知、自定义消息、本地通知,今天向大家介绍一下android系统APP消息推送实现的机制。

 

我们通常能够想到的实现方式主要有两种:轮询和tcp长连,其目的都是让服务端和客户端之间时刻保持在线状态。对于客户端而言,轮询:通过编写一个线程按某种配置的时间间隔无限循环去请求服务端是否有新的消息,当有新消息时就提醒给用户。tcp长连:与服务端建立tcp长连,这样服务端就可以直接给客户端发送消息了,当前市面上基本上是以此种方式居多。

 

上面两种方式都是比较消耗资源的,而这里我们使用的是另外的一种方式来实现的,如MobPush所采用的udp无连接:其实现基本原理为,客户端创建socket并向服务端发送udp包,服务端接收到请求连接的udp包之后,将客户端ID与IP和端口号进行绑定,当要向某个客户端ID发送消息时,找到其对应的IP和端口号,然后将消息组装成udp包发送即可,其大致流程如下:

当发送udp包到服务器时,服务器拿到的IP和端口其实是客户端在路由上映射的IP和端口,所以我们需要维护路由上的映射表,这时就需要定期发送心跳包,以保证路由上的映射关系不会被清除掉。

上一篇 下一篇
SDK打包中 — 0%

SDK下载

正在根据您选择的SDK打包中,完成后自动下载
0%