2016-04-11 7 views
1

Ich bin neu in XMPP und arbeite an einer Gruppen-Chat-Anwendung ähnlich wie watsapp. Das Szenario lautet:So senden Sie Benachrichtigungen an ein Offline-Mitglied, das aus einer Chat-Gruppe gelöscht wurde?

"Benutzer A erstellt einen Gruppenchat, der Benutzer B, C und D hinzufügt. Alle Mitglieder sind online und sie chatten. Jetzt D nimmt die App Hintergrund oder tötet die App. Jetzt A entfernt D aus der Gruppe: Wie Benutzer D benachrichtigt wird, dass A ihn aus der Gruppe entfernt hat, wenn D zurück zur App kommt?

Ich benutze ejabberd (15.11) mit PostgreSQL und befolge die XMPP-Architektur Ich bin mir nicht sicher wenn die Antwort da draußen ist, so möchte hier, um helfen

+0

Die Beschreibung Ihrer Frage scheint Titel nicht zu entsprechen. Der Titel handelt von Präsenz, die Frage betrifft die Benachrichtigung über die Änderung von Rechten in einem Gruppenchat. Können Sie bitte Ihre Frage klären? –

+0

Es tut mir leid für die Verwirrung. Der Titel ist irreführend. Die Beschreibung für die Frage ist das Szenario, in dem ich feststecke. –

+0

Vielleicht solltest du deinen Beitrag aktualisieren, um deinen Titel zu ändern, dann :) Kannst du auch klarstellen, was du mit A meinst, D aus der Gruppe entfernt? Welches XMPP-Paket senden Sie, wenn es sich um ein Mitglied handelt? Meinst du A entfernt D von der Mitgliederliste? –

Antwort

2

XMPP MUC Spezifikationen sagen in Abschnitt 9.5: Modifying the Member List.

Wenn ein ausgebautes Mitglied ist zur Zeit in einem nur für Mitglieder Zimmer, der Service sollte die Insassen treten durch das entfernte Mitglied der Rolle „none“ ändern und angemessene Präsenz auf den entfernten Benutzer schicken, wie zuvor beschrieben. Der Dienst MUSS anschließend den Zugang zu dem Benutzer verweigern.

Dies bedeutet, dass der Teilnehmer nur dann seine eigene Statusänderung erhält, wenn es im Ereignisfall vorhanden ist. Wenn er zu diesem Zeitpunkt nicht online ist, kann er nur wissen, dass seine Zugangsdaten entfernt wurden, da er nicht mehr in den Raum eintreten kann. Mit anderen Worten, im aktuellen Status der Spezifikationen gibt es keine Möglichkeit, diese Entfernungsbenachrichtigung zu erhalten, wenn sich der Benutzer nicht im Raum befand, als die Entfernung stattfand. Sie können nur folgern, dass er entfernt wurde, weil er beim nächsten Login nicht mehr in den Raum eintreten kann.

Im XEP-0045 Multi-User Chat ist nichts anderes definiert, um Mitgliedschaftsereignisse für Offline-Teilnehmer und spätere Lieferungen zu speichern.

+0

Ich glaube, ich war vorher nicht klar ... lass mich das nochmal erklären. D hat die App eine Zeit lang nicht benutzt, die App ist im Hintergrund und er wird von XMPP getrennt. Jetzt entfernt ihn A von der Mitgliederliste. Wie werde ich D darüber informieren, dass er aus der Gruppe entfernt wird? –

+1

Sie waren klar und ich antwortete darauf. Im aktuellen Zustand der Spezifikationen gibt es keine Möglichkeit, wenn der Benutzer nicht im Raum war, um diese Entfernungsbenachrichtigung zu erhalten. Sie können dies nur ableiten, weil er nicht wieder in den Raum eintreten kann. Wenn Sie eine spezifische Benachrichtigung benötigen, müssen Sie das Protokoll und den Server anpassen. –

+0

Ok, vielen Dank :) –

Verwandte Themen