越来越多的客户把 OpenIM 用到了生产环境,因为新个性继续迭代和 bug 修复,会波及到后续的降级计划,为了让大家后续从容应对,本文重点总结 OpenIM 对将来版本治理的思路和计划。同时,官网对于文档进行了全面更新,有局部端的文档须要在下周实现。
文档核心:https://doc.rentsoft.cn/#/
版本治理
OpenIM 版本治理较为简单,波及到服务端版本,以及多端 SDK 版本。因为 OpenIM 的 SDK 底层应用 golang 实现,所以 aar/framework 和 go core SDK(Open-IM-SDK-Core https://github.com/OpenIMSDK/…) 版本保持一致。而插件层会修复本身 bug 从而带来版本号的变动,所以插件也有本身的版本号。服务端和客户端 SDK 只须要大版本(版本号第一位数字)保持一致即可。
用例子阐明版本号治理
(1)比方 go core SDK 是 2.0.1(稳定版)(2)aar 包 2.0.1 aar 和 go core SDK 版本保持一致;(3)flutter2.0.1+a 后面三位数保留统一,a b c 是修复本身 bug 后的版本号(4)app 本身版本独立,如 2.11.2,但须要在 app 外面减少一项,示意应用了 SDK 版本号为 2.0.1+a
go sdk 版本(github Open-IM-SDK-Core tag)aar/framework 版本 Flutter sdk 版本 iOS sdk 版本 Android sdk 版本 js sdk 版本 uniapp 版本 app/pc 版本
2.0.1 2.0.1 2.0.1+1 后面和 core 放弃不变 2.0.1.1 后面 2.0.1 放弃不变 2.0.1.1 后面 2.0.1 放弃不变 2.1.0-beta.1 后面和 core 保持一致 2.0.1 和 core 保持一致 利用版本能够齐全独立,但须要展应用 sdk 具体版本信息。
版本公布过程 2.0.1-rc0 =》2.0.1-rc1 =》2.0.1(稳定版)
我的项目成绩
从服务端到客户端 SDK 开源即时通讯(IM)整体解决方案,能够轻松代替第三方 IM 云服务,并能依据业务需要高度自定义和二次开发,打造具备聊天、社交、办公性能的 app。
OpenIM 持续领跑开源 IM 畛域,在宽广开发者的大力支持下,目前 github star 继续冲破。越来越多的开发者把 OpenIM 利用在社交,协同办公畛域。在经营过程中也裸露并修复了代码的一些 bug,因为应用场景宽泛,OpenIM 越来越强壮,开源价值也凸显进去了。
github 地址:https://github.com/OpenIMSDK/…
文档核心:https://doc.rentsoft.cn/#/
V2.2.0 稳定版
V2.2.0 稳定版公布工夫:2022 年 7 月 1 日
平台反对
以下平台都反对音讯互通,SDK 和服务端代码 100% 开源,采纳 Apache-2.0 License 协定,任何团队和集体都能够收费商用。demo 次要展现 SDK 如何应用。商业版是 OpenIM 团队在开源的服务端和 SDK 根底上,开发带有 UI 性能残缺的 IM 产品
平台 SDK 及兼容性 源码 Demo 商业版
Android 兼容 android5.0 及以上版本 100% 开源 100% 开源 有,针对付费客户凋谢
iOS 兼容 iOS 11.0 及以上版本 100% 开源 100% 开源 有,针对付费客户凋谢
Flutter 兼容 flutter2.0 及以上版本 100% 开源 100% 开源 有,针对付费客户凋谢
Uniapp
100% 开源 100% 开源 有,针对付费客户凋谢
Electron
100% 开源 100% 开源 有,针对付费客户凋谢
小程序
100% 开源 100% 开源 无
Web
100% 开源 100% 开源 有,针对付费客户凋谢
Linux
100% 开源 100% 开源 无
帐号性能
性能 阐明
帐号禁用 设置 Token 踢出状态,强制用户踢出
帐号导入 把用户导入 OpenIM
用户在线状态 查问用户是否在线,以及具体哪些端在线
查问帐号 查问帐号是否导入
多端登录
性能 阐明
单平台登录 Android、iPhone、iPad、Windows、Mac 只能 1 端在线;Web 可 10 端同时在线
音讯类型
性能 阐明
文本音讯 音讯内容是一般文本
图片音讯 音讯内容为图片 URL 地址、尺寸、图片大小等信息
表情音讯 表情音讯为开发者自定义
语音音讯 语音数据须要提供时长信息,以秒为单位
地理位置音讯 音讯内容为地理位置题目、经度、纬度信息
文件音讯 音讯内容为文件的 URL 地址、大小、格局等信息,格局不限,不限度大小。
短视频音讯 音讯内容为视频文件的 URL 地址、时长、大小、格局等信息,不限度大小。
自定义音讯 开发者自定义的音讯类型,例如红包等模式的音讯
零碎告诉音讯 蕴含内置的零碎告诉音讯和开发者自定义零碎告诉音讯
Tips 音讯 包含群、好友、用户信息批改等 Tips
合并音讯 最大反对 10 条音讯合并
清空所有音讯 革除集体的本地和服务端音讯
图片视频文件 反对 MinIO,cos,oss 上传
会话性能
性能 阐明
删除会话 反对删除本地;反对删除本地,同时删除服务端
设置会话免打搅 设置会话免打搅,单聊 群聊
置顶会话 置顶 / 勾销置顶
设置性能
性能 阐明
设置全局免打搅 设置后能收到音讯,但不揭示
音讯性能
性能 阐明
离线音讯 用户登录后退到后盾,当有用户给其发消息时,即时通信 IM 反对离线推送
漫游音讯 在新设施登录时,将服务器记录 (云端) 的历史音讯存储进行同步,默认为全量同步。
多端同步 多终端音讯同步,可同时收到音讯
历史音讯 反对本地历史音讯和云端历史音讯
音讯撤回 撤回投递胜利的音讯,撤回工夫由 UI 本人管制
已读回执 查看单聊 / 群聊会话中对方的已读未读状态,对于群聊能够查看哪些人已读 / 未读
音讯转发 将音讯转发给其余用户或群组
@性能 群内 @ 音讯与一般音讯没有本质区别,仅是在被 @ 的人在收到音讯时,须要在 UI 上做非凡解决
正在输出 反对
离线推送 目前整合了个推、极光推送
音讯删除 反对仅删除本地,或者同时删除本地和服务端
音讯回复 反对对音讯进行回复
本地音讯搜寻 反对搜寻好友,搜寻群组、群成员;搜寻音讯,依照会话分组
阅后即焚
性能 阐明
私聊阅后即焚 在私聊时,单方都能够开启或者敞开阅后即焚状态,在阅后即焚开启后,对方已读后,能够开启 30 秒倒计时,单方删除
用户性能
性能 阐明
设置用户材料 用户设置本人的昵称、头像、性别、年龄等材料
获取用户材料 用户查看本人、好友及陌生人材料
以后登录用户材料变更回调 通过监听回调,及时刷新 UI 界面
自定义用户材料 设置 ex 字段
用户告诉监听回调 登录用户信息批改,连贯胜利 / 失败,token 过期,被踢下线
关系链性能
性能 阐明
查找好友 可通过用户帐号 ID 查找好友
申请增加好友 申请增加好友,需对方批准
导入好友 反对导入双向好友关系
删除好友 成为好友后能够删除好友
获取所有好友 获取所有好友
批准 / 回绝好友 收到申请加好友申请的零碎告诉后,能够通过或者回绝
增加用户到黑名单 把任意用户拉黑,如果此前是好友关系,依然保留
移除黑名单 把用户从黑名单中移除
获取黑名单列表 拉取用户黑名单列表
好友备注 成为好友后能够给好友备注
校验好友 反对校验单向好友关系
校验黑名单 反对校验单向黑名单
获取收到的的好友申请列表 被增加的好友申请列表
获取被动收回去的好友申请列表 被动申请增加其他人为好友的申请列表
好友告诉监听回调 包含好友申请,好友列表变更,好友材料变更;
黑名单告诉监听回调 用户黑名单列表变更
群组性能
目前群组采纳写扩散模型,会导致音讯复制多份,同时不反对新成员查看进群前的历史音讯。
性能 阐明
群容量 人数无下限,倡议管制在一万人以内
创立群 任何人能够创立群
群材料属性 群名,群头像,群简介,群布告,群扩大字段
进群模式 群成员邀请间接入群;所有人间接进群;所有人都须要验证;群主和管理员验证通过
获取收到的群申请列表 群主管理员能够查看其余用户的入群申请
获取收回的群申请列表 查看本用户入群申请列表
获取群成员列表 拉取群成员信息,反对分页拉取
群主转让 现有群主转让群主身份给群成员
群成员类型 群主、管理员、一般成员
管理员设置 群主能够增减管理员
群组材料批改权限 群主、管理员可批改:群名,群头像,群简介,群布告,群扩大字段
批改群成员昵称 群主能够批改所有人的群昵称。管理员只能批改一般群成员的群昵称。
批改本人的群昵称 群成员批改群内昵称,群昵称默认为用户昵称
音讯类型反对 同音讯类型
音讯揭示 接管音讯但不提醒;屏蔽群音讯
历史音讯 反对
离线音讯 反对
音讯漫游 反对
指定成员强制推送 @ 群内 @ 音讯与一般音讯没有本质区别,仅是在被 @ 的人在收到音讯时,须要在 UI 上做非凡解决
群音讯已读回执 反对,后盾能够配置是否启用,群音讯哪些人已读未读
踢人 群主和管理员能够踢人,且管理员不能踢群主和其余管理员
被动退群 除群主外,其余用户均能够被动退群。群主需先将群转让给其余群成员才能够进行退群操作
禁言 群主管理员对一般成员禁言、解除禁言
转让群 群主能够将群的拥有者权限转给群内的其余成员,转移后,被转让者变为新的群主,原群主变为一般成员。
遣散群 群主管理员能够遣散群
群告诉监听回调 包含群信息批改,群成员变更,集体进群列表变更,以及群申请告诉。
v2.3.0 重要个性
预计 v2.3.0-rc0 公布工夫为 2022 年 7 月 20 日
版本个性 预计公布工夫
群聊写扩散减少读扩散机制,解决音讯存储冗余问题 2022-7-20
优先同步群聊最新消息,按需拉取历史音讯 2022-7-20
服务端退出一致性缓存,优化 db 读写性能 2022-7-20
反对单群百万级超级大群 2022-7-20
反对新入群用户查看历史音讯 2022-7-20
咱们的团队
有局部读者总在质疑当初乐此不疲做聊天 app 还有什么价值?这里对立答复一下,OpenIM 不是一个独立的聊天工具,是 IM 对立解决方案,OpenIM 用开源技术发明服务价值,打造轻量级、高可用的 IM 架构,开发者只需简略调用 SDK,即可在利用内构建多种即时通讯及实时音视频互动场景,打造社交,还是电商客服,或者游戏互动等场景。相比于其余云服务商,OpenIM 有其劣势:开源,平安,牢靠,低成本。对于信息安全器重的电子政务,企业协同办公,OpenIM 都是十分好的抉择。从公司成立之初就将“开源”作为外围策略来推动,以公司化经营打造开源 IM,充分体现了自在、平等、分享的互联网精力。OpenIM 邀请寰球技术极客来参加 OpenIM 建设,使每位开发者都能收费应用最优良的 IM 组件,让每个 app 都具备即时通讯能力。