写在后面
Open-IM 是由前微信技术专家打造的 开源 的即时通讯组件。Open-IM 包含 IM 服务端和客户端 SDK,实现了高性能、轻量级、易扩大等重要个性。开发者通过集成 Open-IM 组件,并私有化部署服务端,能够将即时通讯、实时网络能力疾速集成到本身利用中,并确保业务数据的安全性和私密性。
开创团队来自前微信高级架构师、IM/WebRTC 专家团队,咱们致力于用开源技术发明服务价值,打造轻量级、高可用的 IM 架构,开发者只需简略调用 SDK,即可在利用内构建多种即时通讯及实时音视频互动场景。
IM 作为外围业务数据,平安的重要性毋庸置疑,OpenIM 开源以及私有化部署让企业能更放心使用。
现在 IM 云服务商免费高企,如何让企业低成本、平安、牢靠接入 IM 服务,是 OpenIM 的历史使命,也是咱们后退的方向。
理解更多原创文章:
【OpenIM 原创】开源 OpenIM:轻量、高效、实时、牢靠、低成本的音讯模型
【OpenIM 原创】C/C++ 调用 golang 函数,golang 回调 C /C++ 函数
【OpenIM 原创】简略轻松入门 一文解说 WebRTC 实现 1 对 1 音视频通信原理
【OpenIM 扩大】OpenIM 服务发现和负载平衡 golang 插件:gRPC 接入 etcdv3
【开源 OpenIM】高性能、可伸缩、易扩大的即时通讯架构
如果您有趣味能够在文章结尾理解到更多对于咱们的信息,期待着与您的交换单干。
初始化 SDK 的 listener(OnInitSDKListener)回调是在调用 login 办法后才开始进行。
// Initialize SDK
OpenIM.iMManager
..initSDK(
platform: Platform.isAndroid ? IMPlatform.android : IMPlatform.ios,
ipApi: '',
ipWs: '',
dbPath: '',
listener: OnInitSDKListener(onConnecting: () {},
onConnectFailed: (code, error) {},
onConnectSuccess: () {},
onKickedOffline: () {},
onUserSigExpired: () {},
onSelfInfoUpdated: (user) {},),
)
// Add message listener (remove when not in use)
..messageManager.addAdvancedMsgListener(OnAdvancedMsgListener(onRecvMessageRevoked: (msgId) {},
onRecvC2CReadReceipt: (list) {},
onRecvNewMessage: (msg) {},))
// Set up message sending progress listener
..messageManager.setMsgSendProgressListener(OnMsgSendProgressListener(onProgress: (msgId, progress) {},))
// Set up friend relationship listener
..friendshipManager.setFriendshipListener(OnFriendshipListener(onBlackListAdd: (u) {},
onBlackListDeleted: (u) {},
onFriendApplicationListAccept: (u) {},
onFriendApplicationListAdded: (u) {},
onFriendApplicationListDeleted: (u) {},
onFriendApplicationListReject: (u) {},
onFriendInfoChanged: (u) {},
onFriendListAdded: (u) {},
onFriendListDeleted: (u) {},))
// Set up conversation listener
..conversationManager.setConversationListener(OnConversationListener(onConversationChanged: (list) {},
onNewConversation: (list) {},
onTotalUnreadMessageCountChanged: (count) {},
onSyncServerFailed: () {},
onSyncServerFinish: () {},
onSyncServerStart: () {},
))
// Set up group listener
..groupManager.setGroupListener(OnGroupListener(onApplicationProcessed: (groupId, opUser, agreeOrReject, opReason) {},
onGroupCreated: (groupId) {},
onGroupInfoChanged: (groupId, info) {},
onMemberEnter: (groupId, list) {},
onMemberInvited: (groupId, opUser, list) {},
onMemberKicked: (groupId, opUser, list) {},
onMemberLeave: (groupId, info) {},
onReceiveJoinApplication: (groupId, info, opReason) {},));
- 初始化监听回调事件
event | 阐明 |
---|---|
onConnectFailed | 连贯失败 |
onConnectSuccess | 连贯胜利 |
onConnecting | 连贯中 |
onKickedOffline | 被踢下线 |
onSelfInfoUpdated | 批改个人信息 |
onUserTokenExpired | 账号 token 过期 |
- 会话监听回调列表
event | 阐明 |
---|---|
onConversationChanged | 会话列表扭转 |
onNewConversation | 新会话 |
onSyncServerFailed | – |
onSyncServerFinish | – |
onSyncServerStart | – |
onTotalUnreadMessageCountChanged | 音讯未读总数扭转 |
- 音讯状态监听回调列表
event | 阐明 |
---|---|
onRecvNewMessage | 接管到新音讯 |
onRecvMessageRevoked | 其余用户撤回告诉 |
onRecvC2CReadReceipt | 对方实时已读告诉 |
- 群组监听回调列表
event | 阐明 |
---|---|
onApplicationProcessed | 入群申请被解决 |
onGroupCreated | 群组创立 |
onGroupInfoChanged | 群组信息扭转 |
onMemberEnter | 新成员退出群组 |
onMemberInvited | 邀请成员退出 |
onMemberKicked | 踢出成员 |
onMemberLeave | 成员退群 |
onReceiveJoinApplication | 收到入群申请 |
- 好友监听回调列表
event | 阐明 |
---|---|
onBlackListAdd | 增加黑名单 |
onBlackListDeleted | 移除黑名单 |
onFriendApplicationListAccept | 承受好友申请 |
onFriendApplicationListAdded | 好友申请列表减少 |
onFriendApplicationListDeleted | 好友申请列表缩小 |
onFriendApplicationListReject | 回绝好友申请 |
onFriendInfoChanged | 好友信息更新 |
onFriendListAdded | 好友列表减少 |
onFriendListDeleted | 好友列表缩小 |
OpenIM github 开源地址:
https://github.com/OpenIMSDK/…
OpenIM 官网:https://www.rentsoft.cn
OpenIM 官方论坛:https://forum.rentsoft.cn/
咱们致力于通过开源模式,为寰球企业 / 开发者提供简略、易用、高效的 IM 服务和实时音视频通信能力,帮忙开发者升高我的项目的开发成本,并让开发者掌控业务的外围数据。