美文网首页
环信webIM接入相关问题总结

环信webIM接入相关问题总结

作者: AlisaMfz | 来源:发表于2017-06-14 16:51 被阅读3848次

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

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

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

    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接入相关问题总结

          本文链接:https://www.haomeiwen.com/subject/hzxeqxtx.html