消息传递服务器如何识别目标客户端并发送推送通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了消息传递服务器如何识别目标客户端并发送推送通知相关的知识,希望对你有一定的参考价值。

我的客户是android设备。客户端希望将一些信息发送到另一个客户端,该客户端将首先发送到应用服务器,然后服务器将通知中间件服务(某种消息代理),该服务器将负责向目标客户端发送推送通知(告知)它从应用服务器轮询)。 我想知道: 该中间件服务如何识别要通知的客户端设备? 更具体地说,推送通知服务器如何定位要触发通知的物理设备? 我的要求是即使在使用VPN或代理(类似于WhatsApp)时,客户端也应该能够获得通知。此外,如果客户端断电,则中间件会对消息进行排队,并在客户端重新打开电源后将其传送出去。 我一直在研究Firebase云消息传递和MQTT经纪人等事情,但我想自己实现类似的东西。 我想用Java实现它。

答案

您的客户端(具有唯一ID和令牌)将消息发送给另一个客户端,该客户端在数据库中也具有唯一ID和令牌。所以,

服务器将接收者的id映射到接收者令牌并将通知发送给接收者。

数据库(后端)将针对每个客户端具有唯一ID(可能是主键),并且还针对每个客户端具有唯一令牌(用于发送通知)。因此,当发送者 - 客户端发送消息时,后端脚本将接收者 - 客户端(发送者发送给他们)id映射到接收者客户端令牌。然后将通知发送到特定令牌。

以上是关于消息传递服务器如何识别目标客户端并发送推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何向桌面应用程序发送推送通知

如何实现消息推送功能

如何在 Xamarin.iOS 中使用 FCM(Firebase 云消息传递)发送 iOS 推送通知

Firebase 云消息传递如何在 Android 上运行

Firebase 云消息传递 - 如何验证令牌?

Android GCM 投放监控