2016-05-27 11 views
1

Ich versuche, eine Facebook-Benachrichtigungsstil Benachrichtigungsoption für eine Anwendung zu implementieren. Ich verwende Server Sent-Optionen, um die Benachrichtigungen aus der Datenbanktabelle abzurufen, die die Anzahl der Zeilen aus der Notifications-Tabelle zählt und diese jedes Mal anzeigt. Bei korrekten Sitzungen aktualisiere ich den Benachrichtigungszähler jedes Mal, wenn der Benutzer das Benachrichtigungsfeld öffnet. Aber die Sache ist, dass, wenn ich mich für den Benutzer abmelde und mich anmelde, die Benachrichtigungsnummer mit der Anzahl der Zeilen in der Tabelle übereinstimmt.Server Side Event Push-Benachrichtigung

ZB hatte ich 20 ungelesene Benachrichtigungen von der Tabelle. Wenn ich es öffne, wird es zu 0 anstehenden Benachrichtigungen. Aber nachdem ich mich abgemeldet und eingeloggt habe, wird es wieder 20.

Ich dachte an den letzten Benachrichtigungswert in der Datenbank zu speichern, um es zu lösen und diesen Wert aufzurufen, wenn sich der Benutzer anmeldet, aber ich dort irgendeine andere effiziente Methode ????

Antwort

1

Sie könnten Benachrichtigungen einen zusätzlichen "readed/new" -Wert hinzufügen, sodass Sie aus der Tabelle filtern können. Dies wäre ressourcenintensiv und wahrscheinlich nicht der effizienteste Weg, dies zu tun.

Ich würde von der "letzten Anmeldung" filtern, wenn Sie es in der Benutzertabelle haben (Benachrichtigungen sollten bereits den Zeitstempel irgendwo gespeichert haben), so dass Sie wissen, dass Benachrichtigungen von der letzten Anmeldezeit bis zur aktuellen Zeit nicht gelesen werden.