iOS 容聯(lián)云(音視頻)集成

1.容聯(lián)云SDK集成指南

對(duì)于iOS 客戶端,容聯(lián)云提供了兩種SDK,一種是只有IM功能SDK,第二種是全部功能SDK,這兩種SDK的主要區(qū)別是前者只集成了IM功能,后者除此之外,還集成了音視頻,會(huì)議功能,具體使用哪一種,看公司要求

1.1 這是下載地址(根據(jù)你需要自行下載):

http://www.yuntongxun.com/doc/ready/demo/1_4_1_1.html

IM SDK 文件內(nèi)容如圖:

只集成IM功能SDK.png

全部 SDK 文件內(nèi)容如圖:

導(dǎo)入全部功能SDK.png

在 拖入相關(guān)SDK時(shí),注意以下操作:

記得勾選上述幾項(xiàng).png

1.2.1接下來,便是導(dǎo)入系統(tǒng)依賴庫target — > Build Phases — > Link Binary With Libraries

依賴庫.png

1.2.2 因?yàn)镾DK采用的C代碼編寫,所以需要設(shè)置混編模式,如圖

設(shè)置混編模式.png
改成-ObjC,注意大小寫.png

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>是否允許使用提醒事項(xiàng)權(quán)限?</string>
<key>NSMotionUsageDescription</key><string>是否允許使用運(yùn)動(dòng)與健康權(quán)限?</string>
<key>NSCalendarsUsageDescription</key><string>是否允許使用日歷權(quán)限?</string>

由于iOS 10的發(fā)布,推送也做了相應(yīng)調(diào)整 ,需要如下操作

7AFE588B-7810-4A50-88EB-5E372E53CE99.jpg

這時(shí)候,SDK導(dǎo)入,及相關(guān)配置也就差不多了


2.下面介紹SDK中各種類的含義,以及使用

2.1 首先:需要AppDelegate 中 didFinishLaunchingWithOptions 方法中,先設(shè)置ECDevice 的代理類,這個(gè)代理類遵循ECDeviceDelegate協(xié)議,這個(gè)代理類主要就是用來響應(yīng)其他客戶端的呼叫回調(diào)事件,以及處理每個(gè)呼叫事件,分別做出什么響應(yīng)

自己創(chuàng)建遵循協(xié)議(ECDeviceDelegate)的管理類.png
在AppDelegate中設(shè)置ECDevice的代理.png
遵循ECDeviceDelegate協(xié)議的管理類要實(shí)現(xiàn)的方法.png
1AD241F9-B676-4492-A073-A6448768D46E.png
遵循ECDeviceDelegate協(xié)議的管理類要實(shí)現(xiàn)的方法.png
遵循ECDeviceDelegate協(xié)議的管理類要實(shí)現(xiàn)的方法.png

其中,用戶信息類


認(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在平臺(tái)上有失效時(shí)間)
     */
    LoginAuthType_MD5TokenAuth = 4,

    /** 臨時(shí)密碼認(rèn)證模式(臨時(shí)密碼有一定的有效期,有效期過后需要重新生成臨時(shí)密碼進(jìn)行認(rèn)證) */
    LoginAuthType_TempPasswordAuth = 5

登錄模式

    /** 用戶輸入密碼登錄模式,可以把其他設(shè)備踢出 默認(rèn)值*/
    LoginMode_InputPassword = 1,

    /** 直接讀取配置登錄,如果賬號(hào)在其他設(shè)備登錄過,驗(yàn)證失敗,錯(cuò)誤碼是被踢出 */
    LoginMode_AutoInputLogin = 2
登錄類信息屬性.png

接下來,就是進(jìn)行登錄,通過構(gòu)造上面提到的ECLoginInfo登錄信息類,即可進(jìn)行登錄(其實(shí)就是和服務(wù)器建立連接)

ECDevice類有這兩個(gè)方法.png

當(dāng)然,也可以設(shè)置用戶的一個(gè)名稱,手機(jī)號(hào)等信息

設(shè)置個(gè)人信息方法.png

然后是撥打電話,在調(diào)用撥打方法時(shí),我們看一下

ECDevice的一個(gè)代理屬性,用于管理音視頻事件.png
這個(gè)音視頻管理類,有這幾個(gè)方法.png

注意:撥打電話方法返回的callid需要存儲(chǔ)起來,在接受和拒絕方法中都會(huì)使用到這個(gè)callid



如果是發(fā)起視頻通話的時(shí)候,還需要設(shè)置視頻視圖

同樣音視頻管理類遵循的協(xié)議中,有這連個(gè)方法用于設(shè)置視頻視圖,以及重置視頻視圖.png

當(dāng)你完成了以上所以步驟的時(shí)候,相信你的音視頻功能已基本實(shí)現(xiàn),因?yàn)槿萋?lián)云已經(jīng)把音視頻的底層實(shí)現(xiàn)封裝的非常好了, 所以我們只需要調(diào)用他們提供的方法即可實(shí)現(xiàn),而可能麻煩的就是一些頁面的布局,以及處理回調(diào)事件和彈出視圖的相互協(xié)調(diào),這里給大家一個(gè)好的介意,那就是使用通知,通過發(fā)送通知的方式,去完成一些頁面的跳轉(zhuǎn), 你會(huì)發(fā)現(xiàn)省去了不少的麻煩,和邏輯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,523評(píng)論 25 708
  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 13,950評(píng)論 0 15
  • 昨天清理自己的云空間,發(fā)現(xiàn)了很多孩子小時(shí)候的一些成長視頻和相片,再回看時(shí)特別的歡樂,也特別的感慨,現(xiàn)在看來,小小...
    瑩子悅讀書香閱讀 523評(píng)論 0 1
  • 風(fēng)自由嗎 雨自由嗎 水自由嗎 空氣自由嗎 你自由嗎 是什么讓你無法飛翔 每一個(gè)人都是天使 卻丟了翅膀 去尋找讓你飛...
    金晶花閱讀 158評(píng)論 2 3
  • ## zjs 的 2018年 7月 第3周 OKR |目標(biāo)|權(quán)重|關(guān)鍵成果|達(dá)成|實(shí)施步驟| |------|--...
    張建設(shè)閱讀 148評(píng)論 0 0