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