欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS聊天客服功能(Udesk)

程序员文章站 2023-08-02 21:16:01
前言: 在商城或者需要用户和平台交流的APP中需要用到客服功能。接下来会讲解Udesk客服功能的实现。技术文档在Udesk官网可以看到,本文讲述在项目中的集成实现流程。客服使用的PC端交流工具账号在公司客服手中,作者也没权限。想了解的开发者可联系作者,作者私下交流。 集成SDK: pod 'Udes ......

前言:

在商城或者需要用户和平台交流的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/