# Android集成文档

相关限制及注意事项
1、Android SDK 新版支持 api17 以上版本,支持竖屏和横屏。

2、开发工具AS建议升级到3.0以上版本

3、Android SDK 目前仅仅支持超链接标签,其他html标签和属性均不识别

4、Android SDK 需要申请存储、拍照危险权限,否则部分功能无法使用

图片

智齿客服为企业提供了一整套完善的智能客服解决方案。智齿工单SDK 为其提供所有工单支持,仅需提供使用的账户,就能完成一系列的工单操作。

智齿客服SDK具有以下特性

  • 提供登录-使用-退出完整流程。
  • 分2种登录模块,外部登录同步token和常规用户名、密码登录。
  • 支持工单的查询、操作、新建等基础功能;

# 1 文档介绍

# 1.1 集成流程示意图

图片

# 1.2.文件说明

SDK包含源码包(sobotordersdk)、Demo(Sobot_Order_Sdk_Demo_Android)、和Doc相关说明文档。

文件名 说明
SobotOrderApi 该文件提供接入功能

# 2 集成方式

# 2.1 依赖集成

//普通版
api 'com.sobot.zcsdk:ordersdk:1.0.0'

//androidX版
api 'com.sobot.zcsdk:ordersdk_x:1.0.0'

在build.gradle中如下所示:

dependencies {
      api 'com.sobot.zcsdk:ordersdk:1.0.0'
      implementation 'com.squareup.okhttp3:okhttp:4.4.0'
      implementation 'com.android.support:appcompat-v7:28.0.0'
      implementation 'com.android.support:recyclerview-v7:28.0.0'
      implementation 'com.sobot.chat:sobotsupport-glidev4:1.0.8'
      //目前支持常见的3种图片加载库,必须在下面的图片加载库中选择一个添加依赖
      //implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
      //implementation 'com.squareup.picasso:picasso:2.5.2'
      implementation 'com.github.bumptech.glide:glide:4.9.0'
      //在使用4.9.0以上版本的glide时,需额外添加依赖,之前的版本不需要
      implementation 'com.sobot.chat:sobotsupport-glidev4:2.1'
}

【注意】由于glide v3版本和v4版本的接口完全不同,因此我们为了方便您的使用,采用了特殊的集成方式使sdk可以支持任 意版本的glide。正常情况下,您使用glide 时,直接添加glide依赖和ordersdk的依赖,sdk即 可正常使用。如果报错,那么把glide 升级到4.4.0版本以上即可。

在使用4.9.0以上版本的glide时,需额外升级依赖

implementation 'com.sobot.chat:sobotsupport-glidev4:2.1'

# 2.2 导入集成

下载链接:

普通版

Android_Order_SDK_1.0.0

androidX版

Android_Order_SDK_X_1.0.0

导入Module

解压下载的智齿Android_Order_SDK_XXX.zip文件,将 sobotordersdk 模块直接引入到您的项目中,然后 Build-->clean projecty一下,之后在build.gradle添加项目依赖

完成上述步骤之后build.gradle中如下所示:

dependencies {
      //sdk 在线客服
      implementation project(":sobotordersdk")
      implementation 'com.squareup.okhttp3:okhttp:4.4.0'
      implementation 'com.android.support:appcompat-v7:28.0.0'
      implementation 'com.android.support:recyclerview-v7:28.0.0'
      //目前支持常见的3种图片加载库,必须在下面的图片加载库中选择一个添加依赖
      //implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
      //implementation 'com.squareup.picasso:picasso:2.5.2'
      implementation 'com.github.bumptech.glide:glide:4.9.0'
      //在使用4.9.0以上版本的glide时,需额外添加依赖,之前的版本不需要
      implementation 'com.sobot.chat:sobotsupport-glidev4:2.1'
}

【注意】由于glide v3版本和v4版本的接口完全不同,因此我们为了方便您的使用,采用了特殊的集成方式使sdk可以支持任 意版本的glide。正常情况下,您使用glide 时,直接添加glide依赖和ordersdk的依赖,sdk即 可正常使用。如果报错,那么把glide 升级到4.4.0版本以上即可。

在使用4.9.0以上版本的glide时,需额外升级依赖

implementation 'com.sobot.chat:sobotsupport-glidev4:2.1'

# 3 功能说明

# 3.1 域名和初始化设置

域名说明:

*默认SaaS平台域名为:https://api.sobot.com

*如果您是腾讯云服务,请设置为:https://ten.sobot.com

*如果您是本地化部署,请使用自己的部署的服务域名

注意:启动智齿工单SDK之前,必须调用初始化接口initWithHost,否则将无法启动SDK】


    /**
     * 初始化方法,需要在宿主应用application.onCreate函数中调用
     *
     * @param host  可以为空,默认阿里云服务;如果需要,请设置自己的域名
     */
    SobotOrderApi.initWithHost(Application application, String host);

# 3.2 启动智齿页面

# 3.2.1 启动工单首页

方式1:直接使用我们提供的方法,自动完成登录并跳转页面。 接口:

/**
  * 通过邮箱密码方式启动工单系统,进入首页
  * @param context
  * @param loginPwd 客服邮箱
  * @param loginPwd 登录密码
  * @param block 回调结果 可为空
  */
SobotOrderApi.startWithAcount(Context context, String loginUser, String loginPwd, SobotResultBlock block)/**
  * 通过设置token方式启动工单系统,进入首页
  * @param context
  * @param loginToken 登录客服token
  * @param block 回调结果 可为空
  */
SobotOrderApi.startWithToken(final Context context, String loginToken, SobotResultBlock block)

方式2:通过嵌入fragment的方式,自己完成登录并跳转页面。需要先完成登录,然后再执行跳转。

第一步、先登录

//登录方式一

/**
 * 通过邮箱密码方式登录工单系统
 * @param context
 * @param loginPwd       客服邮箱
 * @param loginPwd       登录密码
 * @param isGoToActivity 是否进入工单中心界面 true 进入 false 只登录不进入
 * @param block 回调结果 可为空                       
 */
SobotOrderApi.loginUser(Context context, String loginUser, String loginPwd,false, SobotResultBlock block)//登录方式二

 /**
   * 通过设置token方式登录工单系统
   * @param context
   * @param loginToken     登录客服token
   * @param isGoToActivity 是否进入工单中心界面 true 进入 false 只登录不进入
   * @param block 回调结果 可为空
   */
SobotOrderApi.loginUser(Context context, String loginToken, false, SobotResultBlock block)

第二步、再进入fragment

参考代码

SobotWOclassificationFragment classificationFragment;


classificationFragment = (SobotWOclassificationFragment) getSupportFragmentManager()
                .findFragmentById(getResId("order_fragment"));
        if (classificationFragment == null) {
            classificationFragment = SobotWOclassificationFragment.newInstance();

            addFragmentToActivity(getSupportFragmentManager(),
                    classificationFragment, getResId("order_fragment"));
        }

# 3.2.2 启动工单详情

【注:执行次操作之前,需要保证已完成登录】

接口

/**
 * 进入工单详情页
 * 
 * @param context
 * @param orderId 工单id
 * @param block 回调结果 可为空
 */
SobotOrderApi.openOrderDetail(Context context, String orderId, SobotResultBlock block)

# 3.2.3 启动创建工单页面

【注:执行次操作之前,需要保证已完成登录】

接口

 /**
  * 打开创建工单页面
  *
  * @param context
  * @param param  可为空,也可添加参数 userName 用户昵称 userId 用户id
  * @param block 回调结果
  */
SobotOrderApi.openCreateWorkOrder(final Context context, Map<String, Object> param, SobotResultBlock block)

示例代码

Map<String, Object> param = new HashMap<>();
if (TextUtils.isEmpty(userid.getText().toString())){
      if(!TextUtils.isEmpty(nick.getText().toString())){
           SobotToastUtil.showCustomToast(getSobotActivity(),"如果输入昵称,但是用户id为空,对应客户是也是空的,无效的");
      }else{
        if(SobotStringUtils.isEmpty(nick.getText().toString())){
            SobotToastUtil.showCustomToast(getContext(),"用户昵称不能为空");
                 return;
           }
           param.put("userName", nick.getText().toString());
           param.put("userId", userid.getText().toString());
		   }
}
SobotOrderApi.openCreateWorkOrder(getSobotActivity(), param, null);

# 3.3 登录

//登录方式一

/**
 * 通过邮箱密码方式登录工单系统
 * @param context
 * @param loginPwd       客服邮箱
 * @param loginPwd       登录密码
 * @param isGoToActivity 是否进入工单中心界面 true 进入 false 只登录不进入
 * @param block 回调结果 可为空                       
 */
SobotOrderApi.loginUser(Context context, String loginUser, String loginPwd,false, SobotResultBlock block)//登录方式二

 /**
   * 通过设置token方式登录工单系统
   * @param context
   * @param loginToken     登录客服token
   * @param isGoToActivity 是否进入工单中心界面 true 进入 false 只登录不进入
   * @param block 回调结果 可为空
   */
SobotOrderApi.loginUser(Context context, String loginToken, false, SobotResultBlock block)

# 3.4 退出登录

 /**
  * 退出工单系统
  * @param context
  * @param loginUser 登录账号
  * @param block  回调结果 可为空
  */
SobotOrderApi.out(Context context, String loginUser, SobotResultBlock block) 

# 3.5 设置调试模式,开启日志

/**
 * 日志显示设置
 *
 * @param isShowLog true 显示日志信息 默认false不显示
 */
SobotOrderApi.setShowDebug(Boolean isShowLog)

# 4 自定义UI设置

# 4.1 ui样式通过同名资源替换

在客户app中colors.xml中添加同名颜色可覆盖智齿sdk中的颜色样式;也可通过在主项目中同一位置放一个同名的图片资源去替换智齿sdk界面中的图片;也可通过在主项目中同一位置放一个同名的文字资源去替换智齿sdk界面中的文字;

以下是常用的颜色配置,更多颜色、图片资源可到手动集成模块中下载源码包中去查找;

    <!--工单 主题色 默认绿色 -->
    <color name="sobot_wo_theme_color">#09AEB0</color>
    <!-- 头部背景 -->
    <color name="sobot_color_title_bar_bg">@color/sobot_wo_theme_color</color>
    <!-- 状态栏的颜色设置 -->
    <color name="sobot_status_bar_color">@color/sobot_color_title_bar_bg</color>
    <!-- 头部中间昵称颜色 -->
    <color name="sobot_color_title_bar_title">@color/sobot_wo_white_color</color>
    <!-- 头部两侧菜单字体颜色 -->
    <color name="sobot_color_title_bar_menu_text">@color/sobot_wo_white_color</color>
    <!-- 一级文字 颜色 -->
    <color name="sobot_wo_wenzi_gray1">#3D4966</color>
    <!-- 二级文字 颜色 -->
    <color name="sobot_wo_wenzi_gray2">#8B98AD</color>
    <!-- 三级文字 颜色 -->
    <color name="sobot_wo_wenzi_gray3">#BDC3D1</color>
    <!-- 四级文字 颜色 -->
    <color name="sobot_wo_wenzi_gray4">#CCCCCC</color>
    <!--界面 通用背景颜色 -->
    <color name="sobot_wo_bg_color">#EFF3FA</color>
    <!-- 二级背景色 -->
    <color name="sobot_wo_second_bg_color">#FFFFFF</color>
    <!-- 页面背景  三级颜色 -->
    <color name="sobot_wo_third_bg_color">#EFF3FA</color>
    <!-- 透明的背景色-->
    <color name="sobot_wo_app_bg_transparent">@color/sobot_wo_transparent</color>
    <!-- 搜索框背景颜色-->
    <color name="sobot_wo_search_bg_color">#F6F8FC</color>
    <!-- 超链接颜色-->
    <color name="sobot_wo_link">@color/sobot_wo_blue_color</color>

# 5 智齿SDK功能使用体验Demo

点击下载 Demo 源码

点击下载体验安装包

# 6 常见问题

常见问题解答:请点击链接 进入智能机器人输入您的问题

# 7 更新说明

《智齿客服工单SDK 版本更新说明》

# 8 智齿科技SDK收集使用个人信息说明

《智齿科技SDK收集使用个人信息说明》