SDKsFlutter
发送第一条消息
验证 Flutter 应用中单聊或群聊的首条文本消息发送链路。
本页说明如何在 Flutter 应用中安装并初始化 OpenIM Flutter SDK,登录后发送第一条文本消息。开始前,请先完成开始之前列出的准备工作。
单聊消息使用目标用户 userID;群聊消息使用目标群组 groupID。两个目标不能同时填写。
第 1 步:安装 SDK
flutter pub add flutter_openim_sdk该命令会从 pub.dev 选择当前项目可用的最新兼容版本,并更新 pubspec.yaml 与依赖锁定文件。团队项目应提交锁定文件,并在升级后重新验证初始化、登录和消息收发流程。
第 2 步:初始化 SDK
按照按运行环境接入取得应用数据目录并执行初始化。初始化时传入 OnConnectListener,后续以连接成功回调确认网络连接可用。
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
final initialized = await OpenIM.iMManager.initSDK(
platformID: platformID,
apiAddr: session.apiAddr,
wsAddr: session.wsAddr,
dataDir: dataDir,
listener: connectListener,
);第 3 步:登录
await OpenIM.iMManager.login(
userID: session.userID,
token: session.token,
);登录请求成功与长连接成功建立是两个独立阶段。收到 OnConnectListener.onConnectSuccess 连接成功回调后,方可发送消息。
第 4 步:准备目标
单聊需要一个已存在的接收方用户:
const targetUserID = 'user_b';群聊需要一个当前用户有权发言的群组:
const targetGroupID = 'group_123';第 5 步:创建并发送文本消息
先调用文本消息创建方法构建本地 Message,再调用发送消息接口发送。单纯创建消息不会向网络发信,也不会触发接收端事件。
final message = await OpenIM.iMManager.messageManager.createTextMessage(
text: '你好,OpenIM',
);
final sentMessage = await OpenIM.iMManager.messageManager.sendMessage(
message: message,
userID: targetUserID,
offlinePushInfo: OfflinePushInfo(
title: '新消息',
desc: '你收到了一条消息',
),
);
appendOutgoingMessage(sentMessage);发送群聊时改传 groupID,不传 userID:
final sentMessage = await OpenIM.iMManager.messageManager.sendMessage(
message: message,
groupID: targetGroupID,
offlinePushInfo: OfflinePushInfo(
title: '群组新消息',
desc: '群组中有一条新消息',
),
);发送消息的 Future 完成后,当前客户端可根据返回的 Message 及其 clientMsgID 合并到本地界面中。接收端则通过消息监听器接收新消息(完整代码见接收消息)。发送成功与对端收到消息属于两个独立的异步阶段,测试时建议分别验证。
下一步
这个页面有帮助吗?