iOS 容联云(音视频)集成

作者: LYSNote | 来源:发表于2016-11-15 23:26 被阅读614次

1.容联云SDK集成指南

对于iOS 客户端,容联云提供了两种SDK,一种是只有IM功能SDK,第二种是全部功能SDK,这两种SDK的主要区别是前者只集成了IM功能,后者除此之外,还集成了音视频,会议功能,具体使用哪一种,看公司要求

1.1 这是下载地址(根据你需要自行下载):

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

IM SDK 文件内容如图:

只集成IM功能SDK.png

全部 SDK 文件内容如图:

导入全部功能SDK.png

在 拖入相关SDK时,注意以下操作:

记得勾选上述几项.png

1.2.1接下来,便是导入系统依赖库target — > Build Phases — > Link Binary With Libraries

依赖库.png

1.2.2 因为SDK采用的C代码编写,所以需要设置混编模式,如图

设置混编模式.png 改成-ObjC,注意大小写.png

1.2.3 基本配置完成之后,便是添加权限了 ,为了方便,我就直接粘贴出来了(大家看着添加)

<key>NSMicrophoneUsageDescription</key><string>是否允许使用麦克风权限?</string>
<key>NSContactsUsageDescription</key><string>是否允许使用通讯录权限?</string>
<key>NSCameraUsageDescription</key><string>是否允许使用摄像头权限?</string>
<key>NSBluetoothPeripheralUsageDescription</key><string>是否允许使用蓝牙权限?</string>
<key>NSRemindersUsageDescription</key><string>是否允许使用提醒事项权限?</string>
<key>NSMotionUsageDescription</key><string>是否允许使用运动与健康权限?</string>
<key>NSCalendarsUsageDescription</key><string>是否允许使用日历权限?</string>

由于iOS 10的发布,推送也做了相应调整 ,需要如下操作

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

这时候,SDK导入,及相关配置也就差不多了

2.下面介绍SDK中各种类的含义,以及使用

2.1 首先:需要AppDelegate 中 didFinishLaunchingWithOptions 方法中,先设置ECDevice 的代理类,这个代理类遵循ECDeviceDelegate协议,这个代理类主要就是用来响应其他客户端的呼叫回调事件,以及处理每个呼叫事件,分别做出什么响应

自己创建遵循协议(ECDeviceDelegate)的管理类.png 在AppDelegate中设置ECDevice的代理.png 遵循ECDeviceDelegate协议的管理类要实现的方法.png 1AD241F9-B676-4492-A073-A6448768D46E.png 遵循ECDeviceDelegate协议的管理类要实现的方法.png 遵循ECDeviceDelegate协议的管理类要实现的方法.png

其中,用户信息类

认证模式

   /** 正常认证模式,服务器认证appKey、appToken、username字段 默认值 */
    LoginAuthType_NormalAuth = 1,

    /** 密码认证模式,服务器认证appKey、username、userPassword字段 */
    LoginAuthType_PasswordAuth = 3,

    /** MD5 Token认证方式,服务器认证appKey、username、timestamp、MD5Token字段
     * (该鉴权方式是最安全的方式,用户在自己的服务器根据规则生成MD5,在不暴露apptoken的情况下进行鉴权,且生成的MD5 Token在平台上有失效时间)
     */
    LoginAuthType_MD5TokenAuth = 4,

    /** 临时密码认证模式(临时密码有一定的有效期,有效期过后需要重新生成临时密码进行认证) */
    LoginAuthType_TempPasswordAuth = 5

登录模式

    /** 用户输入密码登录模式,可以把其他设备踢出 默认值*/
    LoginMode_InputPassword = 1,

    /** 直接读取配置登录,如果账号在其他设备登录过,验证失败,错误码是被踢出 */
    LoginMode_AutoInputLogin = 2
登录类信息属性.png

接下来,就是进行登录,通过构造上面提到的ECLoginInfo登录信息类,即可进行登录(其实就是和服务器建立连接)

ECDevice类有这两个方法.png

当然,也可以设置用户的一个名称,手机号等信息

设置个人信息方法.png

然后是拨打电话,在调用拨打方法时,我们看一下

ECDevice的一个代理属性,用于管理音视频事件.png 这个音视频管理类,有这几个方法.png

注意:拨打电话方法返回的callid需要存储起来,在接受和拒绝方法中都会使用到这个callid



如果是发起视频通话的时候,还需要设置视频视图

同样音视频管理类遵循的协议中,有这连个方法用于设置视频视图,以及重置视频视图.png

当你完成了以上所以步骤的时候,相信你的音视频功能已基本实现,因为容联云已经把音视频的底层实现封装的非常好了, 所以我们只需要调用他们提供的方法即可实现,而可能麻烦的就是一些页面的布局,以及处理回调事件和弹出视图的相互协调,这里给大家一个好的介意,那就是使用通知,通过发送通知的方式,去完成一些页面的跳转, 你会发现省去了不少的麻烦,和逻辑

相关文章

网友评论

    本文标题:iOS 容联云(音视频)集成

    本文链接:https://www.haomeiwen.com/subject/vdvlpttx.html