flare-im-core-sdk 概览
定位
flare-im-core-sdk 是跨平台 IM 客户端 SDK(Apache-2.0):长连接、消息、会话、同步任务、本地存储与事件总线。
传输层复用 flare-core;契约对齐 flare-proto。
唯一入口:IMClient
IMClient (init / login / logout)
├─ MessageApi / ConversationApi / MediaApi
├─ SdkEngine(连接、同步编排、可靠发送)
├─ Store(SQLite / IndexedDB 等)
└─ flare-core(WebSocket / QUIC)
原则摘要:
- 会话维度 seq 单调递增,同步用
last_seq游标,禁止 offset 分页拉历史。 login前仅init;logout清空句柄,保证多端切换隔离。- 下行与本地变更走 EventBus,UI 订阅而非轮询。
绑定形态
| 路径 | 场景 |
|---|---|
Rust prelude | 原生桌面、工具链 |
bindings/c | Flutter / iOS / Android |
bindings/tauri | 桌面 WebView 壳 |
最小代码
use flare_im_core_sdk::prelude::*;
#[tokio::main]
async fn main() -> Result<()> {
let client = IMClient::new();
client.init(None, None).await?;
client
.login("user_123", Some("token"), LoginDbKind::Sqlite, |bus, _| {
bus.on_message(|ev| tracing::info!(?ev, "message"));
})
.await?;
Ok(())
}
深入文档
本站 SDK 专区分册 已覆盖连接、会话、消息类型、媒体、同步与 API 索引: