2016-12-20 5 views
1

Ich entwickle eine mobile Messaging App (iOS) und unterstütze die Abmeldefunktion. Ich möchte die neueste Konversationsliste behalten, wenn sich die Benutzer erneut anmelden. Denn der lokale Speicher der App wird nach dem Abmelden gereinigt.MAM XEP-0313 - Konversationsliste für einen bestimmten Benutzer abfragen

Ich benutze MAM XEP-0313 erfolgreich, aber ich habe keinen IQ gefunden, um die Konversationsliste eines bestimmten Benutzers abzufragen.

For example: 
     chat 
user_a -> user_b 
      user_c 
      user_d 
      user_f 

user_a hat mit 4 Benutzern Gespräche hatte und er will der App abzumelden, wenn er zurückkommt in er die letzten 4 Konversations-Threads auf seiner Liste bekommen muss.

Was ich tun, wenn ein Benutzer einen anderen Benutzer meldet, dass ich sie zu meinem Dienstplan hinzufüge und die Logik des automatischen Abonnements habe. Also dachte ich die Roster Geschichte Logik zu verwenden, um diese Sammlung abfragen, aber ich erwarte auch die MAM-Modul einen direkteren Weg zu haben ..

Ich bin mit MongooseIM Server

Antwort

0

I Verstehen Sie Ihr Problem, die Lösung, die Sie haben, ist wahrscheinlich die beste, die Sie mit Standard-XEPs und deren Implementierungen haben können.

Die Konversationsliste ist tatsächlich fehlt in MAM-Spezifikation oder allgemein in XMPP. Es gibt einige Arbeiten, um eine Erweiterung zu definieren, mit der Sie alle Konversationen mit ungelesenen Nachrichten erhalten können (sog. "Ungelesene Synchronisierung"). Reicht das für dich aus oder möchtest du lieber einen "Posteingang" haben? Unter "Posteingang" verstehe ich eine Liste aller letzten Gespräche mit ungelesenen Nachrichten, bei denen einige ungelesene Nachrichten vorhanden sind.

+0

Genau, ich brauche einen Posteingang. Ich dachte daran, die Dienstplanversion http://xmpp.org/extensions/xep-0237.html zu verwenden. Und nach meiner Logik sollten die letzten Dienstposten diejenigen sein, mit denen der Benutzer gesprochen hat. Wenn Sie diese Liste kennen, starten Sie die Archivierungsanforderung für jeden Dienstplanposten (jid) entsprechend, aber ich glaube nicht, dass am Ende alles zuverlässig oder konsistent sein kann. Irgendwelche anderen Gedanken? – user1000622

+0

Ich habe eine Anwendung in iOS erstellt und verbunden und holte Benutzer von Xmpp und in der Lage, auch Offline-Nachrichten zu bekommen.Nun muss ich Gespräche eines bestimmten Benutzers mit XEP-0313, Wie Sie XEP-0313 implementieren holen. –

+0

@michalwski, irgendwelche Fortschritte für diese Funktion auf MAM? – user1000622

Verwandte Themen