推送平台支持千万级的通知/消息推送,透传消息,快速触达用户,能够有效提升用户留存率、活跃度。推送平台提供了全链路的移动推送能力,只需接入推送平台的 API 就可以立即将推送消息送达到用户的移动设备。

同时,推送平台还提供了操作便捷的网页端管理后台,方便业务方的老师,进行应用授权,业务管理,推送消息管理,数据大盘查看,方便接入时的调试。

基本概念

什么是移动推送?

推送是指服务器定向将信息实时送达手机的服务,其中涉及到 “服务器” 和 “手机”,服务器为消息的发送者,手机为消息的接收者。“定向”和“实时”则说明推送可以指定接收者,并且需要实时送达。

手机 APP 内的消息推送,系统的消息推送

推送消息分类

当通知消息到达时,操作系统将负责接收消息,手机的通知栏(状态栏)上会显示的一条通知信息。通知主要用于提示用户的目的,应用于新闻内容、促销活动、产品信息、版本更新提醒、订单状态提醒等多种场景。其在华为、小米、vivo、oppo、iphone 五种机型上能够在开机联网的情况下实时到达,不要求 APP 保活。

与通知消息不同,透传消息通常不会展示到通知栏上,通过长连接直接送达到应用,应用实时收到信息后解析消息内容,进而根据消息内容处理业务逻辑,透传消息主要用于应用内部业务逻辑,需要 APP 在线时才可以接收到消息,通常需要 APP 保活。

应用内消息就是通过透传消息将推送内容发送到客户端,当客户端收到消息后会解析消息内容,从而进行消息的自定义展示,同时也可以控制消息在指定页面的展示。

推送基本原理

推送通常有三种实现方式:PULL、PUSH、SMS;

PULL 方式:

客户端使用 PULL(拉)的方式,客户端和服务器端不需要维持 TCP 长连接,客户端以一定的时间间隔不断查询服务端是否有新的消息,通常采用 HTTP 方式,但需要考虑轮询频率,频率太小可能导致消息延迟,如果太快,则会大量消耗网络带宽和电池。所以大多数推送服务都不会使用轮询方式。

PUSH 方式:

服务器使用 PUSH(推送)的方式,对于客户端来说是一种被动的方式,而主动权在服务端,客户端和服务器之间需要维持一个 TCP/IP 长连接,当有消息时,服务端会向所注册到推送服务器的客户端推送消息。这种推送方式的优势是实时性强,客户端实现简单。当然也会有不足,如大量的客户端与服务端保持长连接会消耗服务器的资源,在未推送消息时,需要以一定的间隔发送心跳消息以维持连接,通常这种连接主要消耗的是内存资源。例如,200 万用户可能会消耗数 10GB 的内存。因此搭建这种推送机制时要使用性能好的服务器。这个方案可以解决由轮询带来的性能问题,但是会提高手机耗电。

SMS 方式: