# iOS集成文档
相关限制及注意事项
1、iOS SDK新版支持 iOS9 以上版本。
2、目前发布xcode版本为XCode 13.0,建议使用新版开发
3、iOS需要申请麦克风权限,否则功能无法使用
4、SDK不可与智齿app中的呼叫功能以及智齿PC工作台中呼叫功能同时使用
智齿客服呼叫SDK具有以下特性
- 语音电话:键盘拨号、发起语音通话;
- 资源文件可以在SobotCall.bundle中替换
# 1 文档介绍
# 1.1 集成流程示意图
# 1.2.文件说明
SDK包含(SobotCall.framework、SobotCall.bundle、Frameworks)和SobotDemo、Doc相关说明文档。
文件名 | 说明 | 备注 |
---|---|---|
SobotCall.framework | 呼叫SDK代码库 | |
SobotCall.bundle | SDK资源库,包含图片文件、音频文件 | |
ZCSobotCallApi.h | 关键功能操作类 | |
SobotCallInfo.h | 功能配置类 | |
SCUIConfig.h | UI配置类 | |
Frameworks | 需要添加的依赖库 |
# 2 集成方式
使用客服SDK需要加入的权限
<key>NSMicrophoneUsageDescription</key>
<string>语音电话需要使用您的麦克风权限</string>
# 2.1 手动集成
# step1 将集成包并导入到项目中
下载并解压iOS_SobotCallSDK,添加必要文件SobotCall.framework和SobotCall.bundle以及Frameworks依赖库到你的工程里。
# step2 需要导入以下framework依赖库
belr.framework
mediastreamer2.framework
msopenh264.framework
bctoolbox.framework
mswebrtc.framework
msamr.framework
linphonetester.framework
ortp.framework
mscodec2.framework
mssilk.framework
belcard.framework
msx264.framework
linphone.framework
# step3 配置启动参数SobotCallInfo
配置参数SobotCallInfo用于话机登录,该配置类中参数获取请联系智齿售后人员获取 SobotCallInfo 参数说明
//配置参数样例:
SobotCallInfo *sobotCallInfo = [[SobotCallInfo alloc]init];
sobotCallInfo.companyid = @"您的企业ID";
sobotCallInfo.sip_number = @"142160000";
sobotCallInfo.appid = @"a4b246c8b67e4543b3b870ce62f75546";
sobotCallInfo.client_secret = @"f6943eb4fbf144e2949d7538ee2cc665";
sobotCallInfo.agentid = @"969a7ee9fd4c42f48171b0128df2f16c";
sobotCallInfo.agent_phone_num = @"18600978969";
sobotCallInfo.groupid = @"36b0f8eb2de948d99e89c8f0c3d92e68_5";
sobotCallInfo.is_iecord_stereo = NO;
sobotCallInfo.sip_pwd = @"xjw2nz2a";
sobotCallInfo.display_number = @"01051393569";
sobotCallInfo.sip_address = @"39.105.93.78:7880";
# step4 话机登录启动SDK
# 2.2 pod集成
pod 'SobotCall', '~> 0.0.2.1'
// 注意: 普通github源下载较慢可以选择gitee源下载
// -> SobotCallSDK (0.0.1)
// sobot_call_sdk.
// pod 'SobotCallSDK', '~> 0.0.1'
// - Homepage: https://gitee.com/ZCSobot/sobotcallsdk.git
// - Source: https://gitee.com/ZCSobot/sobotcallsdk.git
// - Versions: 0.0.1 [master repo]
方式一:普通方式启动
[[ZCSobotCallApi getInstance] loginWithSobotCallInfo:sobotCallInfo sobotCallListenBlock:^(id _Nonnull object) {
}];
方式二:如您已获取到token直接以token方式登录话机
[[ZCSobotCallApi getInstance] loginWithTokenWithCallInfo:sobotCallInfo access_token:_info.access_token sobotCallListenBlock:^(id _Nonnull object) {
}];
【注意】sobotCallInfo为语音电话的启动配置信息,不可为空
# 3 模块功能说明
# 3.1 域名设置(可选)
【说明:host 请联系智齿售后人员获取】
域名说明:
* 默认域名为:https://sobot.com/comm * 如果您是本地化部署,请使用自己的部署的服务域名
如果您是本地化部署 设置域名方式如下
[[ZCSobotCallApi getInstance] setApiHost:@""];
# 3.2 跳转到拨号界面
该方法在话机登录成功后调用,唤起拨号界面,输入您要拨打的电话号码进行呼叫
/**
* 跳转到拨号界面
* 该方法需在登录成功之后使用
* @param userPhoneNumber 用户的电话号,可为空,有值的话会自动带入到拨号界面
* @param userNick 用户的昵称,可为空,有值的话会自动带入到拨号界面
* @param callBlock 呼叫回调
*/
-(void)openCallPhoneNumberWithPhoneNumber:(NSString *)userPhoneNumber userNick:(NSString *)userNick callBlock:(void (^)(id object))callBlock;
# 3.3 直接发起通话
该方法在话机登录成功后,传入对应的用户电话号码发起呼叫,直接唤起呼叫页面 【注意: 电话号码不能为空】
/**
* 发起通话
* 该方法需在登录成功之后使用
* @param userPhoneNumber 用户的电话号, 不能为空
* @param userNick 用户的昵称 可为空
* @param callBlock 呼叫回调
*/
-(void)startCallWithPhoneNumber:(NSString *)userPhoneNumber userNick:(NSString *)userNick callBlock:(void (^)(id object))callBlock;
# 3.4 监听通话状态的变化
监听状态: 用户来电、用户响铃中、通话中、通话结束
-(void)setCallListener:(void (^)(SobotVoipCallListenerState state))listenerBlock;
# 3.5 离线退出
呼叫坐席离线,退出SDK
- (void)exitSobotCall:(void (^)(id object))exitBlock;
# 4 资源配置
# 4.1图片和音频资源文件修改
图片和音频资源请在 SobotCall.bundle 中找到相应的文件名做替换 【注意:替换文件时文件名不可以修改,否则SDK会找不到对应的资源】
# 4.2拨号界面UI控件颜色修改
拨号页面控件颜色修改样例如下:
SCUIConfig *uiconfig = [SCUIConfig new];
uiconfig.numberTextColor = [UIColor redColor];
[ZCSobotCallApi getInstance].uiConfig = uiconfig;
# 5配置类说明
# 5.1 SobotCallInfo 参数说明
属性名 | 说明 | 备注 |
---|---|---|
appid | 应用id | |
client_secret | 秘钥,即创建app时返回的token值 | |
companyid | 企业ID | |
access_token | token 登录接口使用 (备注 根据登录api 是否传入,如果传入就使用传入的token覆盖,没有就通过client_secret 、companyId调用获取token接口去获取) | |
agent_state | 坐席状态 (可选) | |
display_number | 坐席手机登录时,回呼坐席手机的外显号码,以及坐席转接或咨询第三方时,呼叫第三方号码的外显号码 | |
agent_phone_num | 特殊时使用,此字段代表voip账号上班,但呼入时是转到坐席的指定的手机号,只有呼出时才使用voip账号呼出 | |
groupid | 所在技能组 | |
agentid | 坐席ID | |
callWay | 呼叫方式 SIP=2(SDK中默认2) | |
sip_number | SIP账号 | |
sip_address | 域名 注册sip话机使用 | |
sip_pwd | sip密码 |
# 5.2 SCUIConfig 参数说明
属性名称 | 数据类型 | 说明 | 备注 |
---|---|---|---|
numberTextColor | UIColor | 拨号界面数字的文字颜色 (1 2 3 4 5 6 7 8 9 0) | |
charTextColor | UIColor | 拨号界面字母文字颜色 (abc 、# 等) | |
accpetViewBgColor | UIColor | 接听页面背景色 | |
callViewBgColor | UIColor | 拨号界面 电话号 区域 背景色 | |
callViewKeyBoardBgColor | UIColor | 拨号界面 键盘 区域 背景色 | |
accpetViewTextColor | UIColor | 通话界面 文字颜色 |
# 5.3 SobotVoipCallListenerState 说明
状态名称 | 数据类型 | 说明 | 备注 |
---|---|---|---|
SobotVoipCallListenerStateNewCall | int | 外呼成功 | |
SobotVoipCallListenerStateCalled | int | 来电响铃状态 | |
SobotVoipCallListenerStateHandup | int | 挂断 | 通话挂断 |
SobotVoipCallListenerStateCallClose | int | 通话结束 | |
SobotVoipCallListenerStateCallReading | int | 通话中 | |
SobotVoipCallListenerStateAfterWorkSuccess | int | 坐席下班成功 |
# 6 功能体验Demo
iOS_SDKDemo源码点击下载
1.下载iOS_SDKDemo源码包从上面的地址
2.将iOS_SobotCallSDK解压后的文件 Frameworks、SobotCall.bundle、SobotCall.framework导入到您的项目中
3.输入配置参数(SobotCallInfo配置类中的属性)
4.点击登录 查看日志是否登录成功
5.拨号
视频教程使用视频引导
# 7 更新说明
# 8 隐私政策说明
呼叫SDK需要在APP中开启麦克风权限
← 概述 Android集成文档 →