Udesk接入-------1,初步接入

最近公司项目需求,接入客服类的SDK

1.最开始集成了---智齿的SDK(后面发现不合适就换了Udesk)

2.集成UDESK(SDK)官网地址  UDESK官网

写这个帖子,是估计后续会有很多这方面的深入开发,网上对于这个UDESK的介绍或者开发博客很少,想记录下,以后或许自己也再次 用得上

以上是一个背景吧

 

开发文档-Udesk

这个图是,Udesk-sdk官方的的代码结构图

吐槽一下:这个SDK,他们还没做成依赖,必须你下他们代码DEMO,然后自己项目里面加一个module,引入进去

 

SDK下载地址

https://github.com/udesk/UdeskSDK-Android

 

一.初始管理员后台创建应用是生成的对应app key 和 app id

KEY ID的配置去后台里面配置就行了

 UdeskSDKManager.getInstance().initApiKey(context, "you domain","App Key","App Id");

  注意:域名不要带有http://部分,加入注册生成的域名是"http://udesksdk.udesk.cn/" ,只要传入"udesksdk.udesk.cn"

 

二.设置UdeskConfig配置信息。

说明:配置的功能根据你们实际的需要进行选择,都有默认行为。 最基本设置用户的基本信息 setDefualtUserInfo

 

  默认系统字段是Udesk已定义好的字段,开发者可以直接传入这些用户信息,供客服查看。
      String sdktoken = “用户唯一的标识”;
      Map<String, String> info = new HashMap<String, String>();
      **//sdktoken 必填**
      info.put(UdeskConst.UdeskUserInfo.USER_SDK_TOKEN, sdktoken);
      //以下信息是可选
      info.put(UdeskConst.UdeskUserInfo.NICK_NAME,"昵称");
      info.put(UdeskConst.UdeskUserInfo.EMAIL,"[email protected]");
      info.put(UdeskConst.UdeskUserInfo.CELLPHONE,"15651818750");
      info.put(UdeskConst.UdeskUserInfo.DESCRIPTION,"描述信息")

      只设置用户基本信息的配置
      UdeskConfig.Builder builder = new UdeskConfig.Builder();
    builder.setDefualtUserInfo(info)
    UdeskSDKManager.getInstance().entryChat(getApplicationContext(), builder.build(), sdkToken);

一些配置信息

 UdeskConfig.Builder builder = new UdeskConfig.Builder();
        builder.setUdeskTitlebarBgResId(R.color.udesk_titlebar_bg1) //设置标题栏TitleBar的背景色
                .setUdeskTitlebarTextLeftRightResId(R.color.udesk_color_navi_text1) //设置标题栏TitleBar,左右两侧文字的颜色
                .setUdeskIMLeftTextColorResId(R.color.udesk_color_im_text_left1) //设置IM界面,左侧文字的字体颜色
                .setUdeskIMRightTextColorResId(R.color.udesk_color_im_text_right1) // 设置IM界面,右侧文字的字体颜色
                .setUdeskIMAgentNickNameColorResId(R.color.udesk_color_im_left_nickname1) //设置IM界面,左侧客服昵称文字的字体颜色
                .setUdeskIMTimeTextColorResId(R.color.udesk_color_im_time_text1) // 设置IM界面,时间文字的字体颜色
                .setUdeskIMTipTextColorResId(R.color.udesk_color_im_tip_text1) //设置IM界面,提示语文字的字体颜色,比如客服转移
                .setUdeskbackArrowIconResId(R.drawable.udesk_titlebar_back) // 设置返回箭头图标资源id
                .setUdeskCommityBgResId(R.color.udesk_color_im_commondity_bg1) //咨询商品item的背景颜色
                .setUdeskCommityTitleColorResId(R.color.udesk_color_im_commondity_title1) // 商品介绍Title的字样颜色
                .setUdeskCommitysubtitleColorResId(R.color.udesk_color_im_commondity_subtitle1)// 商品咨询页面中,商品介绍子Title的字样颜色
                .setUdeskCommityLinkColorResId(R.color.udesk_color_im_commondity_link1) //商品咨询页面中,发送链接的字样颜色
                .setUserSDkPush(set_sdkpush.isChecked()) // 配置 是否使用推送服务  true 表示使用  false表示不使用
                .setOnlyUseRobot(set_use_onlyrobot.isChecked())//配置是否只使用机器人功能 只使用机器人功能,只使用机器人功能;  其它功能不使用。
                .setUdeskQuenuMode(force_quit.isChecked() ? UdeskConfig.UdeskQuenuFlag.FORCE_QUIT : UdeskConfig.UdeskQuenuFlag.Mark)  //  配置放弃排队的策略
                .setUseVoice(set_usevoice.isChecked()) // 是否使用录音功能  true表示使用 false表示不使用
                .setUsephoto(set_usephoto.isChecked()) //是否使用发送图片的功能  true表示使用 false表示不使用
                .setUsecamera(set_usecamera.isChecked()) //是否使用拍照的功能  true表示使用 false表示不使用
                .setUsefile(set_usefile.isChecked()) //是否使用上传文件功能  true表示使用 false表示不使用
                .setUseMap(set_usemap.isChecked()) //是否使用发送位置功能  true表示使用 false表示不使用

举个例子

public class UdeActivity extends BaseActivity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        StatusBarSpecial.applyStatusBarStyle(this);
        UdeskSDKManager.getInstance().initApiKey(UdeActivity.this, "XXXXXXX", "XXXXXX", "XXXXXX");


        Map<String, String> info = new HashMap<String, String>();
        info.put(UdeskConst.UdeskUserInfo.USER_SDK_TOKEN, "12345678901234");
        //以下信息是可选
        info.put(UdeskConst.UdeskUserInfo.NICK_NAME,"杨彬");
        info.put(UdeskConst.UdeskUserInfo.EMAIL,"[email protected]");
        info.put(UdeskConst.UdeskUserInfo.CELLPHONE,"13723898358");
        info.put(UdeskConst.UdeskUserInfo.DESCRIPTION,"描述信息");

        UdeskConfig.Builder builder = new UdeskConfig.Builder();
        builder.setDefualtUserInfo(info);
        UdeskSDKManager.getInstance().entryChat(getApplicationContext(), builder.build(), "12345678901234");

    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            finish();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}

 

3. 启动聊天

(1)启动聊天界面

        UdeskSDKManager.getInstance().entryChat(getApplicationContext(), builder.build(), "12345678901234");

(2)启动帮助界面

UdeskSDKManager.getInstance().toLaunchHelperActivity(this);

(3)直接启动客服界面(不需要配置以上内容)

UdeskSDKManager.getInstance().toLaunchChatActivity(this);

以上这些还只是仅仅接入SDK,初步实现能聊,能用,后续需求的深入,再来继续整合文章,总结

Guess you like

Origin blog.csdn.net/yangbin0513/article/details/96110378
Recommended