赋能开发者在自己的 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)
})
// 测试链接 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('断开链接成功'));