OpenIM简介

OpenIM是由IM技术专家打造的开源即时通讯组件,也是目前最受欢迎的开源IM项目之一,目前github star近万。开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时通讯能力快速集成到自身应用中,并确保业务数据的安全性和私密性。

github地址:https://github.com/OpenIMSDK

文档中心:https://doc.rentsoft.cn/#/

平台支持

以下平台都支持,消息互通,且多端实时同步。

平台 IMSDK 音视频通话 带UI的商业版 工作圈 组织架构

Android 支持 支持 支持 未完成 未完成

iOS 支持 支持 支持 未完成 未完成

Web 支持 支持 支持 无 支持

Uniapp 支持 不支持 支持 未完成 未完成

Flutter 支持 支持 支持 支持 支持

Electron(win/mac) 支持 支持 支持 无 支持

商业版本是针对政企办公场景,OpenIM技术团队在100%开源的OpenIM服务端和IMSDK基础上,开发功能完整的IM产品。客户经授权后,可以直接部署运营商业版,也可以在此基础上二次开发。

帐号功能

功能类型 功能描述

帐号导入 以管理员身份批量导入帐号和业务系统对接

帐号禁用 封号,禁止登录

用户在线状态 查询在线和离线状态

查询帐号 查询帐号是否导入

设置用户资料 设置用户昵称、头像、性别、年龄等资料

获取用户资料 用户查看自己、好友及陌生人资料

强制退出登录 管理员强制用户退出登录

多端登录

功能类型 功能描述

双平台登录 Android、iOS、iPad、Windows、Mac 每端只能1个在线;Web可同时在线10个

消息类型

功能类型 功能描述

文本消息 消息内容是普通文本

图片消息 消息内容为图片 URL 地址、尺寸、图片大小等信息,支持MinIO,cos,oss,s3存储

表情消息 表情消息为开发者自定义

语音消息 语音数据需要提供时长信息,以秒为单位

地理位置消息 消息内容为地理位置标题、经度、纬度信息

文件消息 消息内容为文件的 URL 地址、大小、格式等信息,格式不限,大小不限,支持MinIO,cos,oss,s3存储

视频消息 消息内容为视频文件的 URL 地址、时长、大小、格式等信息,大小不限,支持MinIO,cos,oss,s3存储

自定义消息 开发者自定义的消息类型

系统通知消息 包含内置的系统通知消息和开发者自定义系统通知消息

Tips 消息 系统性通知消息,例如有成员进出群组,群的描述信息被修改,群成员的资料发生变化等,好友申请,好友增加等

合并消息 最大支持10条消息合并

回复消息 针对消息进行引用回复

阅后即焚消息 在单聊下开启后,对方已读后30秒自动删除

消息功能

功能类型 功能描述

离线消息 用户登录后退到后台,当有用户给其发消息时,即时通信 IM 支持离线推送

漫游消息 在新设备登录时,将服务器记录(云端)的历史消息存储进行同步,可以配置延长

多端同步 多终端消息同步,可同时收到消息

历史消息 支持本地历史消息和云端历史消息

消息撤回 撤回操作支持单聊和群聊消息,撤回时间未限制,群内管理员可以撤回群成员消息

已读回执 支持单聊已读未读状态,群聊支持查看哪些人已读未读状态

消息转发 将消息转发给其他用户或群组

@功能 群内 @ 消息与普通消息没有本质区别,仅是在被 @ 的人在收到消息时,需要在 UI 上做特殊处理

正在输入 能实时感知对方正在输入

离线推送 支持极光、个推、google firebase推送

消息删除 支持删除本地和服务端消息

标签推送 创建标签,针对标签群发消息

本地消息搜索 支持搜索好友,搜索群组、群成员;搜索消息,会话

会话功能

功能类型 功能描述

置顶会话 置顶会话,并多端同步

删除会话 删除会话,会话内消息也会删除

设置免打扰 接收消息但不提醒;不接收消息

设置单聊阅后即焚 对方已读就30秒双方自动删除

关系链功能

功能类型 功能描述

查找好友 可通过用户帐号 ID 、二维码查找好友

申请添加好友 要选择默认是否需要申请理由,目前是默认不需要

添加好友 发送添加好友请求

导入好友 支持批量导入单向好友

删除好友 成为好友后可以删除好友,好友是双向关系

获取所有好友 获取所有好友,

同意/拒绝好友 收到请求加好友请求的系统通知后,可以通过或者拒绝

添加用户到黑名单 把任意用户拉黑,如果此前是好友关系不会解除好友关系

移除黑名单 把用户从黑名单中移除

获取黑名单列表 拉取用户黑名单列表

好友备注 成为好友后可以给好友备注

校验好友 支持校验好友关系

校验黑名单 支持校验黑名单

关系链资料存储 SDK 对关系链资料进行存储

好友资料变更系统通知 好友资料变更可以收到系统通知

群组功能

创建群组 任何人可以创建群组

退出群组 群主不能退出群组

解散群组 群主解散群组

申请加群 可以通过群二维码 群ID申请加群,由群主和管理员审批

加群审批 群主和管理审批

邀请加群 群成员邀请加群可直接进群或由管理员审批

修改群信息 修改群头像、群名称、群公告编辑

踢出群 群主和管理员移除群成员

搜索 搜索群成员昵称和UserID

群成员资料修改 群昵称 群头像修改,并实时通知群成员

管理员撤回群内消息 不受时间限制撤回消息

进群验证设置 管理员设置,可直接进群;进群需要验证;群成员邀请直接进群

群成员权限设置 不允许查看群成员资料;不允许添加群成员为好友

群主转让 群主身份转让给群成员

禁言 全体禁言,个人禁言

超级大群 支持10万人群

新成员进群查看历史消息 支持新成员进群查看(不查看)历史消息

成员变更通知新 所有成员都能收到通知,包括成员进群、退群、邀请进群、成员被踢等,并实时通知

群资料变更通知 所有成员都能收到通知,包括群头像、群名、群公告被修改,并实时通知

音视频通话

1对1音视频 支持主动拨号、接听、挂断;支持被动回调:呼叫,接听,挂断,超时

多对多音视频 支持主动拨号、接听、挂断;支持被动回调:呼叫,接听,挂断,超时

事件回调

用户登录回调 用户登录成功后通过callback回调业务服务器

用户退出登录回调 用户退出登录成功后通过callback回调业务服务器

发送单聊消息前回调 用户发送单聊消息前通过callback回调业务服务器

发送单聊消息后回调 用户单聊消息后通过callback回调业务服务器

发送群组消息前回调 用户发送群组消息前通过callback回调业务服务器

发送群组消息后回调 用户发送群组消息后通过callback回调业务服务器

消息推送前回调 消息推送前回调通过callback回调业务服务器

组织架构

创建部门 管理员创建部门

创建用户 管理员创建用户

把用户导入某个部门 管理员把用户导入某个部门,一个用户可以在多个部门中

删除部门 管理员删除部门及部门成员

删除用户 管理员删除用户,用户的部门信息也被删除

删除部门中的某个用户 管理员删除某个部门的某个用户

获取部门的所有成员 获取部门的所有成员信息

获取子部门列表 获取下级子部门列表

获取用户所在的所有部门 获取用户所有部门的岗位信息

更新部门信息 管理员更新部门信息

更新组织架构中的用户信息 管理员更新用户的基本信息

更新部门中的用户信息 管理员更新用户的岗位信息

工作圈

发布图文、发布视频 发布图文,及1分钟视频

删除动态 删除动态

浏览、评论、点赞 默认是所有人可以操作

评论、点赞实时提醒 实时提醒发布者

权限设置 可设置谁可见

性能

单机8核32G,100Mb带宽, 6个SSD。

同时在线 10万人

每秒消息数 5000条

消息延时 平均1-2秒

消息可达率 100%

Cpu使用率 90%

内存占用 28G

系统支持集群部署,支持k8s部署,可平行扩展,亿级用户,千亿级消息

收藏-即时通讯(IM)开源项目OpenIM-功能手册的更多相关文章

  1. 值得收藏--GitHub Top 20 开源项目

    参考链接:https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md 项目名称                            项目 ...

  2. 讲解开源项目:功能强大的 JS 文件上传库

    本文作者:HelloGitHub-kalifun HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  3. 收藏的一些github开源项目,在这里记录一下

    1.在windows系统上在命令行中执行rm -fr */*.file 会报错, rimraf这个项目提供了跨平台支持rm命令,github地址: https://github.com/isaacs/ ...

  4. iOS开源项目MobileProject功能点介绍

    一:MobileProject简介 MobileProject项目是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileP ...

  5. 可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)

      (最新版本:V6.2,2019.01.03 .Xamarin移动端版本已经推出,包括 Android 和 iOS) GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网, ...

  6. 【转】可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)

    原文地址:http://www.cnblogs.com/justnow/p/3382160.html (最新版本:V6.0,2017.12.11 .即将推出Xamarin移动端版本,包括 Androi ...

  7. Android 开源项目 eoe 社区 Android 客户端(转)

    本文内容 环境 开源项目 eoe 社区 Android 客户端 本文介绍 eoe 社区 Android 客户端.它是一个开源项目,功能相对简单,采用侧边菜单栏.可以学习一下.点击此处查看 GitHub ...

  8. 即时通讯(III)

    即时通讯的开源库 目前及时通讯可以使用环信.柔云.腾讯云,这些都是基于TCP连接的,UI也是高度定制的,而且它们的技术也是比较成熟的. XMPP比较早,是开源的,但是坑也比较多.传输的数据是XML,造 ...

  9. Android 开源项目 eoe 社区 Android 客户端

    本文内容 环境 开源项目 eoe 社区 Android 客户端 本文介绍 eoe 社区 Android 客户端.它是一个开源项目,功能相对简单,采用侧边菜单栏.可以学习一下.点击此处查看 GitHub ...

  10. 5 天 4000 star 的一个爆款开源项目

    今天早上起来浏览 GitHub 的时候,在周热门趋势排行榜上看到了这么一个开源项目,仅仅 5 天时间,爬到了周排行榜的第一名的位置.而在每天的排行榜上,今天一早也高高位居排行榜的第二位. 这个开源项目 ...

随机推荐

  1. 使用 BLIP-2 零样本“图生文”

    本文将介绍来自 Salesforce 研究院的 BLIP-2 模型,它支持一整套最先进的视觉语言模型,且已集成入 Transformers. 我们将向你展示如何将其用于图像字幕生成.有提示图像字幕生成 ...

  2. OpenShift 与 OpenStack:让云变得更简单

    OpenShift 与 OpenStack 都是在 2010.2011 年左右创建的,用于构建可扩展云平台的开源技术,两者都用于在混合云环境中构建可扩展系统.从历史来看,OpenStack 的存在时间 ...

  3. 2021InfoComm|钉钉会议 Rooms 的 "全场景" 智能化解决方案

    InfoComm China 是亚太地区规模盛大的专业视听和集成体验解决方案商贸展会,提供前沿革新的产品和一系列高价值的技术展示. 在疫情期间,钉钉音视频支持了全国人民在线办公.在家上课,单日在线会议 ...

  4. Java ZIP文件解压

    Java ZIP文件解压 备忘笔记 代码: private byte[] unZip(byte[] data) { byte[] bArr = null; try { ByteArrayInputSt ...

  5. Mac | HomeBrew 安装 & 配置 MySQL

    这个是我最新并且一直推崇的方法: 1.安装:brew install mysql 2.开启mysql:mysql.server start 3.使用mysql的配置脚本:/usr/local/opt/ ...

  6. 八、java操作swift对象存储(静态大对象)

    系列导航 一.swift对象存储环境搭建 二.swift添加存储策略 三.swift大对象--动态大对象 四.swift大对象--静态态大对象 五.java操作swift对象存储(官网样例) 六.ja ...

  7. echart自定义主题

    echart默认以canvas展示,放大会模糊,可以使用svg格式.

  8. 机器学习-无监督机器学习-kmeans-17

    目录 1. 什么是聚类 2. 代码实现 1. 什么是聚类 无监督机器学习的一种 输入数据只有X 没有y 将已有的数据 根据相似度 将划分到不同的簇 (花团锦簇) 步骤: 随机选择k个簇的中心点 样本根 ...

  9. Mathpix:屏幕截图 ➡ latex 公式,一键转换

    安利一天能免费使用 10 次且好用的工具 Mathpix.

  10. 问题--C++单例模式中唯一对象初始化时关于在类外调用私有的无参构造问题

    1.问题 在单例模式中初始化单例对象Person* Person::signal= new Person; 这一步在类外,而new Person需要调用私有的无参构造,但是只有在类内部才能调用私有函数 ...