当前位置: 首页 > 知识库问答 >
问题:

Firebase Cloud Messaging为一组用户发送通知

通和裕
2023-03-14

我参考了这篇博文。因为最好的方法是Firebase主题消息传递,所以所有成员都可以作为一个主题订阅组id。

我的问题是如何避免收到通知的成员谁的行动导致通知。

我尝试将Firebase消息发送到多个主题,但它只允许两个逻辑操作(&&,)

共有1个答案

糜鸿风
2023-03-14

Firebase Cloud消息传递有两种类型的消息:通知消息和数据消息。

Firebase的默认行为是,如果应用程序在后台或没有运行,通知消息将自动显示。无法修改此行为。如果应用程序位于前台,通知消息将不会自动显示,而是传递到应用程序的代码中。

另一方面,数据消息将始终传递到应用程序的代码中。

由于发送消息的用户通常会打开应用程序,默认行为将自动确保通知不会显示在发送消息的用户的设备上。

但在你提到的博客文章中,有一个竞争条件。如果用户在向服务器发送通知和服务器发出通知之间关闭了应用程序,通知也会显示在他们的设备上。

如果这是您的应用程序的问题,您不应该使用通知消息。改为使用数据消息,并在消息中包含足够的信息来检测是哪个用户发送了它(例如,用户的uid)。

 类似资料:
  • 如何使用Firebase向我的应用程序的所有注册用户发送推送通知?我在纪录片中搜索了api,但没有找到任何有用的东西。

  • 我有一个包含用户名数据库的服务器。我还有一个Android应用程序,用户可以在服务器数据库中注册自己的用户名,也可以在服务器的GCM部分注册设备。 我目前正在服务器代码中使用GCM演示,它将多播一个推送通知到每个注册的设备。但是,我希望它能够将推送通知发送给某些用户,而不是每个注册的GCM设备。 我的第一个想法是将数据库中的每个用户与其GCM注册表关联起来。这样行吗?我读过一些关于regID更改或

  • 我有聊天应用程序我正在使用Firebase firestore数据库,我正在保存最近的消息如下 接收者端:messages->recieverId->recent_messages 这意味着相同的消息将被写入当前用户和接收者用户文档。(同一消息将写入两个不同的文档) 消息内容如下: -接收方 现在我要观察集合,并且只向接收方用户发送通知,有什么方法可以避免向这两个用户发送推送通知吗?

  • 问题内容: 在我的Ajax代码中,我正在向go lang api发送一个关联数组,但是go lang不会接收任何数组。为什么? 为什么这个Ajax不会将数组发送到Go API?在下面的mvc结构中,我想要接收此数据: 问题答案: 您不能直接将数组从客户端发送到服务器,因为数组定义在两侧可能不相同。 有两种解决方法: 一个。您可以在clinet中将数组转换为json字符串,然后将其作为字符串参数发送

  • 我有一个Spring启动应用程序运行在heroku。我使用webSocket为特定用户向客户端和服务器发送消息。我使用Spring引导的SimpMessagingTemplate.convertAndSendToUser来发送和接收消息,当用户需要从服务器获取消息时,这种方法效果很好。我使用Heroku会话亲和力,这意味着即使我扩大了会话的数量,用户和webSocket仍然共享同一个会话。 当我需

  • 问题内容: 我想知道是否可以在POST请求中直接发送一个数组(未包装在字典中)。显然,该参数应获取以下内容的映射:[String:AnyObject]?但我希望能够发送以下示例json: 问题答案: 您可以使用JSON进行编码,然后自行构建。例如,在Swift 3中: