【发布时间】:2021-11-08 01:31:34
【问题描述】:
我可以通过获取其 fcm 令牌将通知发送给单个用户。
考虑像 Instagram 这样的简单案例: 用户(X) 向其他用户(Y) 发送好友请求
现在我想向用户 Y 发送通知,我应该怎么做?
我能想到的唯一方法是将fcm令牌存储到用户数据库中并在此基础上发送,有没有更好的方法?
【问题讨论】:
标签: node.js firebase firebase-cloud-messaging
我可以通过获取其 fcm 令牌将通知发送给单个用户。
考虑像 Instagram 这样的简单案例: 用户(X) 向其他用户(Y) 发送好友请求
现在我想向用户 Y 发送通知,我应该怎么做?
我能想到的唯一方法是将fcm令牌存储到用户数据库中并在此基础上发送,有没有更好的方法?
【问题讨论】:
标签: node.js firebase firebase-cloud-messaging
Firebase 云消息传递具有三种定位消息的方式:
您向FCM token/device ID 发送消息。
FCM 令牌标识特定设备上的特定应用,因此您针对的是单个应用实例。
您向topic发送消息。
应用实例可以订阅任何主题,因此您可以在此处定位订阅该主题的所有用户。
您向device group 发送消息。
您可以将 FCM 令牌分组为最多 20 个的组,然后您可以使用一条消息来定位它们。
在这些选项中,第一个和第三个是迄今为止最常见的。
您会注意到,没有向用户发送消息的选项,因为 FCM 没有用户的概念。用户可以在多个设备上登录同一个应用程序,在这种情况下,他们将拥有多个 FCM 令牌。而且(不太常见,但仍然很常见)多个用户可以在同一设备上登录同一个应用。
您需要在某处(有时称为令牌注册表)设置一个数据库,在其中将 FCM 令牌映射到您希望发送消息的方式。因此,在您的情况下,为每个用户存储令牌是有意义的,而且实际上是非常惯用的。
【讨论】: