ex_im_flutter_chat
ExIm Flutter Chat SDK - 企业级即时通讯 Flutter 插件。
功能特性
- 用户认证与会话管理
- 好友关系管理
- 群组管理
- 消息收发(文本、图片、视频、语音)
- 会话列表管理
- 实时消息推送(WebSocket)
- 端到端加密支持
安装
在 pubspec.yaml 中添加依赖:
dependencies:
ex_im_flutter_chat: ^0.0.4
快速开始
1. 初始化 SDK
import 'package:ex_im_flutter_chat/ex_im_flutter_chat.dart';
// 初始化 SDK
ExImChat.instance.init(tenantId: 'your_tenant_id');
2. 登录
// 使用邮箱登录
await ExImChat.instance.loginWithEmail(
email: 'user@example.com',
password: 'password',
);
// 连接 WebSocket
await ExImChat.instance.connect();
3. 监听状态
// 监听 SDK 状态变化
ExImChat.instance.stateStream.listen((state) {
print('SDK 状态: $state');
});
// 监听用户信息变化
ExImChat.instance.userService.userInfoStream.listen((userInfo) {
print('用户: ${userInfo.nickname}');
});
// 监听新消息
ExImChat.instance.messageService.newMessageStream.listen((message) {
print('新消息: ${message.content}');
});
4. 发送消息
// 发送文本消息
await MessageApi.send(MessageSendDto(
conversationType: ConversationTypeEnum.c2c,
targetId: 'user_id',
type: MessageBasicTypeEnum.text,
textData: TextData(text: 'Hello!'),
));
5. 获取会话列表
final conversations = await ConversationApi.list(CommonPageDto(page: 1, pageSize: 20));
6. 登出
await ExImChat.instance.logout();
API 文档
ExImChat
| 方法 | 说明 |
|---|---|
init(tenantId) |
初始化 SDK |
loginWithEmail(email, password) |
邮箱登录 |
connect() |
连接 WebSocket |
logout() |
登出 |
dispose() |
释放资源 |
服务
UserService- 用户信息管理MessageService- 消息管理ConversationService- 会话管理
API
UserApi- 用户相关 APIFriendApi- 好友相关 APIGroupApi- 群组相关 APIMessageApi- 消息相关 APIConversationApi- 会话相关 APIFileApi- 文件上传 API
平台支持
| 平台 | 支持 |
|---|---|
| Android | ✅ |
| iOS | ✅ |
注意事项
- 使用前必须调用
init()初始化 SDK - 登录后需要调用
connect()建立 WebSocket 连接 - 退出应用前请调用
logout()或dispose()释放资源
License
MIT License