環信 即時通信的集成

日活不超過30萬條,是無償使用的。數據庫

1.消息的發送機制:緩存

在線狀態:客戶端A發送消息到環信服務器,環信服務器推送消息到客戶端B。服務器

離線狀態:客戶端A發送消息到環信服務器,環信服務器檢測到客戶端B不在線,會添加到離線緩存中,當客戶端B登陸後服務器會把離線消息推送給客戶端B。併發

須要配置推送證書,才能實現離線推送。異步

2. 3.0版本 中的核心類爲 EMClient 類,經過 EMClient 類能夠獲取到 chatManager、groupManager、contactManager、roomManager對象。原來 2.0 版本的 SDK 不少方法提供了同步、異步回調、異步(block)三種方法,3.0 版只提供同步方法(async開頭的方法爲異步方法)async

3.消息:環信SDK 接收到消息後,會默認下載:圖片消息的縮略圖,語音消息的語音,視頻消息的視頻第一幀,其餘的須要咱們本身調用接口,進行下載。佈局

4.羣組:分爲四種類型,人數的上限爲2000個。url

5.聊天室:成員上限爲5000,不支持客戶端常建聊天室和進行邀請。spa

6.發送紅包,新用戶能夠免費發送累計5000元總額的紅包,超過5000元后,紅包功能自動關閉。視頻

7.發送電子名片的思路:利用擴展消息進行發送,擴展消息中的ext屬性是字典類型,能夠存儲發送名片的用戶的名字、頭像的地址等信息,自定義cell的類,定義好界面的佈局,接收到消息以後,進行數據展現便可。

8.環信發送圖片、視頻、音頻等附件的原理:有一個文件服務器接收文件,並返回一個url的地址,將該url地址發送給接收方,接收方再根據url地址,進行下載顯示。

9.閱後即焚功能的實現:在擴展消息中有閱後即焚的標識,b接收到消息時,根據該標識判斷是不是閱後即焚,是的話,刪除該消息,併發送回調,a接收到回調,從本地查詢該消息回執對應的消息是不是閱後即焚消息,若是是就刪除本地消息並更新顯示。

10.消息回撤的實現:

A用戶發消息給B用戶,當須要回撤的時候,將要回撤消息的id經過擴展消息發送給B,B檢測到回撤的透傳消息後,將對應 messageid 的消息從數據庫刪除。

  1. A用戶發送消息。
  2. A用戶須要撤回某條消息,將消息id經過擴展消息發送到用戶B。
  3. B用戶收到擴展消息,解析其中的messageid,從數據庫刪除對應消息。
相關文章
相關標籤/搜索