Swift - 如何检查 JSQMessagesViewController 中是否存在两个用户?

Swift - How to check if two users are present in JSQMessagesViewController?

我们正在开发一个 iOS 应用程序,它通过 JSQMessagesViewController 和 Firebase 进行聊天。当一个用户发送消息时,另一个用户将收到该消息的通知。然而,我们需要一个功能,如果其他用户在聊天,他不应该收到通知,因为他已经可以看到所有的聊天消息。

实现此所需功能的最佳逻辑/方法是什么?

Xcode8.1,Swift3,Firebase,JSQMessagesViewController

根据我的说法,您可以做两件事:

1)您可以使用观察者(例如输入)在私人聊天中映射两个用户。如果两个用户在聊天页面上,只需在 firebase 上创建一个状态键并将其设置为 true 即可。在这种情况下,不要发送推送,因为您可能是从客户端发送的。

2)或者当应用程序处于活动状态时,当您看到有效负载与您聊天的用户相同时,您可以忽略通知。

您可能需要添加一个状态管理系统。我在使用 FirebaseJSQMessagesViewController 时在我的应用程序上做了类似的事情,您可以根据自己的喜好自定义系统。

根据您使用 JSQMessagesViewController 库处理传入和传出消息的数据库方式,您也可以在那里进行设置。

对于你想要做的事情,Firebase 最适合我: https://firebase.google.com/docs/database/ios/offline-capabilities