iOS聊天客服功能(Udesk)
前言:
在商城或者需要用户和平台交流的APP中需要用到客服功能。接下来会讲解Udesk客服功能的实现。技术文档在Udesk官网可以看到,本文讲述在项目中的集成实现流程。客服使用的PC端交流工具账号在公司客服手中,作者也没权限。想了解的开发者可联系作者,作者私下交流。
集成SDK:
pod 'UdeskSDK'
使用的时候导入头文件
#import "Udesk.h"
初始化SDK:
//初始化公司(appKey、appID、domain都是必传字段)
UdeskOrganization *organization = [[UdeskOrganization alloc] initWithDomain:KUdeskDomain appKey:KUdeskAppKey appId:KUdeskAppId];
//注意sdktoken 是客户的唯一标识,用来识别身份,是你们生成传入给我们的。
//sdk_token: 传入的字符请使用 字母 / 数字 等常见字符集 。就如同身份证一样,不允许出现一个身份证号对应多个人,或者一个人有多个身份证号;其次如果给顾客设置了邮箱和手机号码,也要保证不同顾客对应的手机号和邮箱不一样,如出现相同的,则不会创建新顾客。
UdeskCustomer *customer = [UdeskCustomer new];
//必填(请不要使用特殊字符)
customer.sdkToken = self.usermodel.ID;
//非必填
customer.nickName = self.usermodel.nick;
//需要严格按照邮箱规则(没有则不填,不可以为空)
//customer.email = @"test@udesk.cn";
//需要严格按照号码规则(没有则不填,不可以为空)
customer.cellphone = self.usermodel.mobile;
//customer.customerDescription = @"我是测试";
//初始化sdk
[UdeskManager initWithOrganization:organization customer:customer];
注意,昵称和手机号码,最好用自己APP用户的信息,这样和客服交流的时候,客服人员可以轻松知道用户的信息。
打开客服交流页面:
//客服组
//UdeskSDKConfig *sdkConfig = [UdeskSDKConfig customConfig];
//sdkConfig.groupId = @"groupId";
//sdkConfig.agentId = @"agentId";
//头像
UdeskSDKStyle *sdkStyle = [UdeskSDKStyle customStyle];
//通过URL设置头像
sdkStyle.customerImageURL = self.usermodel.avatar;
//表情
UdeskEmojiPanelModel *model = [UdeskEmojiPanelModel new];
//必填
model.emojiIcon = [UIImage imageNamed:@"likeSticker"];
model.bundleURL = [[NSBundle mainBundle] URLForResource:@"Sticker" withExtension:@".bundle"];
//非必填
model.stickerTitles = @[@"愤怒",@"哭泣",@"糟糕",@"冷汗",@"大笑",@"可爱",@"爱",@"流汗",@"害羞",@"睡觉",@"惊讶",@"调皮"];
UdeskSDKConfig *sdkConfig = [UdeskSDKConfig customConfig];
sdkConfig.imagePickerEnabled = YES;
//最大选择图片数量(开启状态)
sdkConfig.maxImagesCount = 1;
//是否支持选择视频(开启状态)
sdkConfig.allowPickingVideo = YES;
//压缩质量 0.1-1(开启状态)
sdkConfig.quality = 0.5f;
//
UdeskSDKActionConfig *actionConfig = [UdeskSDKActionConfig new];
//离开人工IM页面回调
actionConfig.leaveChatViewControllerBlock = ^{
[[NSNotificationCenter defaultCenter] postNotificationName:Notication_CuseterCenterBack object:nil];
[self getCusterCenrerNewsCount];
};
UdeskSDKManager *sdkManager = [[UdeskSDKManager alloc] initWithSDKStyle:sdkStyle sdkConfig:sdkConfig sdkActionConfig:actionConfig];
[sdkManager pushUdeskInViewController:self completion:nil];
//使用present
//[sdkManager presentUdeskInViewController:self completion:nil];
详细文档和账号注册可到Udesk官网操作
地址:http://www.udesk.cn/