1.容聯(lián)云SDK集成指南
對于iOS 客戶端,容聯(lián)云提供了兩種SDK,一種是只有IM功能SDK,第二種是全部功能SDK,這兩種SDK的主要區(qū)別是前者只集成了IM功能,后者除此之外,還集成了音視頻,會議功能,具體使用哪一種,看公司要求
1.1 這是下載地址(根據(jù)你需要自行下載):
http://www.yuntongxun.com/doc/ready/demo/1_4_1_1.html
IM SDK 文件內(nèi)容如圖:
全部 SDK 文件內(nèi)容如圖:
在 拖入相關(guān)SDK時,注意以下操作:
1.2.1接下來,便是導(dǎo)入系統(tǒng)依賴庫target — > Build Phases — > Link Binary With Libraries
1.2.2 因為SDK采用的C代碼編寫,所以需要設(shè)置混編模式,如圖
1.2.3 基本配置完成之后,便是添加權(quán)限了 ,為了方便,我就直接粘貼出來了(大家看著添加)
<key>NSMicrophoneUsageDescription</key><string>是否允許使用麥克風(fēng)權(quán)限?</string>
<key>NSContactsUsageDescription</key><string>是否允許使用通訊錄權(quán)限?</string>
<key>NSCameraUsageDescription</key><string>是否允許使用攝像頭權(quán)限?</string>
<key>NSBluetoothPeripheralUsageDescription</key><string>是否允許使用藍(lán)牙權(quán)限?</string>
<key>NSRemindersUsageDescription</key><string>是否允許使用提醒事項權(quán)限?</string>
<key>NSMotionUsageDescription</key><string>是否允許使用運動與健康權(quán)限?</string>
<key>NSCalendarsUsageDescription</key><string>是否允許使用日歷權(quán)限?</string>
由于iOS 10的發(fā)布,推送也做了相應(yīng)調(diào)整 ,需要如下操作
這時候,SDK導(dǎo)入,及相關(guān)配置也就差不多了
2.下面介紹SDK中各種類的含義,以及使用
2.1 首先:需要AppDelegate 中 didFinishLaunchingWithOptions 方法中,先設(shè)置ECDevice 的代理類,這個代理類遵循ECDeviceDelegate協(xié)議,這個代理類主要就是用來響應(yīng)其他客戶端的呼叫回調(diào)事件,以及處理每個呼叫事件,分別做出什么響應(yīng)
其中,用戶信息類
認(rèn)證模式
/** 正常認(rèn)證模式,服務(wù)器認(rèn)證appKey、appToken、username字段 默認(rèn)值 */
LoginAuthType_NormalAuth = 1,
/** 密碼認(rèn)證模式,服務(wù)器認(rèn)證appKey、username、userPassword字段 */
LoginAuthType_PasswordAuth = 3,
/** MD5 Token認(rèn)證方式,服務(wù)器認(rèn)證appKey、username、timestamp、MD5Token字段
* (該鑒權(quán)方式是最安全的方式,用戶在自己的服務(wù)器根據(jù)規(guī)則生成MD5,在不暴露apptoken的情況下進(jìn)行鑒權(quán),且生成的MD5 Token在平臺上有失效時間)
*/
LoginAuthType_MD5TokenAuth = 4,
/** 臨時密碼認(rèn)證模式(臨時密碼有一定的有效期,有效期過后需要重新生成臨時密碼進(jìn)行認(rèn)證) */
LoginAuthType_TempPasswordAuth = 5
登錄模式
/** 用戶輸入密碼登錄模式,可以把其他設(shè)備踢出 默認(rèn)值*/
LoginMode_InputPassword = 1,
/** 直接讀取配置登錄,如果賬號在其他設(shè)備登錄過,驗證失敗,錯誤碼是被踢出 */
LoginMode_AutoInputLogin = 2
接下來,就是進(jìn)行登錄,通過構(gòu)造上面提到的ECLoginInfo登錄信息類,即可進(jìn)行登錄(其實就是和服務(wù)器建立連接)
當(dāng)然,也可以設(shè)置用戶的一個名稱,手機(jī)號等信息
然后是撥打電話,在調(diào)用撥打方法時,我們看一下
注意:撥打電話方法返回的callid需要存儲起來,在接受和拒絕方法中都會使用到這個callid
如果是發(fā)起視頻通話的時候,還需要設(shè)置視頻視圖
當(dāng)你完成了以上所以步驟的時候,相信你的音視頻功能已基本實現(xiàn),因為容聯(lián)云已經(jīng)把音視頻的底層實現(xiàn)封裝的非常好了, 所以我們只需要調(diào)用他們提供的方法即可實現(xiàn),而可能麻煩的就是一些頁面的布局,以及處理回調(diào)事件和彈出視圖的相互協(xié)調(diào),這里給大家一個好的介意,那就是使用通知,通過發(fā)送通知的方式,去完成一些頁面的跳轉(zhuǎn), 你會發(fā)現(xiàn)省去了不少的麻煩,和邏輯