使用用户的UID发送Firebase云消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用用户的UID发送Firebase云消息相关的知识,希望对你有一定的参考价值。

我想构建一个android应用程序,允许用户向其他用户发送通知和数据消息。我最近才开始使用Firebase,而Firebase Cloud Messaging对我来说仍然很混乱。 我已经实施了使用Firebase实例ID向特定设备发送消息的方法。但是,在我的应用程序中,用户可以使用不同的设备注销并登录其帐户,因此这不是我想要的。我阅读了文档,这非常令人困惑,他们提到向用户组发送消息,以及主题(只有应用可以订阅,而不是用户)。 有没有办法只使用他们的UID将推送通知直接发送给另一个用户或一组用户?如果没有,还有其他方法可以实现吗?

答案

我用它将FCM令牌存储在设备结构中。用户登录时,将deviceData添加到userToken结构中。用户注销时需要清除deviceData。这样,您只会向已记录的设备发送通知。

Ex(这不像我的结构,但它可以帮助你想知道这样做的好方法):

-userToken
  -idUser1
     -device
         -idDevice1
             -fcmToken: "xxxxx"
         -idDevice2
             -fcmToken: "YYYYY"  

希望我帮助你

另一答案

好吧,为了确保在用户登录时这可以在多个设备上工作,我只是让设备订阅名称等于用户的UID的主题。现在,如果我想向用户发送通知,我只需在主题上发送FCM消息,其名称等于用户的UID! 示例:如果我的UID等于“asdf”,则每当我使用多个设备登录时,每个设备都会自动订阅名为“asdf”的主题。所以,现在,如果我在此主题上从服务器发送FCM,则我登录的所有设备都将获取此通知。

以上是关于使用用户的UID发送Firebase云消息的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 云消息传递为一组用户发送通知

如何向 FCM(Firebase 云消息传递)令牌的特定用户发送消息?

以编程方式发送 Firebase 云消息?

Firebase 云功能错误代码和错误消息在 Android 上始终为 Internal

如何使用 Firebase 云消息设置图像?

Firebase 云消息传递通知图像定价