越來越多的客戶把OpenIM用到了生產環(huán)境,由于新特性持續(xù)迭代和bug修復,會涉及到后續(xù)的升級方案,為了讓大家后續(xù)從容應對,本文重點總結OpenIM對未來版本管理的思路和方案。同時,官網對于文檔進行了全面更新,有部分端的文檔需要在下周完成。
版本管理
OpenIM版本管理較為復雜,涉及到服務端版本,以及多端SDK版本。由于OpenIM的SDK底層使用golang實現,所以aar/framework和go core SDK(Open-IM-SDK-Core https://github.com/OpenIMSDK/Open-IM-sdk-Core) 版本保持一致。而插件層會修復自身bug從而帶來版本號的變化,所以插件也有自身的版本號。服務端和客戶端SDK只需要大版本(版本號第一位數字)保持一致即可。
用例子說明版本號管理
(1)比如go core SDK是2.0.1 (穩(wěn)定版) (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詳細版本信息。 |
版本發(fā)布過程2.0.1-rc0 =》2.0.1-rc1 =》 2.0.1(穩(wěn)定版)
項目成果
從服務端到客戶端SDK開源即時通訊(IM)整體解決方案,可以輕松替代第三方IM云服務,并能根據業(yè)務需求高度自定義和二次開發(fā),打造具備聊天、社交、辦公功能的app。
OpenIM繼續(xù)領跑開源IM領域,在廣大開發(fā)者的大力支持下,目前github star持續(xù)突破。越來越多的開發(fā)者把OpenIM應用在社交,協(xié)同辦公領域。在運營過程中也暴露并修復了代碼的一些bug,由于使用場景廣泛,OpenIM越來越健壯,開源價值也凸顯出來了。
github地址: https://github.com/OpenIMSDK/Open-IM-Server
開發(fā)者中心:https://doc.rentsoft.cn/#/
V2.2.0穩(wěn)定版
V2.2.0穩(wěn)定版發(fā)布時間:2022年7月1日
平臺支持
以下平臺都支持消息互通,SDK和服務端代碼100%開源,采用Apache-2.0 License協(xié)議,任何團隊和個人都可以免費商用。demo主要展示SDK如何使用。商業(yè)版是OpenIM團隊在開源的服務端和SDK基礎上,開發(fā)帶有UI功能完整的IM產品
平臺 | SDK 及兼容性 | 源碼 | Demo | 商業(yè)版 |
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踢出狀態(tài),強制用戶踢出 |
帳號導入 | 把用戶導入OpenIM |
用戶在線狀態(tài) | 查詢用戶是否在線,以及具體哪些端在線 |
查詢帳號 | 查詢帳號是否導入 |
多端登錄
功能 | 說明 |
單平臺登錄 | Android、iPhone、iPad、Windows、Mac 只能1端在線;Web 可10端同時在線 |
消息類型
功能 | 說明 |
文本消息 | 消息內容是普通文本 |
圖片消息 | 消息內容為圖片 URL 地址、尺寸、圖片大小等信息 |
表情消息 | 表情消息為開發(fā)者自定義 |
語音消息 | 語音數據需要提供時長信息,以秒為單位 |
地理位置消息 | 消息內容為地理位置標題、經度、緯度信息 |
文件消息 | 消息內容為文件的 URL 地址、大小、格式等信息,格式不限,不限制大小。 |
短視頻消息 | 消息內容為視頻文件的 URL 地址、時長、大小、格式等信息,不限制大小。 |
自定義消息 | 開發(fā)者自定義的消息類型,例如紅包等形式的消息 |
系統(tǒng)通知消息 | 包含內置的系統(tǒng)通知消息和開發(fā)者自定義系統(tǒng)通知消息 |
Tips 消息 | 包括群、好友、用戶信息修改等Tips |
合并消息 | 最大支持10條消息合并 |
清空所有消息 | 清除個人的本地和服務端消息 |
圖片視頻文件 | 支持MinIO,cos,oss上傳 |
會話功能
功能 | 說明 |
刪除會話 | 支持刪除本地;支持刪除本地,同時刪除服務端 |
設置會話免打擾 | 設置會話免打擾,單聊 群聊 |
置頂會話 | 置頂/取消置頂 |
設置功能
功能 | 說明 |
設置全局免打擾 | 設置后能收到消息,但不提醒 |
消息功能
功能 | 說明 |
離線消息 | 用戶登錄后退到后臺,當有用戶給其發(fā)消息時,即時通信 IM 支持離線推送 |
漫游消息 | 在新設備登錄時,將服務器記錄(云端)的歷史消息存儲進行同步,默認為全量同步。 |
多端同步 | 多終端消息同步,可同時收到消息 |
歷史消息 | 支持本地歷史消息和云端歷史消息 |
消息撤回 | 撤回投遞成功的消息,撤回時間由UI自己控制 |
已讀回執(zhí) | 查看單聊/群聊會話中對方的已讀未讀狀態(tài),對于群聊可以查看哪些人已讀/未讀 |
消息轉發(fā) | 將消息轉發(fā)給其他用戶或群組 |
@功能 | 群內 @ 消息與普通消息沒有本質區(qū)別,僅是在被 @ 的人在收到消息時,需要在 UI 上做特殊處理 |
正在輸入 | 支持 |
離線推送 | 目前整合了個推、極光推送 |
消息刪除 | 支持僅刪除本地,或者同時刪除本地和服務端 |
消息回復 | 支持對消息進行回復 |
本地消息搜索 | 支持搜索好友,搜索群組、群成員;搜索消息,按照會話分組 |
閱后即焚
功能 | 說明 |
私聊閱后即焚 | 在私聊時,雙方都可以開啟或者關閉閱后即焚狀態(tài),在閱后即焚開啟后,對方已讀后,可以開啟30秒倒計時,雙方刪除 |
用戶功能
功能 | 說明 |
設置用戶資料 | 用戶設置自己的昵稱、頭像、性別、年齡等資料 |
獲取用戶資料 | 用戶查看自己、好友及陌生人資料 |
當前登錄用戶資料變更回調 | 通過監(jiān)聽回調,及時刷新UI界面 |
自定義用戶資料 | 設置ex字段 |
用戶通知監(jiān)聽回調 | 登錄用戶信息修改,連接成功/失敗,token過期,被踢下線 |
關系鏈功能
功能 | 說明 |
查找好友 | 可通過用戶帳號 ID 查找好友 |
申請?zhí)砑雍糜?/span> | 申請?zhí)砑雍糜?,需對方同?/span> |
導入好友 | 支持導入雙向好友關系 |
刪除好友 | 成為好友后可以刪除好友 |
獲取所有好友 | 獲取所有好友 |
同意/拒絕好友 | 收到請求加好友請求的系統(tǒng)通知后,可以通過或者拒絕 |
添加用戶到黑名單 | 把任意用戶拉黑,如果此前是好友關系,仍然保留 |
移除黑名單 | 把用戶從黑名單中移除 |
獲取黑名單列表 | 拉取用戶黑名單列表 |
好友備注 | 成為好友后可以給好友備注 |
校驗好友 | 支持校驗單向好友關系 |
校驗黑名單 | 支持校驗單向黑名單 |
獲取收到的的好友申請列表 | 被添加的好友申請列表 |
獲取主動發(fā)出去的好友申請列表 | 主動申請?zhí)砑悠渌藶楹糜训纳暾埩斜?/span> |
好友通知監(jiān)聽回調 | 包括好友申請,好友列表變更,好友資料變更; |
黑名單通知監(jiān)聽回調 | 用戶黑名單列表變更 |
群組功能
目前群組采用寫擴散模型,會導致消息復制多份,同時不支持新成員查看進群前的歷史消息。
功能 | 說明 |
群容量 | 人數無上限,建議控制在一萬人以內 |
創(chuàng)建群 | 任何人可以創(chuàng)建群 |
群資料屬性 | 群名,群頭像,群簡介,群公告,群擴展字段 |
進群模式 | 群成員邀請直接入群;所有人直接進群;所有人都需要驗證;群主和管理員驗證通過 |
獲取收到的群申請列表 | 群主管理員可以查看其他用戶的入群申請 |
獲取發(fā)出的群申請列表 | 查看本用戶入群申請列表 |
獲取群成員列表 | 拉取群成員信息,支持分頁拉取 |
群主轉讓 | 現有群主轉讓群主身份給群成員 |
群成員類型 | 群主、管理員、普通成員 |
管理員設置 | 群主可以增減管理員 |
群組資料修改權限 | 群主、管理員可修改:群名,群頭像,群簡介,群公告,群擴展字段 |
修改群成員昵稱 | 群主可以修改所有人的群昵稱。 管理員只能修改普通群成員的群昵稱。 |
修改自己的群昵稱 | 群成員修改群內昵稱,群昵稱默認為用戶昵稱 |
消息類型支持 | 同消息類型 |
消息提醒 | 接收消息但不提示;屏蔽群消息 |
歷史消息 | 支持 |
離線消息 | 支持 |
消息漫游 | 支持 |
指定成員強制推送@ | 群內 @ 消息與普通消息沒有本質區(qū)別,僅是在被 @ 的人在收到消息時,需要在 UI 上做特殊處理 |
群消息已讀回執(zhí) | 支持,后臺可以配置是否啟用,群消息哪些人已讀未讀 |
踢人 | 群主和管理員可以踢人,且管理員不能踢群主和其他管理員 |
主動退群 | 除群主外,其他用戶均可以主動退群。 群主需先將群轉讓給其他群成員才可以進行退群操作 |
禁言 | 群主管理員對普通成員禁言、解除禁言 |
轉讓群 | 群主可以將群的擁有者權限轉給群內的其他成員,轉移后, 被轉讓者變?yōu)樾碌娜褐?,原群主變?yōu)槠胀ǔ蓡T。 |
解散群 | 群主管理員可以解散群 |
群通知監(jiān)聽回調 | 包括群信息修改,群成員變更,個人進群列表變更,以及群申請通知。 |
v2.3.0重要特性
預計v2.3.0-rc0發(fā)布時間為2022年7月20日
版本特性 | 預計發(fā)布時間 |
群聊寫擴散增加讀擴散機制,解決消息存儲冗余問題 | 2022-7-20 |
優(yōu)先同步群聊最新消息,按需拉取歷史消息 | 2022-7-20 |
服務端加入一致性緩存,優(yōu)化db讀寫性能 | 2022-7-20 |
支持單群百萬級超級大群 | 2022-7-20 |
支持新入群用戶查看歷史消息 | 2022-7-20 |
我們的團隊
有部分讀者總在質疑現在樂此不疲做聊天 app還有什么價值?這里統(tǒng)一回答一下,OpenIM不是一個獨立的聊天工具,是IM統(tǒng)一解決方案,OpenIM用開源技術創(chuàng)造服務價值,打造輕量級、高可用的IM架構,開發(fā)者只需簡單調用 SDK,即可在應用內構建多種即時通訊及實時音視頻互動場景,打造社交,還是電商客服,或者游戲互動等場景。相比于其他云服務商,OpenIM有其優(yōu)勢:開源,安全,可靠,低成本。對于信息安全重視的電子政務,企業(yè)協(xié)同辦公,OpenIM都是非常好的選擇。從公司成立之初就將“開源”作為核心戰(zhàn)略來推進,以公司化運營打造開源IM,充分體現了自由、平等、分享的互聯網精神。OpenIM邀請全球技術極客來參與OpenIM建設,使每位開發(fā)者都能免費使用最優(yōu)秀的IM組件,讓每個app都具備即時通訊能力。
版權聲明:本文內容由互聯網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。