SDKsFlutter
开始之前
准备 OpenIMServer、用户登录信息和 Flutter 运行环境,再开始认证或发送消息。
在 Flutter 应用中接入 OpenIMClientSDK 前,需要先准备可访问的 OpenIMServer、用户登录信息,以及 Android 或 iOS 工程环境。这些条件同时适用于认证与管理登录会话和发送第一条消息。
准备 OpenIMServer
如果还没有可用的 OpenIMServer,先按 Docker 部署指南完成部署,并确认移动设备可以访问以下地址:
| 字段 | 说明 |
|---|---|
apiAddr | OpenIMServer 的 HTTP API 地址,用于登录、同步和资源请求。 |
wsAddr | OpenIMServer 的 WebSocket 地址,用于长连接和实时事件。 |
不要只在开发电脑上验证地址。还应从真机或模拟器检查 DNS、TLS 证书、防火墙、反向代理和 WebSocket 升级;生产应用应使用 HTTPS 与 WSS。
准备用户和 Token
userID 标识 OpenIMSDK 用户,Token 用于认证当前用户。业务后端负责创建或绑定用户,并向 Flutter 客户端提供相互匹配的 userID 和 Token。
后端接入 OpenIMServer REST API 前,可阅读准备使用 Platform API和签发会话 Token。Flutter SDK 登录需要以下数据:
class OpenIMSDKSession {
const OpenIMSDKSession({
required this.userID,
required this.token,
required this.apiAddr,
required this.wsAddr,
});
final String userID;
final String token;
final String apiAddr;
final String wsAddr;
}userID 必须与 Token 对应,否则登录会失败。
准备 Flutter 工程
Flutter SDK 支持 Android 和 iOS。接入前确认:
- Flutter 与 Dart 版本符合包的
pubspec.yaml约束。 - Android 和 iOS 工程具有网络权限,最低系统版本及构建配置符合 SDK 要求。
- 已准备 SDK 数据目录;可使用
path_provider取得应用文档目录,不要写入临时或共享目录。 - 真机能够访问
apiAddr、wsAddr以及消息媒体资源域名。 - 应用能够处理前后台切换、网络恢复、Token 失效和多端登录等状态变化。
具体初始化方式见按运行环境接入。
继续接入
准备完成后,先完成认证与管理登录会话。确认 OnConnectListener.onConnectSuccess 已到达,再按照发送第一条消息验证消息链路。
这个页面有帮助吗?