Flutter 快速开始
本文面向 Flutter App 接入方,展示从创建客户端到登录、监听事件、发送消息的最小流程。
1. 引入 SDK
在 Flutter 工程中加入 flare_core_flutter_sdk,并按 SDK 发布说明完成平台依赖配置。
import 'package:flare_core_flutter_sdk/flare_core_flutter_sdk.dart';
2. 创建并初始化客户端
一个登录用户通常只需要一个 FlareImClient 实例。
final client = FlareCoreSdk.createClient();
await client.init({
'wsUrl': 'wss://im.example.com/ws',
'httpUrl': 'https://im.example.com',
'tenantId': 'default',
'resourceProfile': 'mobile',
});
3. 登录
token 由你的业务服务端签发或换取。Client SDK 只负责使用 token 建立 IM 会话。
await client.login({
'userId': 'u_10001',
'token': coreToken,
});
4. 监听事件
建议在初始化前注册 UI 需要的监听,并在页面或会话结束时取消订阅。
final messageSub = client.events.onMessageReceived((event) {
// 将 event.message 追加到会话时间线
});
final connectionSub = client.events.onConnectReady((event) {
// 更新连接状态
});
5. 发送文本消息
先用 messageBuilder 构建消息,再通过 messages 模块发送。
final message = await client.messageBuilder.buildText(
const BuildTextMessageRequest(
conversationId: 'c_10001',
text: 'hello from flutter',
),
);
final result = await client.messages.sendMessage(
SendMessageRequest(message: message),
);
6. 退出与释放
messageSub.unsubscribe();
connectionSub.unsubscribe();
await client.logout({});
await client.dispose({});
常见问题
| 现象 | 建议 |
|---|---|
| 初始化后没有事件 | 确认已注册 listener,并检查登录是否成功 |
| 登录失败 | 检查 userId、token、租户和服务端地址 |
| 发消息失败 | 检查会话 ID、消息体和当前连接状态 |
| 页面销毁后仍收到回调 | 在页面销毁时调用 unsubscribe() |
下一步:阅读 Client SDK 使用指南 或使用 API 浏览器 查询方法参数。