获取用户已参与的MUC房间列表

时间:2016-11-17 19:19:59

标签: objective-c xmpp ejabberd xmppframework

我使用IOS XMPPFramework作为我们的客户端基础架构,我们使用ejabberd作为我们的XMPP服务器。 但是,当用户删除他们的应用程序时,无法检索已经注册的房间。 在XMPP中是类似的东西(类似于whatsapp)

由于

2 个答案:

答案 0 :(得分:2)

  1. 将会议室配置为Persistent,Member-Only。
  2. 将用户添加到成员列表中。
  3. Discover room

    xmppStream = XMPPStream()        
    xmppStream!.addDelegate(self, delegateQueue: DispatchQueue.main)
    
    // MUC
    muc = XMPPMUC(dispatchQueue: DispatchQueue.main)
    muc?.activate(xmppStream)
    muc?.addDelegate(self, delegateQueue: DispatchQueue.main)
    
    muc?.discoverRooms(forServiceNamed: XmppMUCServer)
    

答案 1 :(得分:0)

实现此目的的方法是在服务器上存储书签,这将是您感兴趣的所有房间的列表。由于书签存储在服务器上,您仍然可以在重新安装应用程序时检索它们。

定义书签的XMPP扩展程序为XEP-0048