Android SDK
# Android 集成说明
智齿客服为企业提供了一整套完善的智能客服解决方案。智齿呼叫 SDK 为其提供所有呼叫相关功能支持,仅需提供使用的账户,就能完成呼叫任务、外呼、呼叫监听、呼叫记录等操作。
智齿呼叫 SDK 具有以下特性:
- 提供登录-使用-退出完整流程。
- 分 2 种登录模块,外部登录同步 token 和常规用户名、密码登录。
- 支持呼叫话机注册、呼叫记录查询、呼叫监听、坐席状态切换等基础功能。
相关限制及注意事项:
1、Android SDK 支持安卓系统 5.0 (API 21)以上版本,支持竖屏和横屏。
2、开发工具 Android Studio 建议升级到 3.0 以上版本。
3、Android SDK 需要麦克风危险权限,否则部分功能无法使用。
4、SDK 不可与智齿客服 APP 中的呼叫功能以及智齿 PC 工作台中呼叫功能同时使用。
# 文档介绍
# ● 集成流程示意图
# ● 文件说明
SDK 文件包含 SDK 源码包 (sobotcall) 、 Demo 源码 (sobot_call_sdk_demo) 、 Demo 安装包(sobot_call_sdk_demo.apk) 、和 Doc 相关说明文档。
文件 | 描述 |
---|---|
ZCSobotCallApi | 该文件提供接入功能 |
# 集成方式
# ● 依赖集成
// 普通版
api 'com.sobot.call:sobotcall:2.0.0'
// AndroidX 版
api 'com.sobot.call:sobotcall_x:2.0.0'
2
3
4
5
在 build.gradle 中如下所示:
dependencies {
implementation 'com.sobot.call:sobotcall:2.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'
//目前支持常见的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'
}
2
3
4
5
6
7
8
9
10
11
12
# ● 手动集成
普通版
下载链接:Android_Call_Sdk_2.0.0 (opens new window)
androidX 版
下载链接:Android_Call_Sdk_X_2.0.0 (opens new window)
导入 Module :
解压下载的智齿 Android_Call_Sdk_XXX.zip 文件,将 sobotcall 文件直接复制到您的项目中,然后 Build --> Clean Project 一下,之后在 build.gradle 中添加项目依赖。
完成上述步骤之后 build.gradle 中如下所示:
dependencies {
implementation project(":sobotcall")
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'
}
2
3
4
5
6
7
8
9
10
11
12
混淆相关:
参照混淆文件(Android_Call_Sdk_x.x.x\sobot_call_sdk_demo\app\proguard-rules.pro)中的混淆配置添加混淆规则。
-dontwarn org.linphone.**
-keep class org.linphone.**{*;}
-dontwarn com.sobot.callsdk.**
-keep class com.sobot.callsdk.**{*;}
2
3
4
# 功能说明
# ● 初始化和域名
【注意:启动智齿呼叫 SDK 之前,需要调用初始化方法,否则将无法启动 SDK。】
初始化方法为本地执行,不会有异步请求。
/**
* 初始化SDK
*
* @param application
*/
ZCSobotCallApi.init(Application application);
2
3
4
5
6
- 如果您是腾讯云账号,请设置域名为:https://www.soboten.com。代码如下:
ZCSobotCallApi.initWithHost(Application application, "https://www.soboten.com");
- 如果您是本地化部署,请使用自己的部署的服务域名。
/**
* 初始化SDK,设置域名
*
* @param application
* @param openApiHost 公共接口域名 可以为空,默认阿里云服务;如果需要,请设置自己的域名
* @param callApiHost 呼叫接口域名 可以为空,默认阿里云服务;如果需要,请设置自己的域名
* @param stompSocketUri 监听呼叫消息uri 可以为空,默认阿里云服务;如果需要,请设置自己的地址
*/
ZCSobotCallApi.initWithHost(Application application, String openApiHost, String callApiHost, String stompSocketUri);
2
3
4
5
6
7
8
9
# ● 启动智齿页面
# 1. 启动呼叫首页
方式1:通过邮箱密码方式启动呼叫系统,自动完成登录并跳转页面。 方法:
/**
* 通过邮箱密码方式启动呼叫系统,进入首页
*
* @param context
* @param loginPwd 客服邮箱
* @param loginPwd 登录密码
*/
ZCSobotCallApi.startWithAcount(Context context, String loginUser, String loginPwd, SobotResultBlock block) ;
2
3
4
5
6
7
8
方式2:如有特殊需求,SDK 还提供了以 Fragment 嵌入的方式集成会话界面,开发者可以更灵活的使用 SDK。需要先完成登录,然后再执行跳转。
示例代码如下(也可参考 SobotCallActivity 中 Fragment 的实现)。
SobotCallFragment callFragment =(SobotCallFragment)getSupportFragmentManager().findFragmentById(getResId("sobot_call_contentFrame"));
if (callFragment == null) {
callFragment = SobotCallFragment.newInstance(SobotCallConstant.STARTUP_MODE_ACTIVITY);
ddFragmentToActivity(getSupportFragmentManager(),callFragment, getResId("sobot_call_contentFrame"));
}
public void addFragmentToActivity(FragmentManager fragmentManager, Fragment fragment, int frameId) {
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(frameId, fragment);
transaction.commit();
}
2
3
4
5
6
7
8
9
10
11
# ● 登录
/**
* 通过邮箱密码方式登录呼叫SDK
*
* @param context
* @param loginPwd 客服邮箱
* @param loginPwd 登录密码
* @param block 回调结果 可为空
*/
ZCSobotCallApi.loginUser(Context context, String loginUser, String loginPwd, SobotResultBlock block);
/**
* 通过设置token方式登录呼叫系统
*
* @param context
* @param loginToken 登录客服token
* @param isGoToActivity 是否跳转到呼叫中心页面 true 跳转,false 不跳转
* @param block 回调结果 可为空
*/
ZCSobotCallApi.loginUser(Context context, String loginToken, boolean isGoToActivity, SobotResultBlock block);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# ● 退出登录
/**
* 退出系统
* @param context
* @param loginUser 登录账号
* @param block 回调结果 可为空
*/
ZCSobotCallApi.out(Context context, String loginUser, SobotResultBlock block);
2
3
4
5
6
7
# ● 设置调试模式
/**
* 是否显示智齿日志,日志过滤标识:sobot_log
*
* @param isShow true 显示;false 不显示,默认不显示
*/
ZCSobotCallApi.setShowLogDebug(boolean isShow);
2
3
4
5
6
# ● 监听通话状态的变化
/**
* 监听通话状态的变化
* 监听状态: 用户来电、用户响铃中、通话中、通话结束
*/
ZCSobotCallApi.setVoipCallListener(SobotVoipCallListener voipCallListener);
2
3
4
5
# 资源配置
# ● UI 资源替换
在客户 APP 中 colors.xml 中添加同名颜色可覆盖智齿 SDK 中的颜色样式;也可通过在主项目中同一位置放一个同名的图片资源去替换智齿 SDK 界面中的图片;也可通过在主项目中同一位置放一个同名的文字资源去替换智齿 SDK 界面中的文字。
以下是常用的颜色配置,更多颜色、图片资源可到手动集成模块中下载源码包中去查找。
<!-- 主题色 默认绿色 -->
<color name="sobot_call_theme_color">#09AEB0</color>
<!--页面 通用背景颜色 -->
<color name="sobot_call_bg_color">#EFF3FA</color>
<!--页面 二级背景色 -->
<color name="sobot_call_second_bg_color">#FFFFFF</color>
<!--页面 三级颜色 -->
<color name="sobot_call_third_bg_color">#EFF3FA</color>
<!-- 一级文字 颜色 -->
<color name="sobot_call_wenzi_gray1">#3D4966</color>
<!-- 二级文字 颜色 -->
<color name="sobot_call_wenzi_gray2">#8B98AD</color>
<!-- 三级文字 颜色 -->
<color name="sobot_call_wenzi_gray3">#BDC3D1</color>
<!-- 四级文字 颜色 提示性文本:时间,输入提示 -->
<color name="sobot_call_wenzi_gray4">#CCCCCC</color>
<!-- 线 -->
<color name="sobot_call_line_color">#E6E6E6</color>
<!-- 头部背景 -->
<color name="sobot_color_title_bar_bg">@color/sobot_call_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_call_white_color</color>
<!-- 头部两侧菜单字体颜色 -->
<color name="sobot_color_title_bar_menu_text">@color/sobot_call_white_color</color>
<!-- 控件布局按压背景颜色-->
<color name="sobot_call_item_pressed">@color/sobot_call_line_color</color>
<!-- 弹窗页面 头部背景颜色 -->
<color name="sobot_call_pop_header_bg_color">#EFF3FA</color>
<!-- 弹窗页面 头部 文字颜色 -->
<color name="sobot_call_pop_header_weizi_color">@color/sobot_call_wenzi_gray1</color>
<!--通话界面 背景色-->
<color name="sobot_call_activity_bg">#FFFFFF</color>
<!--拨号界面 电话号 区域 背景色-->
<color name="sobot_phone_numbe_bg">@color/sobot_call_bg_color</color>
<!--拨号界面 电话号 区域 文字 黑色-->
<color name="sobot_phone_numbe_wenzi_gray">@color/sobot_common_gray1</color>
<!--拨号界面 键盘 背景色-->
<color name="sobot_phone_keyword_bg">#FFFFFF</color>
<!--拨号界面 键盘 文字颜色1 黑色-->
<color name="sobot_phone_keyword_wenzi_gray1">@color/sobot_common_gray1</color>
<!--拨号界面 键盘 文字颜色2 黑色-->
<color name="sobot_phone_keyword_wenzi_gray2">@color/sobot_common_gray2</color>
<!--呼叫中心任务 黄色 未开始-->
<color name="sobot_call_yellow_color">#EEB049</color>
<!--呼叫中心任务 绿色 执行中-->
<color name="sobot_call_green_color">#21CFA6</color>
<!--呼叫中心任务 灰色 已过期-->
<color name="sobot_call_grey_color">#CFCFCF</color>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 智齿呼叫 SDK 功能使用体验 Demo
点击下载 Demo 源码 (opens new window);
# 常见问题
1.token 怎么获取?
通过智齿登录接口获取登录 token,注意此处 token 为开发模块获取的 token,非新版 v6 版本 accessToken,如果无法获取请使用用户名、密码完成登录,体验效果完全一样,请放心使用。
2.无法正常登录?
登录之前请确认是否执行初始化操作,初始化操作为本地赋值;不会有异步请求,主要会设置域名及基础配置信息。
# 更新说明
<<SDK 版本更新说明>> (opens new window)