Skip to content
v1
文档/SDKs/IMSDK 接入指南

IMSDK 接入指南

使用 BeeWorks IMSDK 为 Web、Android、iOS 与 HarmonyOS 应用接入即时通讯能力。本指南覆盖从创建应用、签发 JWT 到发送第一条消息的完整流程。

开始之前

请准备可用的 App ID、服务端地址,以及能够安全签发 JWT 的业务服务端。App 密钥只应保存在服务端,切勿写入客户端代码。

创建应用并准备凭据

在管理后台创建一个 IMSDK 应用,记录 App ID、服务地址,以及应用密钥中的 AccessKeyAccessSecret。客户端使用 App ID 标识应用,业务服务端使用应用密钥签发用户登录令牌。

建议为开发、测试和生产环境分别创建应用,避免测试数据与生产会话混用。

配置项使用位置说明
App ID客户端标识当前 IMSDK 应用
Base URL客户端REST 与资源服务地址
IM Endpoint客户端长连接服务地址
AccessKey业务服务端应用密钥标识,写入 JWT Header 的 kid
AccessSecret业务服务端使用 HS256 签名 JWT 的密钥,不得下发到客户端

安装并初始化 SDK

选择目标平台并安装对应依赖。下面以 Browser JS SDK 为例:

bash
npm install @beeworks/imsdk

在应用启动阶段创建客户端,并配置应用信息与连接地址:

ts
import { IMClient } from '@beeworks/imsdk'

const client = IMClient.init({
  appId: 'YOUR_APP_ID',
  baseUrl: 'https://api.example.com',
  endpoint: 'im.example.com:8029'
})

移动端应用应在应用生命周期入口完成初始化,并确保同一进程只初始化一次。

签发用户 JWT

JWT 必须由业务服务端签发。客户端先向自己的业务服务端请求登录令牌,再把令牌交给 IMSDK 完成认证。

签发时,将应用密钥中的 AccessKey 写入 Header 的 kid,使用同一应用密钥中的 AccessSecret 进行 HS256 签名,并将接入方系统的用户 ID 写入 Payload 的 sub

完整字段说明及可运行的 Java 示例见 JWT 令牌生成规范

AccessSecret 属于高敏感凭据,仅保存在业务服务端。JWT 使用签名而非加密,Payload 可被解码读取,不应放入密码或密钥。

登录并建立连接

获取 JWT 后调用登录接口。SDK 会完成鉴权、用户数据加载、长连接建立与心跳维护。

ts
const { token } = await fetch('/api/im/token').then(res => res.json())

await client.login({
  userId: 'user_10001',
  token
})

client.on('connectionChanged', status => {
  console.log('IM connection:', status)
})

登录成功后即可安全调用会话、消息、好友和群组能力。网络切换时 SDK 会自动尝试恢复连接。

创建会话并发送消息

获取或创建会话,然后构造文本消息并发送。发送结果会通过 Promise 与事件监听器同步到界面。

ts
const conversation = await client.conversations.createDirect({
  targetUserId: 'user_10002'
})

const message = await conversation.sendText({
  text: 'Hello from BeeWorks IMSDK'
})

console.log('message sent:', message.id)

监听新消息事件,为当前会话更新消息列表,并为其他会话累计未读数:

ts
client.on('messageReceived', message => {
  messageStore.append(message.conversationId, message)
  unreadStore.refresh(message.conversationId)
})

验证接入结果

完成以下检查,确认基础链路已经跑通:

  • 两个测试用户都能正常登录,连接状态为 connected
  • 用户 A 能创建与用户 B 的会话并发送文本消息。
  • 用户 B 能实时收到消息,重启应用后仍能拉取历史记录。
  • 断网再恢复后 SDK 能自动重连,消息状态能够正确更新。

接入完成后,可继续配置图片与文件消息、群聊、好友关系、离线推送和消息回执等能力。

接入客户端SDKs