我正在使用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请求,说它包含群聊功能。但我不知道如何将此分支添加到我的项目中。任何人都知道如何直接在我的项目中使用该分支,然后请告诉我。