分两步解决直播系统开发中IM聊天部分的工作

发布来源:云豹科技
发布人:云豹科技
2021-10-18 10:06:36

在云豹直播系统开发中,聊天功能由两部分组成,一部分是云豹自己写的代码,负责直播间的公屏聊天,另一部分使用三方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

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
立即查看