JSPM

@rongcloud/imlib-next

5.20.2-enterprise-alpha.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3220
  • Score
    100M100P100Q127079F
  • License LGPL 2.1

Package Exports

  • @rongcloud/imlib-next

Readme

@rongcloud/imlib-next 融云官方即时通讯 JavaScript SDK

赋能开发者在自己的 APP 上快速拥有专业的、丰富、高质量的互联网通信能力,SDK 支持单聊、群聊、聊天室、超级群、系统通知等通信能力,安全可靠、全球互通。

👉🏻 API Docs

快速集成

浏览器兼容性

Chrome Firefox Safari IE Edge QQ 浏览器 微信 浏览器 Android
✔️ ✔️ ✔️ 10+ ✔️ ✔️ ✔️ 4.4+

安装依赖

  npm install @rongcloud/engine@latest @rongcloud/imlib-next@latest -S

初始化

在使用 IMLib 的能力之前,必须先调用 IMLib 的初始化接口,且务必保证该接口在应用全生命周期内仅被调用一次

只有在 App Key 相同的情况下,不同用户之间的消息才能互通。

// 导入 SDK
import * as RongIMLib from '@rongcloud/imlib-next'
// 应用初始化以获取 RongIMLib 实例对象,请务必保证此过程只被执行一次
RongIMLib.init({ appkey: '<Your-App-Key>' });

设置监听

初始化完成后,添加事件监听器,及时获取相关事件通知。

// 添加事件监听
const Events = RongIMLib.Events

RongIMLib.addEventListener(Events.CONNECTING, () => {
    console.log('正在链接服务器')
})

RongIMLib.addEventListener(Events.CONNECTED, () => {
    console.log('已经链接到服务器')
})

RongIMLib.addEventListener(Events.MESSAGES, (evt) => {
    console.log('收到消息', evt.messages)
})

建立 IM 连接

// 测试链接 Your-Token 可以通过开发者后台获取临时 Token
RongIMLib.connect('<Your-Token>').then(res => {
    if (res.code === RongIMLib.ErrorCode.SUCCESS) {
    console.log('链接成功,链接用户 id 为:', res.data.userId);
    } else {
    console.warn('链接失败,code:', res.code)
    }
})

发送消息

注意

该功能需要在调用 RongIMLib.connect() 并且建立连接成功之后执行。

// 指定消息发送的目标会话
const conversation = {
  targetId: '<TargetId>',
  conversationType: RongIMLib.ConversationType.PRIVATE
};

// 构建文本消息
const message = new RongIMLib.TextMessage({ content: 'message content' })

// 发送消息
RongIMLib.sendMessage(conversation, message).then(({ code, data }) => {
  if (code === 0) {
    console.log('消息发送成功:', data)
  } else {
    console.log('消息发送失败:', code)
  }
});

接收消息

当本端作为消息接收的一方,所接收的消息将通过 RongIMLib.addEventListener 和 Events.MESSAGES 注册的消息监听向业务层抛出。

断开连接

断开当前用户连接,连接断开后无法接收消息、发送消息、获取历史消息、获取会话列表... 在下次连接融云成功后,会收取上次离线后的消息,离线消息默认保存 7 天。

RongIMLib.disconnect().then(() => console.log('断开链接成功'));