天天看點

iOS:內建環信EaseMobSDK單聊功能

當然在內建環信之前需要一些準備操作:

以下是我內建的檔案:使用

  libEaseMobClientSDK.a包

  ChatDemo-UI3.0中的ChatView中的聊天控制器

iOS:內建環信EaseMobSDK單聊功能

我主要使用EaseMob中這個EaseSDKHelper單例類來注冊、登入、擷取最新消息、推送等

在App啟動程式時:

iOS:內建環信EaseMobSDK單聊功能

進入EaseSDKHelper單例類中,添加一些自定義的方法

iOS:內建環信EaseMobSDK單聊功能

 View Code

在會話清單控制器中:

iOS:內建環信EaseMobSDK單聊功能

在聊天控制器中,直接內建ChatViewController

iOS:內建環信EaseMobSDK單聊功能

在自定義的會話清單cell中,顯示會話聯系人、最後一條記錄、時間

iOS:內建環信EaseMobSDK單聊功能

消息提醒按鈕

iOS:內建環信EaseMobSDK單聊功能

最後在TabbarController中檢測未讀消息

iOS:內建環信EaseMobSDK單聊功能

測試後:

iOS:內建環信EaseMobSDK單聊功能
iOS:內建環信EaseMobSDK單聊功能

以上隻是實作了單聊和群聊的功能,那麼實時語音和視訊如何實作呢,下面這個就是幹貨:

1.內建實時通話的前提是內建好單聊,并且使用的是libEaseMobClientSDK.a包,因為這個包 包含實時通話的功能

2.将demo3.0中的Call檔案(實時通話的界面)以及Resources(通話界面的資源圖檔)加到你自己的工程中

3.點選實時通話或者視訊的按鈕,實際是發起的通知,在你工程中的主要制器中監聽這個通知,在通知的方法中實作發起實時通話的方法以及跳轉到通話界面

4.接收實時通話的回調是  - (void)callSessionStatusChanged:(EMCallSession *)callSession changeReason:(EMCallStatusChangedReason)reason error:(EMError *)error  

5.實時通話用的協定是:EMCallManagerDelegate    代理:[[EaseMob sharedInstance].callManager addDelegate:self delegateQueue:nil];

6.具體添加哪些方法看下上傳的ViewController檔案,按照這個檔案中的方法加到自己的主要制器中,demo中的實作在MainViewController.m類

代碼如下:

記得先導入call檔案:這個是用來進行視訊和電話語音的類

iOS:內建環信EaseMobSDK單聊功能
iOS:內建環信EaseMobSDK單聊功能

示範結果如下:經本人測試,在真機上運作沒有問題,實時語音視訊聊天均能夠實作

左邊為電話通話                  右邊為視訊通話

iOS:內建環信EaseMobSDK單聊功能
iOS:內建環信EaseMobSDK單聊功能

以下為參考資料:

本文轉自當天真遇到現實部落格園部落格,原文連結:http://www.cnblogs.com/XYQ-208910/p/5396635.html,如需轉載請自行聯系原作者

繼續閱讀