本文主要介绍如何快速地将腾讯云 TCCC uni-app SDK 集成到您的项目中。
开发环境要求
建议使用最新的 HBuilderX 编辑器 。
iOS 9.0 或以上版本且支持音频的 iOS 设备。
Android 版本不低于 4.1 且支持音频的 Android 设备,暂不支持模拟器。并请开启允许调试选项。
iOS/Android 设备已经连接到 Internet。
接入前提
关键概念
1. SdkAppId:是用户在 腾讯云联络中心控制台 上创建的应用 ID,称之为 SdkAppId,一个腾讯云账号最多可以创建20个腾讯联络中心应用,通常为140开头。
2. UserID :座席或管理员在腾讯云联络中心内配置的账号,通常为邮箱格式,首次创建应用,主账号可前往 站内信(子账号需订阅云联络中心产品消息) 查看联络中心管理员账号和密码。一个 SDKAppID 下可以配置多个 UserID,如果超出配置数量限制,需到 座席购买页 购买更多座席数量。
3. SecretId 和 SecretKey:开发者调用云 API 所需凭证,通过 腾讯云控制台 创建。
4. token: 登录票据,需要调用云API接口 CreateSDKLoginToken 来获取。正确的做法是将 Token 的计算代码和加密密钥放在您的业务服务器上,然后由 App 按需向您的服务器获取实时算出的 Token。
集成 SDK
1. 通过 npm 方式将 TCCC SDK 集成到您 uni-app 项目中。
npm i tccc-sdk-uniapp
2. 购买 uni-app SDK 插件:登录 uni 原生插件市场,在插件详情页中购买(免费插件也可以在插件市场 0 元购)。购买后才能够云端打包使用插件。购买插件时请选择正确的 appid,以及绑定正确包名。

3. 配置权限:编辑 manifest.json 文件,配置麦克风权限,具体如下:
iOS 需要以下权限:Privacy - Microphone Usage Description,并填入麦克风使用目的提示语。


Android 需要以下权限:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.READ_PHONE_STATE" />
4. 配置音频后台运行:手机应用程序在切换到后台时,操作系统会暂停应用程序的进程以节省资源。这意味着应用程序的所有活动都将被停止,包括播放音频。而ios下需要配置 audio background mode 才可以保证有音频影响的时候程序不会终止。


注意:
不配置该权限,通话中切后台的时候会自动中断。
5. 使用自定义基座打包运行(不要选择标准基座运行) ,并且请使用真机运行自定义基座。


注意:
代码实现
1. 创建 TCCCWorkstation 实例
import {TcccWorkstation,TcccErrorCode} from "tccc-sdk-uniapp";const tcccSDK = TcccWorkstation.sharedInstance();// 监听错误事件tcccSDK.on("onError",(errCode,errMsg) => {});
2. 登录。
const type = TCCCLoginType.Agent;// 其中sdkAppId、userId、token的获取参考关键概念对应的字段。// 坐席登录tcccSDK.login({sdkAppID: 1400000000, // 请替换为自己的SdkAppIduserId: "xxx@qq.com", // 替换为座席账号token: "xxxx", // 请替换为用调用云API接口 CreateSDKLoginToken 获取的tokentype: type,},(code,message) => {if (code == TcccErrorCode.ERR_NONE) {// 登录成功} else {// 登录失败}});
注意:
3. 发起呼叫。
// 发起呼叫tcccSDK.call({to: '134xxxx', // 被叫号码(必填)remark: "xxx", // 号码备注,在通话条中会替代号码显示(可选)uui: "xxxx", // 户自定义数据(可选)}, (code,message) => {if (code == TcccErrorCode.ERR_NONE) {// 发起成功} else {// 发起失败}});
4. 处理对端接听回调。
tcccSDK.on('onAccepted',(sessionId) => {// 对端已接听});
5. 主动挂断电话
// 结束通话tcccSDK.terminate();