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 文件内容如图:
全部 SDK 文件内容如图:
在 拖入相关SDK时,注意以下操作:
1.2.1接下来,便是导入系统依赖库target — > Build Phases — > Link Binary With Libraries
1.2.2 因为SDK采用的C代码编写,所以需要设置混编模式,如图
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的发布,推送也做了相应调整 ,需要如下操作
这时候,SDK导入,及相关配置也就差不多了
2.下面介绍SDK中各种类的含义,以及使用
2.1 首先:需要AppDelegate 中 didFinishLaunchingWithOptions 方法中,先设置ECDevice 的代理类,这个代理类遵循ECDeviceDelegate协议,这个代理类主要就是用来响应其他客户端的呼叫回调事件,以及处理每个呼叫事件,分别做出什么响应
其中,用户信息类
认证模式
/** 正常认证模式,服务器认证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
接下来,就是进行登录,通过构造上面提到的ECLoginInfo登录信息类,即可进行登录(其实就是和服务器建立连接)
当然,也可以设置用户的一个名称,手机号等信息
然后是拨打电话,在调用拨打方法时,我们看一下
注意:拨打电话方法返回的callid需要存储起来,在接受和拒绝方法中都会使用到这个callid
如果是发起视频通话的时候,还需要设置视频视图
当你完成了以上所以步骤的时候,相信你的音视频功能已基本实现,因为容联云已经把音视频的底层实现封装的非常好了, 所以我们只需要调用他们提供的方法即可实现,而可能麻烦的就是一些页面的布局,以及处理回调事件和弹出视图的相互协调,这里给大家一个好的介意,那就是使用通知,通过发送通知的方式,去完成一些页面的跳转, 你会发现省去了不少的麻烦,和逻辑