如何在React Native XMPP中收听群聊消息

时间:2018-08-13 13:26:41

标签: react-native xmpp xmppframework

我正在使用React Native中的aksonov/react-native-xmpp库来构建聊天应用程序。该库可用于一对一聊天,但缺少群聊功能。因此,我决定自己添加群聊功能。 在此comment的帮助下,我设法添加了加入和发送消息的功能。代码遵循

 export function joinGroup(roomJID){

  secureStorage.retriveXmppCredentials().subscribe(val => {
    var builder = require('xmlbuilder');
    var xml = builder.begin()
                    .ele('presence',{'to':`${_groupForName(roomJID)}/${_userForName(val.username)}`})
                    .ele('x', {'xmlns':'http://jabber.org/protocol/muc'})
                    .end({ pretty: true});
                    console.log("xmppstanza", xml.toString());
    XMPP.sendStanza(xml.toString());
  });
}
  export function sendGroupMessage(roomJID,message){
    var builder = require('xmlbuilder');
    var xml = builder.begin()
                    .ele('message',{'to':`${_groupForName(roomJID)}`, type:'groupchat'})
                    .ele('body', {}, message)
                    .end({ pretty: true});
    XMPP.sendStanza(xml.toString());
  }

这些代码工作正常。我可以将消息发送到组,但不能听其他用户的消息。库的默认onMessage Listener不适用于群聊。如何收听群聊消息?请帮助我。

注意:此回购中有一个激活的PR请求,说它包含群聊功能。但我不知道如何将此分支添加到我的项目中。任何人都知道如何直接在我的项目中使用该分支,然后请告诉我。

0 个答案:

没有答案