设备到设备推送通知逻辑Swift IOS Firebase



我的目标是实现一个函数,当用户(让我们称他为User1(向另一个用户(User2(发送消息时,会向User2的设备发送通知,这样他就可以在锁定屏幕上看到消息。我已经实现了一个功能。我现在唯一的问题是,当我从用户1的设备向用户2的设备发送推送通知时,我不知道用户2是否在他应该接收消息的帐户上。如果User2已登录到不同的帐户,并且User1向他发送了一条消息,他会看到此消息,尽管User2在不同的帐户中,不应该看到此消息。有没有办法知道用户是否登录了其他帐户,然后阻止通知显示在用户2的设备上?

Firebase云消息没有用户的概念。它只知道设备,或者更明确地说是应用程序实例(特定设备上的特定应用程序就是应用程序实例(。

如果您的用例是基于用户的,那么您的应用程序逻辑正在进行从用户到其FCM实例ID/ID的映射。如果你想让用户不再在特定的应用程序实例上收到消息,你需要删除你制作的映射。

最常见的方法是在用户从特定设备上的应用程序注销时删除映射。

由于这一切都很抽象,我建议您也查看一下:

  • 何时为用户注册FCM令牌
  • 从Firebase中删除用户
  • 如何将FCM消息发送给其他用户
  • 安卓系统:如何在2021年处理用户注销Firebase云消息
  • 如何从FCM代币中获取Firebase用户id?(在服务器上的管理代码中(

最新更新