跳至正文

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,并检查登录是否成功
登录失败检查 userIdtoken、租户和服务端地址
发消息失败检查会话 ID、消息体和当前连接状态
页面销毁后仍收到回调在页面销毁时调用 unsubscribe()

下一步:阅读 Client SDK 使用指南 或使用 API 浏览器 查询方法参数。