写在后面

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服务和实时音视频通信能力,帮忙开发者升高我的项目的开发成本,并让开发者掌控业务的外围数据。