🚀使用 Demo
我们强烈建议您首先运行我们为您准备的框架相关的示例 DEMO 。这不仅可以让您直观体验 OpenIM SDK 的功能,还将帮助您在实际集成过程中迅速定位和解决问题。
集成步骤
1. 添加依赖到 yaml
flutter_openim_sdk: latest
2. 导入包
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
3. 初始化
final success = await OpenIM.iMManager.initSDK(
platform: 0, // 平台,参照IMPlatform类,
apiAddr: "", // SDK的API接口地址。
wsAddr: "", // SDK的web socket地址
dataDir: "", // 数据存储路径。如:var apath =(await getApplicationDocumentsDirectory()).path
objectStorage: 'cos', // 图片服务器默认'cos'
logLevel: 6, // 日志等级,默认值6
listener: OnConnectListener(
onConnectSuccess: () {
// 已经成功连接到服务器
},
onConnecting: () {
// 正在连接到服务器,适合在 UI 上展示“正在连接”状态。
},
onConnectFailed: (code, errorMsg) {
// 连接服务器失败,可以提示用户当前网络连接不可用
},
onUserSigExpired: () {
// 登录票据已经过期,请使用新签发的 UserSig 进行登录。
},
onKickedOffline: () {
// 当前用户被踢下线,此时可以 UI 提示用户“您已经在其他端登录了当前账号,是否重新登录?”
},
),
);
4. 设置监听器
// Set listener
OpenIM.iMManager
//
..userManager.setUserListener(OnUserListener(
))
// Add message listener (remove when not in use)
..messageManager.setAdvancedMsgListener(OnAdvancedMsgListener(
))
// Set up message sending progress listener
..messageManager.setMsgSendProgressListener(OnMsgSendProgressListener(
))
..messageManager.setCustomBusinessListener(
)
// Set up friend relationship listener
..friendshipManager.setFriendshipListener(OnFriendshipListener(
))
// Set up conversation listener
..conversationManager.setConversationListener(OnConversationListener(
))
// Set up group listener
..groupManager.setGroupListener(OnGroupListener(
));
5. 登录
// 返回当前登录用户的资料
final userInfo = await OpenIM.iMManager.login(
userID: "", // userID来自于自身业务服务器
token: "", // token需要业务服务器根据secret向OpenIM服务端交换获取
);