跳至正文

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)

原则摘要:

  1. 会话维度 seq 单调递增,同步用 last_seq 游标,禁止 offset 分页拉历史。
  2. login 前仅 initlogout 清空句柄,保证多端切换隔离。
  3. 下行与本地变更走 EventBus,UI 订阅而非轮询。

绑定形态

路径场景
Rust prelude原生桌面、工具链
bindings/cFlutter / 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 索引:

下一步

07 — 三条集成路径