一、基本介紹

MobileIMSDK是一套全平臺(tái)原創(chuàng)開源IM通信層框架:
- 超輕量級(jí)、高度提煉,lib包50KB以內(nèi);
- 精心封裝,一套API同時(shí)支持UDP、TCP、WebSocket三種協(xié)議(可能是全網(wǎng)唯一開源的);
- 客戶端支持iOS、Android、標(biāo)準(zhǔn)Java、H5、微信小程序、Uniap、鴻蒙Next(Demo完整源碼);
- 服務(wù)端基于Netty,性能卓越、易于擴(kuò)展 new;
- 可與姊妹工程 MobileIMSDK-Web 無縫互通實(shí)現(xiàn)網(wǎng)頁端聊天或推送等;
- 可應(yīng)用于跨設(shè)備、跨網(wǎng)絡(luò)的聊天APP、企業(yè)OA、消息推送等各種場景。
二、源碼倉庫同步更新
GitHub.com:
碼云gitee:
三、設(shè)計(jì)目標(biāo)
讓開發(fā)者專注于應(yīng)用邏輯的開發(fā),底層復(fù)雜的即時(shí)通訊算法交由SDK開發(fā)人員,從而解偶即時(shí)通訊應(yīng)用開發(fā)的復(fù)雜性。
四、框架組成
整套MobileIMSDK框架由以下7部分組成:
- Android客戶端SDK:用于開發(fā)Android版即時(shí)通訊客戶端,支持Android 4.0及以上版本,查看API文檔;
- iOS客戶端SDK:用于開發(fā)iOS版即時(shí)通訊客戶端,支持iOS 12.0及以上版本,查看API文檔;
- Java客戶端SDK:用于開發(fā)跨平臺(tái)的PC端即時(shí)通訊客戶端,支持標(biāo)準(zhǔn)Java 1.6及以上版本,查看API文檔;
- H5客戶端SDK:查看精編注釋版;
- 微信小程序端SDK:查看精編注釋版;
- Uniapp端SDK:查看精編注釋版;
- 鴻蒙Next端SDK:SDK暫無開源版(查看精編注釋版),Demo完整工程源碼;
- 服務(wù)端SDK:用于開發(fā)即時(shí)通訊服務(wù)端,支持Java 1.7及以上版本,查看API文檔;
整套MobileIMSDK框架的架構(gòu)組成:

MobileIMSDK一直在持續(xù)開發(fā)和升級(jí)中,鴻蒙Next客戶端是MobileIMSDK工程的最新成果。
五、技術(shù)特征
- 久經(jīng)考驗(yàn):歷經(jīng)10年,從Andriod 2.3、iOS 5.0 時(shí)代持續(xù)升級(jí)至今(絕不爛尾);
- 超輕量級(jí):高度提煉,lib包50KB以內(nèi);
- 多種協(xié)議:可能是全網(wǎng)唯一開源可同時(shí)支持UDP、TCP、WebSocket三種協(xié)議的同類框架;
- 多種網(wǎng)絡(luò):精心優(yōu)化的TCP、UDP、WebSocket協(xié)議實(shí)現(xiàn),可應(yīng)用于衛(wèi)星網(wǎng)、移動(dòng)網(wǎng)、嵌入式物聯(lián)網(wǎng)等場景;
- 多端覆蓋:客戶端支持iOS、Android、標(biāo)準(zhǔn)Java、H5、微信小程序、Uniapp、鴻蒙Next;
- 高效費(fèi)比:獨(dú)有的UDP協(xié)議實(shí)現(xiàn),無連接特性,同等條件下可實(shí)現(xiàn)更高的網(wǎng)絡(luò)負(fù)載和吞吐能力;
- 消息走向:支持即時(shí)通訊技術(shù)中消息的所有可能走向,共3種(即C2C、C2S、S2C);
- 粘包半包:優(yōu)雅解決各端的TCP經(jīng)典粘包和半包問題,底層封裝,應(yīng)用層完全無感知;
- QoS機(jī)制:完善的消息送達(dá)保證機(jī)制(自動(dòng)重傳、消息去重、狀態(tài)反饋等),不漏過每一條消息;
- 健壯可靠:實(shí)踐表明,非常適于在高延遲、跨洲際、不同網(wǎng)絡(luò)制式環(huán)境中穩(wěn)定、可靠地運(yùn)行;
- 斷網(wǎng)恢復(fù):擁有網(wǎng)絡(luò)狀況自動(dòng)檢測、斷網(wǎng)自動(dòng)治愈的能力;
- 原創(chuàng)算法:核心算法和實(shí)現(xiàn)均為原創(chuàng),保證了持續(xù)改進(jìn)和提升的空間;
- 多種模式:預(yù)設(shè)多種實(shí)時(shí)靈敏度模式,可根據(jù)不同場景控制即時(shí)性、流量和客戶端電量消耗;
- 數(shù)據(jù)壓縮:自有協(xié)議實(shí)現(xiàn),未來可自主定制數(shù)據(jù)壓縮,靈活控制客戶端的流量、服務(wù)端網(wǎng)絡(luò)吞吐;
- 高度封裝:高度封裝的API接口,保證了調(diào)用的簡易性,也使得可應(yīng)用于更多的應(yīng)用場景;
- Web支持:可與姊妹工程 MobileIMSDK-Web 無縫互通實(shí)現(xiàn)網(wǎng)頁端聊天或推送等;
- 擴(kuò)展性好:服務(wù)端基于Netty,繼承了Netty的優(yōu)秀高可擴(kuò)展性;
- 性能優(yōu)異:服務(wù)端繼承了Netty高性能、高吞吐特性,適用于高性能服務(wù)端場景。
六、演示程序
- Android客戶端 Demo:點(diǎn)此安裝和使用;
- iOS客戶端 Demo:點(diǎn)此安裝和使用;
- Java客戶端 Demo:點(diǎn)此安裝和使用;
- H5客戶端 Demo:點(diǎn)此查看介紹;
- 微信小程序端 Demo:點(diǎn)此查看介紹;
- Uniapp端 Demo:點(diǎn)此查看介紹;
- 鴻蒙Next端 Demo:點(diǎn)此查看介紹 new;
- 服務(wù)端 Demo:點(diǎn)此安裝和使用。
七、應(yīng)用案例
RainbowChat是一款基于MobileIMSDK的產(chǎn)品級(jí)聊天APP,更多詳情:點(diǎn)擊下載體驗(yàn) 或 查看運(yùn)行截圖。
① 基于MobileIMSDK的產(chǎn)品級(jí)聊天APP:
▶ 詳細(xì)介紹、下載體驗(yàn) 或 查看運(yùn)行截圖。
② MobileIMSDK在高網(wǎng)絡(luò)延遲下的案例:
▶ 某款基于MobileIMSDK的商業(yè)商品,曾運(yùn)營于跨洲際的復(fù)雜網(wǎng)絡(luò)環(huán)境下,端到端通信延遲在洲際網(wǎng)絡(luò)繁忙時(shí)可高達(dá)600ms以上(與服務(wù)端的單向延遲約為300ms左右,而通常大家訪問國內(nèi)主流門戶的延遲約為20~50ms),某段時(shí)期的非敏感運(yùn)營數(shù)據(jù) 點(diǎn)此查看。
八、打包下載(all in one)
說明:最新發(fā)布版打包內(nèi)容中,已包含完整的demo源碼、sdk源碼、api文檔、編譯后的分發(fā)包等。
九、典型應(yīng)用場景
場景1:聊天APP
應(yīng)用說明:可用于開發(fā)類似于微信、QQ等聊天工具。
消息走向:需使用C2C、C2S、S2C全部類型。
特別說明:MobileIMSDK并未定義聊天應(yīng)用的應(yīng)用層邏輯和協(xié)議,開發(fā)者可自行定義并實(shí)現(xiàn)之。
場景2:消息推送
應(yīng)用說明:可用于需要向客戶端實(shí)時(shí)推送信息的各種類型APP。
消息走向:僅需使用S2C 1種消息走向,屬M(fèi)obileIMSDK的最簡單應(yīng)用場景。
場景3:企業(yè)OA
應(yīng)用說明:可用于實(shí)現(xiàn)企業(yè)OA的指令、公文、申請(qǐng)等各種消息實(shí)時(shí)推送,極大提升用戶體驗(yàn),并可延伸至移動(dòng)設(shè)備。
消息走向:僅需使用S2C 1種消息走向,屬M(fèi)obileIMSDK的最簡單應(yīng)用場景。
場景4:企業(yè)OA的增強(qiáng)型
應(yīng)用說明:可用于實(shí)現(xiàn)企業(yè)OA中各種系統(tǒng)級(jí)、用戶級(jí)消息的實(shí)時(shí)互動(dòng),充分利用即時(shí)通訊技術(shù)提升傳統(tǒng)OA的價(jià)值。
消息走向:可使用C2C、C2S、S2C全部類型,這與聊天APP在很多方面已無差別,但企業(yè)OA有自已的用戶關(guān)系管理模型和邏輯,較之全功能聊天APP要簡單的多。
十、開發(fā)指南
- Android客戶端開發(fā)指南:點(diǎn)此查看;
- iOS客戶端開發(fā)指南:點(diǎn)此查看;
- Java客戶端開發(fā)指南:點(diǎn)此查看;
- H5客戶端開發(fā)指南:點(diǎn)此查看;
- 微信小程序端開發(fā)指南:點(diǎn)此查看;
- Uniapp端開發(fā)指南:點(diǎn)此查看;
- 鴻蒙Next端開發(fā)指南:點(diǎn)此查看;
- Server端開發(fā)指南:點(diǎn)此查看。
附錄1:Demo截圖
1、在鴻蒙Next端運(yùn)行效果:
>> 編譯和運(yùn)行:查看鴻蒙Next端Demo完整源碼。

2、Android端、iOS端運(yùn)行效果
>> 安裝和使用:進(jìn)入Android版Demo幫助頁、進(jìn)入iOS版Demo幫助頁。


3、H5端運(yùn)行效果

4、微信小程序端運(yùn)行效果

5、Uniapp端運(yùn)行效果

6、Windows 運(yùn)行效果
>> 安裝和使用:進(jìn)入Java版Demo幫助頁。

7、Mac OS X 運(yùn)行效果
>> 安裝和使用:進(jìn)入Java版Demo幫助頁。

8、MobileIMSDK-Web版客戶端Demo運(yùn)行效果:
8.1)MobileIMSDK-Web在手機(jī)端瀏覽器運(yùn)行效果:(如何獲取MobileIMSDK-Web版:點(diǎn)此進(jìn)入)

附錄2:基于MobileIMSDK的全功能IM【案例】
>> 關(guān)于RainbowChat的更多資料請(qǐng)見:RainbowChat前端APP功能截圖網(wǎng)頁 (* 推薦 - 真機(jī)實(shí)拍視頻:Andriod端、iOS端)。




附錄3:基于MobileIMSDK-Web的網(wǎng)頁端IM系統(tǒng)【案例】
下圖為RainbowChat-Web的主界面(更多截圖點(diǎn)此進(jìn)入、更多演示視頻點(diǎn)此進(jìn)入):