如何将 FCM 消息发送给不同的用户
How to send FCM messages to a different user
我可以通过获取其 fcm 令牌向单个用户发送通知。
考虑像 Instagram 这样的简单案例:
用户 (X) 向其他用户 (Y) 发送好友请求
现在我想给用户Y发送通知,我该怎么做?
我能想到的唯一办法就是将fcm token存入用户数据库中,并以此为基础发送,有没有更好的方法?
Firebase Cloud Messaging 有三种定位消息的方法:
您向FCM token/device ID发送消息。
FCM 令牌标识特定设备上的特定应用,因此您的目标是单个应用实例。
您向topic发送消息。
应用程序实例可以订阅任何主题,因此您的目标是此处订阅该主题的所有人。
您向device group发送消息。
您可以将 FCM 令牌分成最多 20 个组,然后您可以使用一条消息定位这些令牌。
在这些选项中,第一个和第三个是最常见的。
您会注意到,没有向用户发送消息的选项,因为 FCM 没有用户的概念。用户可以在多个设备上登录同一个应用程序,在这种情况下,他们将拥有多个 FCM 令牌。并且(不太常见,但仍然很常见)多个用户可以在同一台设备上登录同一应用程序。
您需要在某个地方(有时称为令牌注册表)设置一个数据库,您可以在其中将 FCM 令牌映射到您想要发送消息的方式。因此,在您的情况下,为每个用户存储令牌是有意义的,而且实际上非常地道。
我可以通过获取其 fcm 令牌向单个用户发送通知。
考虑像 Instagram 这样的简单案例: 用户 (X) 向其他用户 (Y) 发送好友请求
现在我想给用户Y发送通知,我该怎么做?
我能想到的唯一办法就是将fcm token存入用户数据库中,并以此为基础发送,有没有更好的方法?
Firebase Cloud Messaging 有三种定位消息的方法:
您向FCM token/device ID发送消息。
FCM 令牌标识特定设备上的特定应用,因此您的目标是单个应用实例。
您向topic发送消息。
应用程序实例可以订阅任何主题,因此您的目标是此处订阅该主题的所有人。
您向device group发送消息。
您可以将 FCM 令牌分成最多 20 个组,然后您可以使用一条消息定位这些令牌。
在这些选项中,第一个和第三个是最常见的。
您会注意到,没有向用户发送消息的选项,因为 FCM 没有用户的概念。用户可以在多个设备上登录同一个应用程序,在这种情况下,他们将拥有多个 FCM 令牌。并且(不太常见,但仍然很常见)多个用户可以在同一台设备上登录同一应用程序。
您需要在某个地方(有时称为令牌注册表)设置一个数据库,您可以在其中将 FCM 令牌映射到您想要发送消息的方式。因此,在您的情况下,为每个用户存储令牌是有意义的,而且实际上非常地道。