本文主要介绍如何快速将腾讯云即时通信 IM SDK 集成到您的 Web、小程序、uni-app 项目中。
在您的项目中使用 npm 安装相应的 IM SDK 依赖。
// IM Web SDK
// 从v2.11.2起,SDK 支持了 WebSocket,推荐接入;v2.10.2及以下版本,使用 HTTP
npm install tim-js-sdk --save
// 发送图片、文件等消息需要腾讯云即时通信 IM 上传插件
npm install tim-upload-plugin --save
// 拦截或替换敏感词需要本地审核插件
npm install tim-profanity-filter-plugin --save
说明:若同步依赖过程中出现问题,请切换 npm 源后再次重试。
npm config set registry http://r.cnpmjs.org/
在项目脚本里引入模块。
// 从v2.11.2起,SDK 支持了 WebSocket,推荐接入;v2.10.2及以下版本,使用 HTTP
// v2.24.0起,SDK 支持使用本地审核插件
import TIM from 'tim-js-sdk';
import TIMUploadPlugin from 'tim-upload-plugin';
import TIMProfanityFilterPlugin from 'tim-profanity-filter-plugin';
let options = {
SDKAppID: 0 // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID
};
// 创建 SDK 实例,`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例
let tim = TIM.create(options); // SDK 实例通常用 tim 表示
// 设置 SDK 日志输出级别,详细分级请参见 setLogLevel https://web.sdk.qcloud.com/im/doc/en/SDK.html#setLogLevel 接口的说明
tim.setLogLevel(0); // 普通级别,日志量较多,接入时建议使用
// tim.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用
// 注册腾讯云即时通信 IM 上传插件
tim.registerPlugin({'tim-upload-plugin': TIMUploadPlugin});
// 注册腾讯云即时通信 IM 本地审核插件
tim.registerPlugin({'tim-profanity-filter-plugin': TIMProfanityFilterPlugin});
// 从v2.11.2起,SDK 支持了 WebSocket,推荐接入;v2.10.2及以下版本,使用 HTTP
npm install tim-wx-sdk --save
// 发送图片、文件等消息需要腾讯云 即时通信 IM 上传插件
npm install tim-upload-plugin --save
// 拦截或替换敏感词需要本地审核插件
npm install tim-profanity-filter-plugin --save
说明:若同步依赖过程中出现问题,请切换 npm 源后再次重试。
npm config set registry http://r.cnpmjs.org/
在项目脚本里引入模块,并初始化。
// 从v2.11.2起,SDK 支持了 WebSocket,推荐接入;v2.10.2及以下版本,使用 HTTP
// v2.24.0起,SDK 支持使用本地审核插件
import TIM from 'tim-wx-sdk';
import TIMUploadPlugin from 'tim-upload-plugin';
import TIMProfanityFilterPlugin from 'tim-profanity-filter-plugin';
let options = {
SDKAppID: 0 // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID
};
// 创建 SDK 实例,`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例
let tim = TIM.create(options); // SDK 实例通常用 tim 表示
// 设置 SDK 日志输出级别,详细分级请参见 setLogLevel https://web.sdk.qcloud.com/im/doc/en/SDK.html#setLogLevel 接口的说明
tim.setLogLevel(0); // 普通级别,日志量较多,接入时建议使用
// tim.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用
// 注册腾讯云即时通信 IM 上传插件
tim.registerPlugin({'tim-upload-plugin': TIMUploadPlugin});
// 注册腾讯云即时通信 IM 本地审核插件
tim.registerPlugin({'tim-profanity-filter-plugin': TIMProfanityFilterPlugin});
// v2.22.0 起支持 uni-app 打包 native app 时使用离线推送插件
// 请注意!应合规要求,在用户同意隐私协议的前提下,登录成功后 SDK 会通过推送插件获取推送 token,并将推送 token 传递至后台(若获取 token 失败则会导致离线推送无法正常使用)
const TUIOfflinePush = uni.requireNativePlugin("TencentCloud-TUIOfflinePush");
tim.registerPlugin({
'tim-offline-push-plugin': TUIOfflinePush,
'offlinePushConfig': {
// huawei
'huaweiBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
// xiaomi
'xiaomiBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
'xiaomiAppID': '', // 小米开放平台分配的应用 APPID
'xiaomiAppKey': '', // 小米开放平台分配的应用 APPKEY
// meizu
'meizuBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
'meizuAppID': '', // 魅族开放平台分配的应用 APPID
'meizuAppKey': '', // 魅族开放平台分配的应用 APPKEY
// vivo
'vivoBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
// oppo
'oppoBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
'oppoAppKey': '', // oppo 开放平台分配的应用 APPID
'oppoAppSecret': '', // oppo 开放平台分配的应用 Secret
// ios
'iosBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
}
});
在您的项目中使用 script 标签引入 SDK,并初始化。
<script src="./tim-js.js"></script>
<script src="./tim-upload-plugin.js"></script>
<script>
var options = {
SDKAppID: 0 // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID
};
// 创建 SDK 实例,`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例
var tim = TIM.create(options);
// 设置 SDK 日志输出级别,详细分级请参见 setLogLevel 接口的说明
tim.setLogLevel(0); // 普通级别,日志量较多,接入时建议使用
// tim.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用
// 注册腾讯云即时通信 IM 上传插件
tim.registerPlugin({'tim-upload-plugin': TIMUploadPlugin});
// 接下来可以通过 tim 进行事件绑定和构建 IM 应用
</script>
1. 是否有开源的 UI 组件可以复用或者二次开发?
腾讯云 IM 提供了各个平台的开源的 UIKit,供开发者复用和二次开发。请参考以下文档:
2. 小程序如果需要上线或者部署正式环境怎么办?
请在微信公众平台 > 开发 > 开发管理 > 开发设置 > 服务器域名中进行域名配置:
从v2.11.2起 SDK 支持了 WebSocket,WebSocket 版本须添加以下域名到 socket 合法域名:
域名 | 说明 | 是否必须 |
---|---|---|
wss://wss.im.qcloud.com |
Web IM 业务域名 | 必须 |
wss://wss.tim.qq.com |
Web IM 业务域名 | 必须 |
将以下域名添加到 request 合法域名:
域名 | 说明 | 是否必须 |
---|---|---|
https://web.sdk.qcloud.com |
Web IM 业务域名 | 必须 |
https://webim.tim.qq.com |
Web IM 业务域名 | 必须 |
https://api.im.qcloud.com |
Web IM 业务域名 | 必须 |
https://events.im.qcloud.com |
Web IM 业务域名 | 必须 |
v2.10.2及以下版本使用 HTTP,HTTP 版本须添加以下域名到 request 合法域名:
域名 | 说明 | 是否必须 |
---|---|---|
https://webim.tim.qq.com |
Web IM 业务域名 | 必须 |
https://yun.tim.qq.com |
Web IM 业务域名 | 必须 |
https://events.tim.qq.com |
Web IM 业务域名 | 必须 |
https://grouptalk.c2c.qq.com |
Web IM 业务域名 | 必须 |
https://pingtas.qq.com |
Web IM 统计域名 | 必须 |
将以下域名添加到 uploadFile 合法域名:
域名 | 说明 | 是否必须 |
---|---|---|
https://cos.ap-shanghai.myqcloud.com |
文件上传域名 | 必须 |
https://cos.ap-shanghai.tencentcos.cn |
文件上传域名 | 必须 |
https://cos.ap-guangzhou.myqcloud.com |
文件上传域名 | 必须 |
将以下域名添加到 downloadFile 合法域名:
域名 | 说明 | 是否必须 |
---|---|---|
https://cos.ap-shanghai.myqcloud.com |
文件下载域名 | 必须 |
https://cos.ap-shanghai.tencentcos.cn |
文件下载域名 | 必须 |
https://cos.ap-guangzhou.myqcloud.com |
文件下载域名 | 必须 |
本页内容是否解决了您的问题?