环信webIM接入相关问题总结

最近在做直播的问题,有这么一个需求,在H5页面观看直播的时候,能收到app端用户发的信息,这个需要我们接入环信的sdk了,因为我们这边app是用的环信sdk,需求来了,挡是挡不掉的,只能硬着头皮上了。在查看了很多文档之后,实话实说,没有看懂,相关api地址是http://docs.easemob.com/im/400webimintegration/10webimintro,有兴趣的同学可以看看。

首先我们要做好环信的相关配置:在官网下载官方demo,里面有压缩好的js官方有好几种方式得到相应的js,但是有一个webim.config.js,l里面的内容需要自己设置的,有个appkey 这个是在官网注册时生成的,还有一个isAutoLogin 这个字段也是很重要的,关系着是否要设置自动上线


环信webIM接入相关问题总结_第1张图片

把在官网下载好的js,引入相应的页面,


环信webIM接入相关问题总结_第2张图片

var conn =newWebIM.connection({

isMultiLoginSessions: WebIM.config.isMultiLoginSessions,

https:typeofWebIM.config.https==='boolean'? WebIM.config.https:location.protocol==='https:',

url: WebIM.config.xmppURL,

isAutoLogin:false,

heartBeatWait: WebIM.config.heartBeatWait,

autoReconnectNumMax: WebIM.config.autoReconnectNumMax,

autoReconnectInterval: WebIM.config.autoReconnectInterval

});

接入环信必须先把这些配置弄好,在链接环信之后要登录环信的系统,我们这边是后台自动给我注册好的,所以就不说注册哪一步了,这个登录可以实现多个用户观看同一直播时,同时在线的,

var options = {

apiUrl: WebIM.config.apiURL,

user: user,//从接口中获取的用户名

pwd: pwd,//从接口中获取的密码

appKey: WebIM.config.appkey

};

conn.open(options);

登录成功之后,要加入聊天室

varhandlePresence=function( e ) {

// console.log(e.type);根据type来判断是否加入聊天室成功

};

// listern,添加回调函数

conn.listen({

onPresence:function( message ) {

handlePresence(message);

},

onOpened:function(message) {//连接成功回调,连接成功后才可以发送消息

//如果isAutoLogin设置为false,那么必须手动设置上线,否则无法收消息

// 手动上线指的是调用conn.setPresence();

//conn.setPresence();

conn.joinChatRoom({

roomId: self.shareInfo.chatroomId// 聊天室id

});

},

onTextMessage:function(message) {

// 在此接收和处理消息,根据message.type区分消息来源,私聊或群组或聊天室

//console.log(message);

self.rollMessages(message);

},

});

此方法已经可以在pc端可以正常接收消息,但是字微信里面还不可以,具体相关问题,还在进一步的排查中,有知道的同学也可以相互交流。

你可能感兴趣的:(环信webIM接入相关问题总结)