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/

posted @ 2019-03-05 11:59  hello_小磊  阅读(1119)  评论(0编辑  收藏  举报