Agent 7 + Agent 8: - CLAUDE.md 项目上下文 - 各 module README (core/im/push/update/webview/log) - XWebViewStandardHandlers.kt 补全标准 JSBridge handler
57 行
1.5 KiB
Markdown
57 行
1.5 KiB
Markdown
# sdk-im
|
|
|
|
XuqmGroup Android SDK IM 模块。提供 WebSocket 实时通信、消息收发、群组管理。
|
|
|
|
## 依赖
|
|
|
|
```kotlin
|
|
implementation("com.xuqm:sdk-im:VERSION")
|
|
implementation("com.xuqm:sdk-core:VERSION") // 必须
|
|
```
|
|
|
|
## 使用
|
|
|
|
**无需手动初始化。** `XuqmSDK.login(userId, userSig)` 成功后自动完成 IM 登录。
|
|
|
|
```kotlin
|
|
// 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 包含:创建、解散、禁言、设置管理员、转让群主。
|