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

Get MUC Room list which a user already participated

我使用 IOS XMPPFramework 作为我们的客户端基础设施,我们使用 ejabberd 作为我们的 XMPP 服务器。 然而,当用户删除他们的应用程序时,无法检索已经注册的房间。 在 XMPP(类似于 whatsapp)中可能有类似的东西吗?

谢谢

  1. 将房间配置为永久、仅限会员。
  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)
    

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

定义书签的 XMPP 扩展是 XEP-0048