XuqmGroup-AndroidSDK/sdk-im/README.md

1.5 KiB

sdk-im

XuqmGroup Android SDK IM 模块。提供 WebSocket 实时通信、消息收发、群组管理。

依赖

implementation("com.xuqm:sdk-im:VERSION")
implementation("com.xuqm:sdk-core:VERSION")  // 必须

使用

无需手动初始化或单独登录。 宿主调用 XuqmSDK.setUserInfo(XuqmUserInfo(userId, userSig)) 后自动完成 IM 登录;传入 null 时统一登出。

// ImClient 直接使用
val imClient = ImClient()
imClient.listener = object : ImEventListener {
    override fun onConnected() { }
    override fun onMessage(msg: ImMessage) { }
    override fun onRevoke(msgId: String, operatorId: String) { }
}

imClient.connect()
imClient.send(SendMessageParams(
    toId = "user_002",
    chatType = ChatType.SINGLE,
    msgType = MsgType.TEXT,
    content = "Hello!"
))

API

ImClient

API 说明
imClient.connect() 连接 WebSocket
imClient.disconnect() 断开连接
imClient.send(params) 发送消息
imClient.revoke(msgId) 撤回消息
imClient.listener 事件监听器

消息类型

TEXT / IMAGE / VIDEO / AUDIO / FILE / CUSTOM / LOCATION / NOTIFY / RICH_TEXT / CALL_AUDIO / CALL_VIDEO / FORWARD / QUOTE / MERGE

自动重连

断线后指数退避重连,初始间隔 3 秒,最大间隔 30 秒。调用 disconnect() 后停止。

群聊

支持 @userId 提及,写入 mentionedUserIds。群组管理 API 包含:创建、解散、禁言、设置管理员、转让群主。