npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

tccc-sdk-uniapp

v1.12.13

Published

Tccc Agent SDK for uniapp

Downloads

4

Readme

快速集成腾讯云联络中心TCCC uni-app SDK

本文主要介绍如何快速地将腾讯云 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
  1. 购买 uni-app SDK 插件

    登录 uni 原生插件市场,在插件详情页中购买(免费插件也可以在插件市场 0 元购)。购买后才能够云端打包使用插件。购买插件时请选择正确的 appid,以及绑定正确包名

  2. 配置权限

    编辑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" />
  3. 配置音频后台运行

    手机应用程序在切换到后台时,操作系统会暂停应用程序的进程以节省资源。这意味着应用程序的所有活动都将被停止,包括播放音频。而ios下需要配置audio background mode才可以保证有音频影响的时候程序不会终止。

! 不配置该权限,通话中切后台的时候会自动中断。

  1. 使用自定义基座打包 uni 原生插件(请使用真机运行自定义基座)

! 什么是自定义调试基座及使用说明,请参见官方教程

代码实现

具体编码实现可参考 API 概览以及示例

  1. 创建 TCCCWorkstation 实例
import {TcccWorkstation,TcccErrorCode} from "tccc-sdk-uniapp";
const tcccSDK = TcccWorkstation.sharedInstance();
// 监听错误事件
tcccSDK.on("onError",(errCode,errMsg) => {

});
  1. 登录
const type = TCCCLoginType.Agent;
// 其中sdkAppId、userId、token的获取参考关键概念对应的字段。
// 坐席登录
tcccSDK.login({
	sdkAppID: 1400000000,	//  请替换为自己的SdkAppId
	userId: "[email protected]", // 替换为座席账号
	token: "xxxx", // 请替换为用调用云API接口 CreateSDKLoginToken 获取的token
	type: type,
},(code,message) => {
	if (code == TcccErrorCode.ERR_NONE) {
		// 登录成功
	} else {
		// 登录失败
	}
});

! token的获取需要后台开发进行,需要调用云API接口CreateSDKLoginToken来获取。

  1. 发起呼叫
// 发起呼叫
tcccSDK.call({
	to: '134xxxx',			  // 被叫号码(必填)
	remark: "xxx", 			  // 号码备注,在通话条中会替代号码显示(可选)
	uui: "xxxx", 				  // 户自定义数据(可选)
}, (code,message) => {
	if (code == TcccErrorCode.ERR_NONE) {
		// 发起成功
	} else {
		// 发起失败
	}
});
  1. 处理对端接听回调
tcccSDK.on('onAccepted',(sessionId) => {
    //  对端已接听
});
  1. 主动挂断电话
// 结束通话
tcccSDK.terminate();

常见问题

如何查看 TCCC 日志?

TCCC 的日志默认压缩加密,后缀为 .log。

  • Android:
    • 日志路径:/sdcard/Android/data/包名/files/tccc
  • Ios:
    • 日志路径:在sandbox/Documents 目录下的tccc文件夹

TCCC SDK 在Android能不能支持X86模拟器?

TCCC 目前版本暂时不支持,未来会支持模拟器。如果需要在模拟器运行,建议在ios下的x86模拟器上运行调试。

TCCC SDK 在Ios能不能支持armv7的CPU类型?

因在iPhone 5c以下才有该类型的CPU,目前基本上已经无人使用了。所以我们不适配该类型的CPU,并且在云打包ios的时候需要修改配置manifest.json文件

"validArchitectures": [
	"arm64"
],

ios下手机切后台通话中断

因手机应用程序在切换到后台时,操作系统会暂停应用程序的进程以节省资源。可以在 ios下需要配置audio background mode才可以保证有音频影响的时候程序不会终止。

![](https://tccc.qcloud.com/assets/doc/Agent/uniapp_images/ios_model.png)

手机下能不能处理呼入

如果手机在前台运行的时候有新会话将会收到onNewSession回调,但是我们不建议你在手机上处理呼入(APP在切换到后台时会暂停程序),建议你开通手机接听功能。

发起呼叫报 408或者503错误

这种情况一般出现在应用程序切后台重新唤醒后,网络状态还未完全恢复。我们强烈建议你在发起呼叫或者是程序onShow的时候调用接口判断是否是已登录。

import {TcccWorkstation,TcccErrorCode} from "tccc-sdk-uniapp";
// 手机应用程序在切换到后台时,操作系统会暂停应用程序的进程以节省资源。我们建议你在onShow的时候做一个登录状态检查
onShow() {
	const tcccSDK = TcccWorkstation.sharedInstance();
	tcccSDK.checkLogin((code,message) => {
		if (code != TcccErrorCode.ERR_NONE) {
			// 未登录,或者网络连接异常。请重新登陆。
		} else {
			// 已登录
		}
	});
}

其他