移动推送通知使用什么协议?

时间:2019-11-28 01:41:11

标签: android ios firebase push-notification apple-push-notifications

移动推送通知使用什么协议?

以android为例。 首先,从第三方服务器向Firebase服务器发出HTTP请求。 接下来的问题。 FIrebase服务器如何从众多服务器中选择所需的手机并发送推送通知?

当然,我知道我可以发送推送通知而不必担心。 但是,我对兴趣感到好奇。

在TCP / IP上,通信需要IP地址和MAC地址,但是如何将推送通知发送到手机?

用于学习的链接

谢谢。

1 个答案:

答案 0 :(得分:3)

在iOS上,当应用注册了远程通知时,它会收到一个令牌。苹果将​​此令牌与设备的实际唯一标识符存储在其数据库中。

iOS设备本身在端口5223上与Apple服务器保持持久的TCP连接。该协议本身是Apple专有的。

当推送通知发送到Apple的服务器时,它们会交叉引用推送中指定的令牌,以确定推送所针对的实际设备。

然后,该通知将通过已建立的TCP连接传递到设备。

如果设备当前未连接(例如处于飞行模式),则将保持有效负载,直到重新连接或由于消息太旧而丢弃消息。

我想Android可以正常工作