2017-04-11 3 views
0

Wir entwickeln eine iOS-Anwendung, die über JSQMessagesViewController und Firebase chattet. Wenn eine Nachricht von einem Benutzer gesendet wird, erhält der andere Benutzer eine Benachrichtigung für die Nachricht. Wir wünschen uns jedoch eine Funktionalität, bei der der andere Benutzer im Chat ist, sollte er die Benachrichtigung nicht erhalten, da er bereits alle Chat-Nachrichten sehen kann.Swift - Wie überprüft man, ob zwei Benutzer in JSQMessagesViewController vorhanden sind?

Was ist die beste Logik/Weise, um diese gewünschte Funktionalität zu implementieren?

Xcode 8.1, Swift 3, Firebase, JSQMessagesViewController

Antwort

2

Nach mir gibt es zwei Dinge, die Sie tun können:

1) Sie können Beobachter verwenden, wie Schreibarbeiten, für die Zuordnung von zwei Benutzern, wenn sie im privaten Chat. Machen Sie einfach einen Statusschlüssel auf Firebase und setzen Sie ihn auf "True", wenn sich zwei Benutzer auf der Chat-Seite befinden. In diesem Fall senden Sie Push einfach nicht, da Sie ihn wahrscheinlich vom Client senden.

2) Oder Sie können Benachrichtigungen ignorieren, wenn die Anwendung aktiv ist, wenn Sie sehen, dass Payload den gleichen Benutzer hat, mit dem Sie chatten.

0

Sie würden wahrscheinlich ein Präsenzmanagement-System hinzufügen müssen. Ich habe etwas ähnliches auf meiner App während der Verwendung Firebase und JSQMessagesViewController, könnten Sie wahrscheinlich das System nach Ihren Wünschen anpassen.

Je nachdem, was Sie für eingehende und ausgehende Nachrichten mit der JSQMessagesViewController-Bibliothek datenbankweise verwenden, können Sie sie wahrscheinlich auch dort einrichten.

Firebase hat für mich gearbeitet am besten für das, was Sie zu tun suchen: https://firebase.google.com/docs/database/ios/offline-capabilities

Verwandte Themen