移动推送通知使用什么协议?
以android为例。 首先,从第三方服务器向Firebase服务器发出HTTP请求。 接下来的问题。 FIrebase服务器如何从众多服务器中选择所需的手机并发送推送通知?
当然,我知道我可以发送推送通知而不必担心。 但是,我对兴趣感到好奇。
在TCP / IP上,通信需要IP地址和MAC地址,但是如何将推送通知发送到手机?
用于学习的链接
谢谢。
答案 0 :(得分:3)
在iOS上,当应用注册了远程通知时,它会收到一个令牌。苹果将此令牌与设备的实际唯一标识符存储在其数据库中。
iOS设备本身在端口5223上与Apple服务器保持持久的TCP连接。该协议本身是Apple专有的。
当推送通知发送到Apple的服务器时,它们会交叉引用推送中指定的令牌,以确定推送所针对的实际设备。
然后,该通知将通过已建立的TCP连接传递到设备。
如果设备当前未连接(例如处于飞行模式),则将保持有效负载,直到重新连接或由于消息太旧而丢弃消息。
我想Android可以正常工作