# Android集成文档

相关限制及注意事项

1、Android SDK 新版支持 api21 以上版本,支持竖屏和横屏。

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

3、Android SDK 需要麦克风危险权限,否则部分功能无法使用

4、SDK 不可与智齿app中的呼叫功能以及智齿PC工作台中呼叫功能同时使用

智齿呼叫SDK具有以下特性

  • 语音电话:键盘拨号、发起语音通话;
  • 高度自定义UI;

# 1 文档介绍

# 1.1 集成流程示意图

图片

# 1.2 文件说明

SDK包含sobotcall代码库sobot_call_sdk_demo集成demo、和Doc相关说明文档。

文件名 说明
ZCSobotCallApi 该文件提供接入功能
SobotCallInfo 启动配置信息参数

# 2 集成方式

# 2.1 依赖集成

    //普通版
    api 'com.sobot.call:sobotcall:1.0'

    //androidX版
    api 'com.sobot.call:sobotcall_x:1.0'

在build.gradle中如下所示:

dependencies {
      api 'com.sobot.call:sobotcall:1.0'
      implementation 'com.squareup.okhttp3:okhttp:4.4.0'
      implementation 'com.android.support:appcompat-v7:28.0.0'
}

# 2.2 手动集成

//普通版

下载链接:Android_Call_Sdk_1.0

//androidX 版

下载链接:Android_Call_Sdk_X_1.0

导入Module

解压下载的智齿Android_Call_Sdk_XXX.zip文件,将 sobotcall 文件直接复制到您的项目中,

然后 Build-->clean projecty一下,之后在build.gradle添加项目依赖

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

dependencies {
      // 呼叫 sdk 
      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 模块功能说明

# 3.1 域名设置

域名说明:

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

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

    /**
     * 域名设置
     *
     * @param host  域名地址
     */
    SobotCallBaseUrl.setApi_Host("your host");

# 3.2 初始化

    /**
     * 初始化
     *
     * @param application  
     */
     ZCSobotCallApi.init(your application);

# 3.3 话机登录

【说明:语音电话的启动配置信息 请联系智齿售后人员获取。】

方式一:普通方式启动

    /**
     * 登录
     *
     * @param activity
     * @param callInfo          语音电话的启动配置信息,不可为空
     * @param callLoginListener 登录结果回调
     * @return
     */
    ZCSobotCallApi.login(Activity activity, SobotCallInfo callInfo, SobotCallLoginListener callLoginListener)

方式二:直接以token方式启动

   /**
     * 通过token登录
     *
     * @param activity
     * @param callInfo          语音电话的启动配置信息,不可为空
     * @param callLoginListener 登录结果回调
     */
    ZCSobotCallApi.loginWihtToken(Activity activity, String access_token, SobotCallInfo
            callInfo, SobotCallLoginListener callLoginListener)

语音电话的启动配置信息

    SobotCallInfo info = new SobotCallInfo();
    info.setClient_secret("f6943eb4fbf144e2949d7538ee2cc665");
    info.setAppid("a4b246c8b67e4543b3b870ce62f75546");
    info.setAgent_phone_num("18600978969");
    info.setAgentid("969a7ee9fd4c42f48171b0128df2f16c");
    info.setAgent_state("1");
    info.setCompanyid("1eae128b7e394aedafd28828bfa84767");
    info.setDisplay_number("01051393569");
    info.setGroupid("36b0f8eb2de948d99e89c8f0c3d92e68_5");
    info.setSip_number("142160000");
    info.setSip_pwd("xjw2nz2a");

# 3.4 话机下线退出

   /**
     * 通过token登录
     *
     * @param activity
     * @param callInfo          语音电话的启动配置信息,不可为空
     * @param callLoginListener 登录结果回调
     */
    ZCSobotCallApi.loginWihtToken(Activity activity, String access_token, SobotCallInfo
            callInfo, SobotCallLoginListener callLoginListener)

# 3.5 跳转到拨号界面

  /**
     * 跳转到拨号界面
     *
     * @param context
     * @param callInfo        语音电话的启动配置信息,不可为空
     * @param userPhoneNumber 用户的电话号,可为空,有值的话会自动带入到拨号界面
     * @param userNike        用户的昵称,可为空,有值的话会自动带入到拨号界面
     */
    ZCSobotCallApi.openCallPhoneNumber(Context context, SobotCallInfo callInfo, String userPhoneNumber, String userNike);

# 3.6 直接发起通话

 /**
     * 直接发起通话
     *
     * @param activity
     * @param callInfo    语音电话的启动配置信息,不可为空
     * @param phoneNumber 用户的电话号,不可为空
     */
    ZCSobotCallApi.startCall(Activity activity, SobotCallInfo callInfo, String phoneNumber)

# 3.7 监听通话状态的变化

   /**
     * 监听通话状态的变化
     * 监听状态: 用户来电、用户响铃中、通话中、通话结束
     */
     ZCSobotCallApi.setCallListener(SobotVoipCallListener voipCallListener)

# 4 资源配置

# 4.1 UI资源替换

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

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

    <!-- 状态栏的颜色设置 -->
    <color name="sobot_status_bar_color">#FFFFFF</color>
    <!-- 头部背景 -->
    <color name="sobot_color_title_bar_bg">#FFFFFF</color>
   
    <!--通话界面 文字颜色 白色-->
    <color name="sobot_call_wenzi_white">#FFFFFF</color>
    <!--通话界面 背景色-->
    <color name="sobot_call_bg">#353535</color>

    <!--拨号界面 电话号 区域 背景色-->
    <color name="sobot_phone_numbe_bg">#FFFFFF</color>
    <!--拨号界面 电话号 区域 文字 黑色-->
    <color name="sobot_phone_numbe_wenzi_gray">@color/sobot_common_gray1</color>
    <!--拨号界面 键盘 背景色-->
    <color name="sobot_phone_keyword_bg">#F9FAFC</color>
    <!--拨号界面 键盘 文字颜色1 黑色-->
    <color name="sobot_phone_keyword_wenzi_gray1">#3D4966</color>
    <!--拨号界面 键盘 文字颜色2 黑色-->
    <color name="sobot_phone_keyword_wenzi_gray2">#858585</color>

# 5 SobotCallInfo 启动参数配置说明

字段名称 说明
appid 应用id
client_secret 秘钥,即创建app时返回的token值
companyid 企业ID
access_token 登录token
groupid 技能组id
agent_state 坐席状态
agentid 坐席ID
sip_address sip话机使用地址
sip_number sip账号(手机号或voip账号)
sip_pwd sip密码
display_number 坐席手机登录时,回呼坐席手机的外显号码,以及坐席转接或咨询第三方时,呼叫第三方号码的外显号码
agent_phone_num 特殊时使用,此字段代表voip账号上班,但呼入时是转到坐席的指定的手机号,只有呼出时才使用voip账号呼出

# 6 智齿呼叫SDK功能使用体验Demo

点击下载 Demo 源码;

点击下载体验安装包;

点击查看Demo使用教程

# 7 更新说明

<<智齿呼叫安卓SDK更新说明>>

# 8 智齿呼叫App权限列表

获取权限 获取权限的目的
访问网络 访问网络连接,可能产生GPRS流量
获取网络状态 获取网络信息状态,如当前的网络连接是否有效
获取WiFi状态 获取当前WiFi接入的状态以及WLAN热点的信息
录音 录制声音通过手机或耳机的麦克
修改声音设置 修改声音设置信息
使用振动 允许振动
唤醒锁定 允许程序在手机屏幕关闭后后台进程仍然运行
前台服务 允许程序在手机屏幕关闭后后台进程仍然运行