iOS SDK
# iOS 集成说明
智齿客服SDK提供了 APP 接入客服接待客服的能力,只需简单嵌入即可实时监听并处理客户咨询,无需下载智齿 APP 也能实现手机端的在线客户接待。
在线客服 SDK 具有以下特性:
- 在线咨询:客服和用户实时聊天,可收发图片、视频、表情等消息。
- 关注用户,智能回复,快捷回复,会话总结,邀请用户评价。
- 高度自定义 UI。
相关限制及注意事项:
1、iOS SDK 新版支持 iOS8 以上版本。
2、目前发布 XCode 版本为 XCode 12.0,建议使用新版开发。
3、iOS 目前仅仅支持超链接标签,其他 Html 标签和属性均不识别。
4、iOS 需要申请麦克风、相机、相册权限,否则部分功能无法使用。
# 文档介绍
# ● 集成流程示意图
# ● 文件说明
SDK 包含(SobotOnline.framework 和 SobotOnline.bundle)、SobotDemo、和 Doc 相关说明文档。
文件 | 描述 |
---|---|
SobotOnline.framework | 智齿SDK代码库 |
SobotOnline.bundle | SDK资源库,包含图片文件、多语言文件、颜色 |
SobotOnlineService.h | 关键功能操作类 |
SobotOnlineConfig.h | 功能配置类 |
SobotCache.h | 基础框架设置类 |
# ● 权限说明
使用在线客服 SDK 需要加入的权限:
<key>NSCameraUsageDescription</key>
<string>发送图片需要访问相机</string>
<key>NSMicrophoneUsageDescription</key>
<string>发送语音需要访问麦克风</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>发送图片需要访问相册</string>
2
3
4
5
6
7
8
# 集成方式
# ● 手动集成
下载链接:
下载并解压 iOS_OnlineSDK (opens new window),添加必要文件 SobotOnline.framework 和 SobotOnline.bundle 到你的工程里。
# ● CocoaPods集成
集成代码,在 podfile 中加入:
pod 'SobotOnlineSDK'
2
如果查询不到库,请清除pod缓存:
// 搜索不到最新版本
pod cache clean --all
rm -rf ~/Library/Caches/CocoaPods
pod repo update
删除代码中的pod 文件夹,
pod cache clean 插件名
再重新 pod install
2
3
4
5
6
7
8
9
# 功能说明
# ● 初始化和域名设置
【说明:appid、app_key 请联系智齿售后人员获取;如果使用 token 方式接入,请参考接口文档获取 token (opens new window)。】
域名说明:
* 默认 SaaS 平台域名为:https://api.sobot.com。
* 如果您是腾讯云服务,请设置为:https://ten.sobot.com。
* 如果您是本地化部署,请使用自己的部署的服务域名。
方式一:以 appid 和 appkey 方式初始化 SDK。
示例代码:
/// 初始化SDK,设置域名,获取token
/// @param appid 公司appid
/// @param appkey 商户appkey
/// @param host 可以为空,默认阿里云服务;如果需要,请设置自己的域名
+(void)initWithAppid:(NSString *) appid appkey:(NSString *) appkey host:(NSString * __nullable) host result:(void (^)(id object))resultBlock;
// lg:
[SobotOnlineService initWithAppid:@"你的appid" appkey:@"你的appkey" host:@"https://test.sobot.com" result:^(id _Nonnull object) {
}];
2
3
4
5
6
7
8
9
10
11
12
13
14
15
方式二:直接以 token 方式初始化SDK。
/// 初始化SDK,设置域名和认证token
/// @param token 认证token
/// @param host 可以为空,默认阿里云服务;如果需要,请设置自己的域名
/// @param resultBlock 返回结果
+(void)initWithToken:(NSString *) token host:(NSString * __nullable) host result:(void (^)(id object))resultBlock;
2
3
4
5
6
7
# ● 资源配置
可选,默认为以下值,可自定义资源库。
//指定加载的bundle名称,默认SobotOnline
[SobotCache shareSobotCache].sobotCacheEntity.bundleName = @"SobotOnline";
//指定加载的颜色文件名称,默认SobotColor
[SobotCache shareSobotCache].sobotCacheEntity.colorTableName = @"SobotColor";
2
3
4
5
6
7
8
# ● 启动页面
详情见 Demo 调用代码,主要调用代码如下:
【注意:启动页面之前,必须调用初始化接口 initWithAppid,否则将无法启动。】
接口:
/// 启动客服认证页面
/// @param account 客服账户(邮箱)
/// @param loginStatus 登录状态 2:忙碌,1:在线,0默认
/// @param byController 启动的controller
+(void)startAuthWithAcount:(NSString *) account status:(int) loginStatus vc:(UIViewController *) byController result:(void (^)(id object))resultBlock;
2
3
4
5
6
7
8
9
10
参数:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
account | NSString | 是 | 客服邮箱 |
status | int | 是 | -1. 为不置顶,0. 忙碌,1. 在线。 |
resultBlock | Block | 否 | 启动结果状态回调 |
示例代码:
#import <SobotOnline/SobotOnline.h>
[SobotOnlineService startAuthWithAcount:@"zhangxy@sobot.com" status:1 vc:self result:^(id _Nonnull object) {
}];
2
3
4
5
6
7
# ● 接口说明
# 1. 登录
静默上线客服,登录后如果客服为在线状态,能收到实时消息监听。
#import <SobotOnline/SobotOnline.h>
/// 仅登录客服,不执行页面逻辑
/// @param account 客服账户(邮箱)
/// @param loginStatus 登录状态 2:忙碌,1:在线,0使用默认值
/// @param resultBlock 登录结果
[SobotOnlineService doLoginWithAccount:@"zhangxy@sobot.com" status:1 result:^(id _Nonnull object) {
}];
2
3
4
5
6
7
8
9
10
11
12
13
# 2. 退出登录
离线当前客服。
#import <SobotOnline/SobotOnline.h>
/// 手动离线客服
[SobotOnlineService outAdmin];
2
3
4
5
6
7
# 3. 获取未读消息
获取当前未读消息总数,本地消息,重新登录会清空。
#import <SobotOnline/SobotOnline.h>
/// 获取未读消息数
int num = [SobotOnlineService getUnReadNumber];
2
3
4
5
6
7
# 4. 设置消息监听
代理方式和 block 方式可任选一个监听。
#import <SobotOnline/SobotOnline.h>
// 以block方式
[SobotOnlineService setReceiveMessageBlock:^(id message, int nleft, NSDictionary *object) {
}];
// 设置代理方式
[SobotOnlineService setReceiveMessageDelegate:self];
//设置消息链接点击监听; 返回YES自己处理,内部不会再做处理
[SobotOnlineService setSobotLinkBlock:^BOOL(id object, NSString *linkUrl) {
if([linkUrl isEqual:@"我喜欢"]){
// do something
return YES;
}
return NO;
}];
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 5. 功能配置
以属性方式配置部分功能、配置颜色配置功能显影等,暂未使用。
例如(是否自动提醒):
SobotOnlineConfig *config = [SobotOnlineService getCurOnlincConfig];
config.autoNotifaction = YES;
[SobotOnlineService configSobotOnline:config];
2
3
4
5
# 源码和Demo
点击下载 Demo 源码 (opens new window);
点击查看 Demo 使用教程 (opens new window)
# 更新说明
<<SDK 更新说明>> (opens new window)
# 智齿科技 SDK 收集使用个人信息说明
← Android SDK 消息推送→