分两步解决直播系统开发中IM聊天部分的工作
在云豹直播系统开发中,聊天功能由两部分组成,一部分是云豹自己写的代码,负责直播间的公屏聊天,另一部分使用三方IM(极光/融云等)负责用户间一对一私聊场景。
本文将以直播系统开发为例,介绍融云IM的接入方式:
1.安装依赖
npm install @rongcloud/imlib-v4
2.代码集成
import * as RongIMLib from '@rongcloud/imlib-v4'
3.初始化
// 应用初始化以获取 RongIMLib 实例对象,请务必保证此过程只被执行一次,连接类型推荐使用comet const im = RongIMLib.init({ appkey: '<Your-App-Key>' ,connectType: 'comet'});
4.建立连接
im.connect({ token: '<Your-Token>' }).then(user => { console.log('链接成功, 链接用户 id 为: ', user.id); }).catch(error => { console.log('链接失败: ', error.code, error.msg); });
5.设置监听
// 添加事件监听 im.watch({ // 监听会话列表变更事件 conversation (event) { // 假定存在 getExistedConversationList 方法,以获取当前已存在的会话列表数据 const conversationList = getExistedConversationList() // 发生变更的会话列表 const updatedConversationList = event.updatedConversationList; // 通过 im.Conversation.merge 计算最新的会话列表 const latestConversationList = im.Conversation.merge({ conversationList, updatedConversationList }) }, // 监听消息通知 message (event) { // 新接收到的消息内容 const message = event.message; }, // 监听 IM 连接状态变化 status (event) { console.log('connection status:', event.status); } });
完成以上步骤,即可在直播系统开发中简单实现融云IM的集成,在直播软件开发中使用三方IM是非常节约时间、实现优质即时通讯体验的方式,但仅限于私聊,由于直播间公屏聊天设计到的功能较为复杂,且涉及人数较多,更建议使用socket进行自建。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com