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/

上一篇:db mysql / mysql cluster 5.7.19 / useServerPrepStmts / cachePrepStmts


下一篇:lyt经典版MySQL基础——进阶6:连接查询-sql92语法-内连接