# Flare IM Client SDK 文档总览

本专册只说明一期 Client 接入：Web、Tauri、iOS、Flutter、Android。

目标是让业务 App 快速完成同一条使用路径：

```text
createClient -> init -> login -> subscribe events -> open conversations -> send messages -> sync -> dispose
```

服务端部署见 [服务端文档](../server/README.md)，开源边界见 [核心文档](../core/README.md)。

## 推荐阅读顺序

| 文档 | 用途 |
|------|------|
| [Client SDK 使用指南](./18-client-sdk-usage-guide.md) | 完整接入顺序和常用接口 |
| [生命周期与错误](./16-runtime-contracts.md) | 初始化顺序、事件订阅、错误和释放 |
| [Flutter 快速开始](./14-flutter-quickstart.md) | Flutter 最小接入 |
| [Web / Tauri 快速开始](./15-web-quickstart.md) | TypeScript / Tauri 最小接入 |
| [API 浏览器](./11-client-platform-api.md) | 按一期平台查看方法、参数和示例 |
| [Client API 全表](./17-client-api-reference.md) | 按模块查 `client.*` 方法 |
| [Client 模型索引](./19-client-models.md) | 查请求、返回、实体和枚举 |

## 一期平台

| 平台 | SDK | 入口 |
|------|-----|------|
| Web / TypeScript | `@flare-im/sdk/web` | `FlareCoreSdk.createClient()` |
| Tauri | `@flare-im/sdk/tauri` | `FlareCoreSdk.createClient()` |
| iOS / Swift | `flare-core-apple-sdk` | `FlareCoreSdk.createClient()` |
| Flutter / Dart | `flare_core_flutter_sdk` | `FlareCoreSdk.createClient()` |
| Android / Kotlin | `flare-core-android-sdk` | `FlareCoreSdk.createClient()` |

## 核心接口

| 模块 | 入口 | 用途 |
|------|------|------|
| Session | `client.init` / `client.login` / `client.logout` / `client.dispose` | 生命周期 |
| Events | `client.events` | 消息、连接、同步、token 事件 |
| Conversations | `client.conversations` | 会话列表、时间线、已读、草稿 |
| Message Builder | `client.messageBuilder` | 构建文本、图片、文件、富文本消息 |
| Messages | `client.messages` | 发送、查询、撤回、编辑、删除、反应 |
| Sync | `client.sync` | 主动同步会话和消息 |
| Presence | `client.presence` | 查询和订阅在线态 |
| Media | `client.media` | 上传、访问地址和缓存 |
| Diagnostics | `client.diagnostics` | SDK 版本和基础诊断 |

## 最小接入检查

- 已拿到服务端 `wsUrl`、`httpUrl`、`tenantId`。
- `token` 由业务服务端签发或换取。
- 事件订阅在 `init` 前注册，并在页面销毁时取消。
- 会话和消息接口只在 `login` 成功后调用。
- 退出或切换账号时调用 `logout()` 和 `dispose()`。
