1. 程式人生 > >【免費】小米即時訊息雲MIMC介紹——免費、簡單實現IM

【免費】小米即時訊息雲MIMC介紹——免費、簡單實現IM

前言

IM是網際網路業務重要組成,很多場景下需要即時地、方便地交流。而實現IM較為複雜,需要後臺提供連線、投遞、儲存、統計支援,人力成本和機器成本都很高。所以目前很多使用者選擇不自己實現IM功能,或者使用QQ、微信等已經成熟的App交流,或者使用第三方IM雲服務整合自己的應用。

使用現有App:免費,不用改變使用者習慣,功能支援完整。但缺少面向自己業務需求的功能,資料安全性無法保證,無法得到統計資訊。

使用第三方IM雲服務:資料安全性得到一定保證,可支援更多的業務功能,得到使用者活躍度、註冊人數等統計資訊。但商業化使用會收費,自己仍然需要完成一些工作(介面設計,SDK介面呼叫程式),可能依然會受第三方IM雲提供服務功能的限制。

介紹

一、訊息系統背景介紹:

訊息系統一直是最性感的線上架構系統之一,具有高併發/高可靠/高實時等特性,技術難度高,挑戰難度大,因此對於普通APP開發者來說,構建並維護一個可靠穩定的訊息系統成本高昂,但是IM等社交屬性又是APP必須的強性需求之一,所以這裡存在一個基本矛盾。

當前市面上即時訊息雲服務,普遍存在接入成本高昂,沒有OS層面對長連線的支援等問題。

小米每年都有接近一億部手機售出,手機保有量巨大,小米天生擁有網際網路基因,每一部手機(MIUI)都保有一條系統級長連線,平臺巨大僅次於蘋果(iOS)。有了系統級長連線支援,小米的訊息推送做到了國內業界第一。現在我們又免費推出小米推送的姊妹產品MIMC(即時訊息雲),相信可以為廣大開發者帶來巨大的益處!

二、什麼是小米即時訊息雲?

小米即時訊息雲MIMC:xiaoMI Messaging Cloud

MIMC是小米自研的一種安全、可靠、易用的分散式IM雲服務。為廣大開發者提供免費快捷的即時通訊接入服務。MIMC基於多年小米通訊技術積累,讓即時通訊不再複雜。

目前開發者可在PC端開啟連結小米開放平臺檢視小米即時訊息雲的介紹和API接入文件,SDK下載等。

三、MIMC文件庫

包含MIMC的介紹、使用場景以及MIMC的優勢、聯絡方式及常見問題等

四、MIMC的定位邊界

基礎功能

MIMC實現安全、可靠、易用的分散式IM雲服務,為廣大開發者提供免費快捷的即時通訊接入功能。

單聊訊息,群聊訊息,群組操作,歷史訊息查詢,訊息回撥/離線訊息回撥,統計資訊查詢(後臺管理員系統),國際化。

建議擴充套件

具體訊息功能(紅包、閱後即焚、已讀/未讀、位置)App開發者自行定製

可參考我們文件(https://github.com/Xiaomi-mimc/operation-manual)

五、MIMC使用場景

1、實現基礎聊天功能

網頁、app內等引用場景下輕鬆實現基礎聊天功能,包括單聊、群聊、聊天室等,無論你是社交app單聊,還是遊戲內玩家公會聊天接入MIMC都可以輕鬆實現。

2、實現線上客服功能

利用MIMC的一對一聊天通道實現線上客服的業務邏輯功能。

3、實現智慧家居信令傳遞

利用MIMC的訊息傳遞實現智慧家居的信令傳輸。

4、其他功能

MIMC的靈活易擴充套件的訊息型別方便實現其他各種不同型別的訊息的傳送。

六、MIMC vs 競品優勢:

1. 小米MIUI系統級長連線

對於訊息系統而言,長連線是最根本的。小米MIUI作為安卓第一大平臺,早在MIUI V5時代就添加了系統級長連線,小米MIUI優勢是壓倒性的。

2. APP方賬號體系完美契合

目前市場上的訊息雲,APP開發者需要額外申請一套某信賬號,並在服務端明文儲存某信賬號/密碼,維護成本高昂,安全風險極高。

如果接入MIMC,APP開發者絲毫感知不到MIMC賬號體系,所有收發都是用APP賬號,無縫契合,安全性高。

3. 適用場景廣泛

目前市場上的訊息雲,大都只能適用於聊天場景,其他訊息場景不能支援。MIMC則可以支援智慧硬體信令/聊天/客服/推送等任何訊息傳遞場景。

4. 全平臺支援

Android/iOS/Web/C/Java/Go等全平臺/多語言支援,一期支援Android/iOS/Web三平臺,後續會根據使用者需要支援更多平臺/語言。

5. 訊息格式100%自定義高靈活度

目前市場上的訊息雲大都在聊天內容/格式自定義方面程度低,擴充套件性差。MIMC不對訊息內容/格式進行限制,採用自定義二進位制協議,APP可根據自己需求,靈活定製訊息格式,傳遞更契合APP自身需求的資料。

6. 極簡API設計

基於全新的api設計大大簡化了app開發者的接入成本,3分鐘即可實現聊天功能。

API示例:

user.sendMessage(String appAccount, byte[]); // 返回值為packetId

user.sendGroupMessage(long groupId, byte[]); // 返回值為packetId

user.registerMessageHandler(MIMCMessageHandler handler);

interface MIMCMessageHandler {

public void handleMessage(List<MIMCMessage> packets);

public void handleGroupMessage(List<MIMCGroupMessage> packets);

public void handleServerAck(String packetId);

}

7. 完全免費

秉承小米的一貫的開放共贏原則,現階段MIMC完全免費。

七、MIMC架構Demo展示

說明:

1.許可權驗證:使用者賬號許可權驗證基於App自己的伺服器,MIMC通過App伺服器返回的驗證結果進行後續操作。如果通過再將應用相關資訊發到TokenService伺服器,返回token用於接下來與FE的通訊。

2.PushService:後臺服務發訊息給某些使用者。直接填寫App資訊、account資訊即可傳送訊息。提供給後臺服務傳送訊息能力。

iOS Demo

Android Demo

Web Demo

至此相信你對小米即時訊息雲服務已經有了比較直觀的瞭解,如果想進一步瞭解請複製連結到瀏覽器開啟或者點選閱讀原文

最後祝廣大開發者早日用上MIMC實現即時通訊功能,安心回家過年,新年大吉,業務蒸蒸日上。

歡迎關注小米即時通訊雲微信公眾號及時獲取更多資訊。

QQ群二維碼見下圖:

閱讀原文