三条集成路径
路径 A — 仅传输层(flare-core)
适合:自有消息模型与存储,只需稳定长连接。
| 步骤 | 动作 |
|---|---|
| 1 | 引入 flare-core,实现 ServerEventHandler |
| 2 | 定义 Payload / Frame 与客户端契约 |
| 3 | 自建鉴权、房间、路由 |
文档:flare-core 快速开始 · docs.rs
路径 B — 完整 IM 客户端(flare-im-core-sdk)
适合:后端已是 Flare IM(或兼容 flare-proto 的网关),重点做 App / 桌面。
| 步骤 | 动作 |
|---|---|
| 1 | SdkConfig 配置 endpoint / http_endpoint / tenant_id |
| 2 | init → login,注册 EventBus |
| 3 | sync_messages(conv_id, last_seq, limit) 增量同步 |
| 4 | 可选:C FFI / Tauri 绑定 |
路径 C — 自建 IM 后端(flare-im-core + SDK)
适合:私有化完整 IM,按需挂 Hook / Social。
| 步骤 | 动作 |
|---|---|
| 1 | Compose 起基础设施 |
| 2 | 启动 flare-im-core 微服务 |
| 3 | SDK 或 Tauri 示例对接默认端口 |
| 4 | 业务扩展 → Hook / Extension(见 flare-im-core flare-capability 与 config/hooks.example.toml) |
文档:Core 快速开始 · /docs/server
对照表
| 需求 | 选型 | 许可 |
|---|---|---|
| 自定义协议长连接 | flare-core | Apache-2.0 |
| 标准 IM 客户端 | flare-im-core-sdk | Apache-2.0 |
| 标准 IM 服务端 | flare-im-core | Apache-2.0 |
| 自定义业务域 | HookPlugin / ExtensionPlugin | 与 Core 编译隔离 |
常见问题
Q:能否只用 SDK 不部署 flare-im-core?
A:可以,若你提供兼容的 signaling 与 gRPC 端点(需自行保证 seq / 同步语义一致)。
Q:如何扩展风控、审计?
A:实现 HookPlugin,在 pre_send 等生命周期接入;不修改 flare-im-core 源码。