跳转至

消息通知

一、介绍

消息通知是指服务器将新的消息发送给客户端。由于客户端与服务器存在联网或不联网的可能性,消息通知主要分为2个通道:TCP长连接通道以及手机厂家推送通道。

二、TCP长连接通道

当手机APP与服务器连线时,双方之间有一个TCP连接,服务器知道这条TCP连接活动时,会主动通过该通道将新消息发送给客户端,客户端因此收到消息通知。

从上述的原理中可以得知,APP获取新消息通知的基本条件是,APP与服务器处以联网状态。

三、手机厂家推送通道

当手机APP与服务器离线时,TCP连接断开,服务器判断该帐号的APP是否支持消息推送,如果支持,服务器会将消息推送至该用户所支持的消息推送通道地址(手机厂家消息推送服务器),然后由手机厂家将该消息发送至对应手机,手机此时会收到消息推送。

支持消息推送的手机厂家,并且有度适配的有:苹果、华为、小米和魅族。

四、常见问题

1.怎么判断消息通知是来自哪个通道?

  • APP与服务器是否联网;
  • 手机品牌是否属于苹果、华为、小米、魅族其中之一;

2.如何判断APP是否联网?

安卓端需要保持APP常驻后台。苹果APP不支持常驻后台,只要切换到前台TCP连接通道就会断开,此时会走消息推送通道。

3.不支持消息推送的手机怎么办?

请保持APP常驻后台,并且网络保持开启,保证手机当前帐号处于在线状态。

4.为什么我的手机APP满足消息通知的条件,但是依然没有消息通知?

  • 请您确认您的电脑端是否在线,默认电脑端在线时,手机通知关闭。 开启方式:手机端-会话界面顶部-取消手机静音。
  • 若您的手机符合消息推送条件,请您确认手机是否可以访问互联网。

5.有度服务器的防火墙策略中,管理员需要开放哪些目标地址、端口?

目标地址 端口 描述
api.youdu.im 80,443 有度推送通道
api.push.hicloud.com 443 华为推送通道(接口)
login.vmall.com 443 华为推送通道(验证)
api.xmpush.xiaomi.com 443 小米推送通道
server-api-push.meizu.com 80 魅族推送通道
gateway.push.apple.com 2195 苹果推送通道
feedback.push.apple.com 2196 苹果推送通道(反馈)